|
Программирование >> Реализация баз данных
Занятие 1 Обзо зопасиооти SQL Server 2000 387 Примечание Список предопределенных серверных ролей приводится в разделе Adding a Member to a Predefined Role в SQL Server Books Online. Все пользователи, группы и роли автоматически являются членами рол hlic. Эта специальная роль похожа на атециальнуго группу Everyone в Windows NT и Windows 2000. Добавлять или удалять членов этой роли, как и саму роль, нельзя. Роль Public есть в каждой БД, где по умолчанию для нее назначен ряд разрешений. Для защиты БД можно отобрать эти разрешения у роли Public, Если группы Windows не соответствуют административным потребностям, можно создать стандартные роли на уровне базы данных. Иногда приложению и пользователю требуются разные ения, В этом случае непрактично конфигурировать безопасность приложения с помошью разрешений SQL Server. В SQL Server предусмотрены прикладные роли (application roles), обеспечивающие поддержку разрешений только для приложения. Прикладные роли не содержат членов и должны передавать пароль, Эти особые роли разработаны для управления привилегиями пользователей, обращающихся к БД через некоторое приложение. Прикладным ролям назначаются разрешения на уровне базы данных. После проверки пользователя прикладная роль активируется с помощью системной хранимой процедуры которая позволяет зашифровать пароль прикладной роли перед передачей его на сервер. Когда активна прикладная роль, пользователь теряет все свои разрешения до конца сеанса работы приложения. Если приложение должно обратиться к другой БД в период активности прикладной роли, оно сможет получить для этой БД лишь те разрешения, которые назначены учетному имени guest. Состояния разрешения Разрещение может быть предоставлено (Grant), снято (Revolic) или в нем может быть от-(Deny). При предоставлении разрешения пользователю, или роли (любому учетному имени) командой Grant разрешение назначается явно. При снятии разрешения с учетного имени (командой Revoke) последнее теряет разрешение. Нако- нец, при отказе в предоставлении разрешения (с помощью команды Deny) на получение разрешения налагается явный запрет. Пользовательские разрешения представляют собой сумму всех разрешений, назначенные мственно этому пользователю или его группе. Сначала SQL Server обрабатывает состояние Deny, которое отнимает разрешение - независимо от способа его получения. Поэтому, если пользователь наследует это состояние или получает его явно, оно исключает все другие разрешения. Допустим, пользователю дано разрешение на исполнение оператора SELECT для таблицы Этот пользователь является членом группы разрешением на исполнение оператора INSERT для той же самой В результате учетное имя этого пользователя получает права на исполнение операторов SELECT и INSERT для Tabled. Однако если группа GroupOI является членом роли RoleO 1, у которой разрещения SELECT и INSERT находятся в состоянии Deny, пользователь не сможет ни извлечь данные из таблицы TableOl, ни добавить в нее данные. Разрешения на работу с объектами и выполнение SQL-выражений В SQL Server предусмотрены разрешения трех типов: разрешения на работу с объектами (object permissions), разрешения на выполнение SQL-операторов (statement permissions) и предполагаемые разрешения (implied permissions). Разрешения на работу с объектами относятся к объектам БД и могут различаться для разных объектов. Например, для хранимой процедуры допустимо назначить разрешение а для - SELECT. Раз- решения на выполнение SQL-операторов применяются к операторам Transact-SQL CREATE и BACKUP, исполняемым в БД. Например, разрешение CREATE TABLE дает пользо- 14-2061
Предполагаемые разрешения назначаются ельцаы объектов, фиксированным ролям на уровне сервера и баз данных; их нельзя отобрать. Некоторые предполагаемые разрешения на выполнение SQL-операторов можно получить только через членство в фиксированной серверной роли. Например, чтобы иметь право на исполнение оператора SHUTDOWN, пользователь должен быть членом фиксированной серверной роли Sen-erAdmin. Аудит Служба Event Lo чивает общи iii f ОС Windows NT и Windows 2000. SQL Server поддерживает аудит идентификаторов и событий системы безопасности. Успех или неудача аутентификации того или иного пользователя - это серверный параметр, который разрешается сконфигурировать на вк.падке Security диалогового окна SQL Server Properties (Configure) в Еп1ефП!,е Manager (рис. 13-2). Чтобы задействовать аудит, следует настроить его с помошью SQL Profiler. События системы безопасности регистрируются в файле или в таблице БД. Необходимо указать подлежащие аудиту события, столбцы для трассировки и свойства для хранения трассировочного файла или таблицы. После вьиюлнепп;! трассировки событий системы оезопасносги с SQL Profiler, файл трассировки открывают в нем же или выполняют запрос к трассировочной таблице. О классах событий и матрице столбцов данных для событий системы безопасности рассказано в разделе ...SLcmk; Audit Event Caitgory- SQL Server Books Online. Шифрование объектов Шифрование данные чивает доступ к информации путем хранения ее в формате, трудно поддающемся расшифровке. Программы расшифровывают данные с помощью дешифрующего алгоритма и ключа. В SQL Server 2000 имеется алгоритм для расшифровки и анализа зашифрованных объектов БД. Пароли и зашифрованные объекты в SQL Server не разрешено просматривать ни одному пользователю БД (в том числе членам фиксированной серверной роли SysAdmin). SQL Server 2000 автоматически шифрует пароли, ассоци- ватели жностъ создавать ЩЫ в БД. Далее перечислены разрешения на работу с объектами и выполнение SQL-onep;.iTopOB для различных объектов БД. ированные с идентификаторами. При желании можно зашифровать текст хранимых процедур, пользовательских функций, представлений и воспользовавшись при создании этих объектов БД конструкцией WITH ENCRYPTION. Безопасность приложений Обращающееся к БД приложение вызывает системную хранимую процедуру чтобы активировать прикладную роль. Кроме того, в приложении иногда реализована собственная система безопасности, неподконтрольная БД. Для изоляции приложений от деталей механизма доступа к данным применяются доступа к данным, поддерживаемые SQL Server, например ADO, OLE DB и ODBC. Приложения должны обеспечивать безопасность при обращении к данным SQL Server. Например, в Internet Explorer предусмотрена зашита от действий опасных сценариев. Резюме Систему безопасности баз данных можно представить в виде шестиуровневой Первый уровень - физическая безопасность. Жизненно важные серверы, в том числе и тот, на котором работает SQL Server 2000, а также критическое сетевое оборудование, в частности сетевые магистрали, должны размещаться в месте. Второй уровень - безопасность сетевого протокола. Сетевой протокол предоставляет функции шифрования, взаимной аутентификации, мультипрогокольнои поддержки и применение брандмауэров для повышения безопасности БД. Третий уровень представлен доменной безопасностью. Система безопасности SQL Server интегрирована с системой доменной безопасности Microsoft и использует ее для защиты данных сервера. В SQL Server доменным учетным записям и группам назначаются привилегии для безопасного подключения к серверу и получения доступа к БД. Четвертый уровень - безопасность локального компьютера. ОС локального компьютера поддерживает аудит, защиту .пов и реестра, а также службы шифрования файлов. Пятый уровень отвечает за безопасность SQL Server. В SQL Server встроены службы аутентификации, авторизации, аудита и шифрования. Наконец, на шестом уровне обеспечивается безопасность приложений. Приложения мотут использовать прикладные роли SQL Server и собственные функции безопасности для повышения защищенности БД.
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |