Служба Event Log обеспечивает общий аудит ОС Windows NT и Windows 2000. SQL Server поддерживает аудит идентификаторов и событий системы безопасности. Успех или неудача аутентификации того или иного пользователя - это серверный параметр, который разрешается сконфигурировать на bkладке Security диалогового окна SQL Server Properties (Configure) в Enterprise Manager (рис. 13-2).
Шифрование данных ограничивает доступ к информации путем хранения ее в формате, трудно поддающемся расшифровке. Программы расшифровывают данные с помощью дешифрующего алгоритма и ключа. В SQL Server 2000 имеется алгоритм для расшифровки и анализа зашифрованных объектов БД. Пароли и зашифрованные объекты в SQL Server не разрешено просматривать ни одному пользователю БД (в том числе членам фиксированной серверной роли SysAdmin). SQL Server 2000 автоматически шифрует пароли, ассоциированные с идентификаторами. При желании можно зашифровать текст хранимых процедур, пользовательских функций, представлений и триггеров, воспользовавшись при создании этих объектов БД конструкцией WITH ENCRYPTION.
Обращающееся к БД приложение вызывает системную хранимую процедуру sp_setapprole, чтобы активировать прикладную роль. Кроме того, в приложении иногда реализована собственная система безопасности, неподконтрольная БД. Для изоляции приложений от деталей механизма доступа к данным применяются API доступа к данным, поддерживаемые SQL Server, например ADO, OLE DB и ODBC. Приложения должны обеспечивать безопасность при обращении к данным SQL Server. Например, в Internet Explorer предусмотрена зашита от действий опасных сценариев.
Теперь, когда вы имеете представление об архитектуре системы безопасности БД, мы расскажем о планировании системы безопасности. Чтобы создать план системы безопасности, необходимо определить требования к системе безопасности на основе списка системных требований, представить эти правила в виде набора пользовательских действий и создать список соответствий «пользователь - действие». Основное внимание в этом занятии уделяется системе безопасности SQL Server, занимающей пятый уровень модели безопасности. Сетевые и системные администраторы отвечают за реализацию первых четырех уровней системы безопасности БД, администраторы и разработчики БД отвечают за пятый уровень, а разработчики приложений - за шестой. Специалисты по безопасности, как правило, наблюдают за проектированием всей системы безопасности. В этом занятии рассказано, как создать план системы безопасности БД и как архитектура системы безопасности связана с разработкой эффективного плана.
В главе 3 уже говорилось, что в плане системы безопасности определяется круг пользователей БД, доступные пользователям объекты и действия, которые им разрешено выполнять в БД. Эта информации определяется на основе требований к системе безопасности, которые можно вывести из систеных требований. Однако часть требований к системе безопасности не следует из системных требований напрямую. В частности, в системных требованиях иногда не описаны действия по администрированию системы безопасности, например аудит исполнения хранимых процедур или резервное копирование БД. После составления списка объектов БД, нуждающихся в защите, и действий, доступных не всем пользователям БД. следует создать список уникальных пользователей, их классов и групп, имеющих доступ к БД. На основе этой информации готовят список соответствий «действие — пользователь» в виде таблицы с перекрестными ссылками на элементы списков отдельных действий и пользователей. Этот список определяет, каким пользователям доступны защищенные объекты, а также какие защищенные действия пользователи могут выполнять в БД.
Существует множество способов реализации системы безопасности в SQL Server. От разработчика требуется обеспечить максимальную эффективность при реализации системы безопасности, но не за счет снижения уровня безопасности. Например, если 100 пользователям требуется одинаковый уровень доступа к БД, рациональнее всего использовать группы и роли, а не конфигурировать систему безопасности для каждого пользователя в отдельности. Оба способа дают одинаковые результаты, но группы и роли легче сопровождать, кроме того, этот способ быстрее осуществить. Вложенные роли, цепочки владения и предопределенные роли позволяют сконструировать рациональный план системы безопасности.