- •Система безопасности Database Engine Оглавление
- •Принципы концепции безопасности базы данных.
- •Аутентификация
- •Использование sql Server Management Studio для выбора одного из режимов аутентификации.
- •Создание нового имени входа sql Server.
- •Создание нового имени входа sql Server в Transact-sql.
- •Назначение учетной записи фиксированной серверной роли. Интерфейс sql Server Management Studio.
- •Управление серверными ролями с использованием Transact sql.
- •Управление доступом к базам данных.
- •Предоставление разрешений на базу данных в sql Server Management Studio.
- •Предоставление доступа к базам данных с использованием Transact-sql
- •Управление пользователями базы данных
- •Роли базы данных Создание роли с использованием Transact-sql.
- •Создание роли и добавление члена роли в Transact sql
- •Предоставление индивидуальных (гранулярных) разрешений. Управление доступом к таблицам и столбцам.
- •Предоставление индивидуальных (гранулярных) разрешений в sql Server Management Studio.
- •Управление индивидуальными разрешениями в Transact sql.
- •Управление доступом к схемам
- •Задания для самостоятельного выполнения:
Роли базы данных Создание роли с использованием Transact-sql.
Можно добавлять роли базы данных, если нужно сгруппировать пользователей в соответствии с требованиями определенных разрешений.
Задание владельца роли (Owner):
Созданная новая роль (Auditors), владелец роли (Ivanov), добавленный член роли (konadmin).
SQL Server 2005 не допускает удаления роли, в которой имеются члены. Прежде чем удалять роль базы данных, необходимо удалить из нее всех пользователей.
Создание роли и добавление члена роли в Transact sql
Пример создает роль базы данных с именем Auditors и добавляет пользователя Peter в эту новую роль.
USE AdventureWorks;
GO
--Создаем роль Auditors в базе данных AdventureWorks.
CREATE ROLE Auditors;
GO
--Добавляем пользователя Peter к роли Auditors
EXECUTE sp_addrolemember ‘Auditors’, ‘Peter’;
Удалить пользователей из роли базы данных можно при помощи системной хранимой процедуры sp_droprolemember. Если нужно удалить роль базы данных, то используется инструкция DROP ROLE.
Пример удаляет пользователя Peter из роли базы данных Auditors, а затем удаляет роль Auditors.
USE AdventureWorks;
GO
--Удаляем пользователя Peter из роли Auditors
EXECUTE sp_droprolemember ‘Auditors’, ‘Peter’;
--Удаляем роль Auditors из текущей базы данных
DROP ROLE Auditors;
Предоставление индивидуальных (гранулярных) разрешений. Управление доступом к таблицам и столбцам.
SQL Server 2005 предоставляет более гранулярную структуру разрешений, что позволяет с большей точностью контролировать операции входа.
Доступом пользователя к таблицам можно управлять при помощи управления разрешениями на таблицу. Эти разрешения можно назначать пользователям базы данных и ролям.
Разрешения, которыми можно управлять для таблиц:
-
Разрешения на доступ к таблице
Разрешения
Описание
ALTER
Разрешает изменять свойства таблицы
CONTROL
Предоставляет разрешения, аналогичные владению
DELETE
Разрешает удалять строки из таблицы
INSERT
Разрешает добавлять столбцы в таблицу
REFERENCES
Разрешает ссылаться на таблицу из внешнего ключа
SELECT
Разрешает осуществлять выборку строк из таблицы
TAKE OWNERSHIP
Разрешает присвоение схемы или таблицы
UPDATE
Разрешает изменять строки в таблице
VIEW DEFINITION
Разрешает доступ к метаданным таблицы
В SQL Server 2005 есть возможность предоставить или отклонить доступ к отдельным столбцам, вместо того, чтобы работать со всей таблицей. Эта возможность предоставляет гибкость в отклонении доступа, например, к конфиденциальным данным в некоторых столбцах.
Разрешения, которыми можно управлять для столбцов таблицы:
-
Разрешения для столбцов
Разрешение
Описание
SELECT
Разрешает выполнить выборку из столбца
UPDATE
Разрешает изменять данные в столбце
Управление доступом осуществляется через иерархию разрешений SQL Server 2005. Управлять этой иерархией разрешений можно при помощи SQL Server Management Studio и инструкций GRANT, DENY и REVOKE.