Решение практических


Управление определяемыми пользователем ролями базы данных с помощью инструкций Transact-SQL



бет50/55
Дата12.05.2023
өлшемі1,43 Mb.
#92531
түріРешение
1   ...   47   48   49   50   51   52   53   54   55
Байланысты:
СУБД-1

Управление определяемыми пользователем ролями базы данных с помощью инструкций Transact-SQL


Для создания новой определяемой пользователем роли базы данных в текущей базе данных применяется инструкция CREATE ROLE. Синтаксис этой инструкции выглядит таким образом:
CREATE ROLE role_name [AUTHORIZATION owner_name]
В параметре role_name инструкции указывается имя создаваемой определяемой пользователем роли, а в параметре owner_name – пользователь базы данных или роль, которая будет владельцем новой роли. (Если пользователь не указан, владельцем роли будет пользователь, исполняющий инструкцию CREATE ROLE.)
Для изменения имени определяемой пользователем роли базы данных применяется инструкция ALTER ROLE, а для удаления роли из базы данных – инструкция DROP ROLE. Роль, которая является владельцем защищаемых объектов (т.е. объектов базы данных), удалить нельзя. Чтобы удалить такую роль, сначала нужно изменить владельца этих объектов. [8]
В примере ниже показано создание определяемой пользователем роли базы данных и добавление в нее членов:
USE SampleDb;

CREATE ROLE marketing AUTHORIZATION Vasya;


GO
ALTER ROLE marketing ADD MEMBER 'Vasya';
ALTER ROLE marketing ADD MEMBER 'ProfessorWeb\Alexandr';
В этом примере сначала создается определяемая пользователем роль базы данных marketing, а затем, предложением ADD MEMBER инструкции ALTER ROLE, в нее добавляются два члена – Vasya и ProfessorWeb\Alexandr.

Авторизация пользователей


Выполнять инструкции или осуществлять операции с объектами баз данных могут только авторизованные пользователи. Попытка выполнения любой из этих задач неавторизованным пользователем будет неудачной. Для выполнения задач, связанных с авторизацией, используются следующие три инструкции языка Transact-SQL: GRANT, DENY и REVOKE. [8]

Инструкция GRANT


Инструкция GRANT предоставляет разрешения принципалам на защищаемые объекты. Эта инструкция имеет следующий синтаксис:
GRANT {ALL [PRIVILEGES]} | permission_list
[ON [class::] securable] TO principal_list [WITH GRANT OPTION] [AS principal ]
Предложение ALL означает, что указанному принципалу предоставляются все применимые к указанному защищаемому объекту разрешения. В параметре permission_list указываются разрешаемые инструкции или объекты (разделенные запятыми), а в параметре class – класс или имя защищаемого объекта, для которого предоставляются разрешения. Предложение on securable указывает защищаемый объект, на который предоставляется разрешение. В параметре prinicpal_list перечисляются все учетные записи (разделенные запятыми), которым предоставляются разрешения. Параметр principal и составляющие списка principal_list могут быть учетной записью пользователя Windows, регистрационным именем или учетной записью пользователя, сопоставленной с сертификатом, регистрационным именем, сопоставленным с асимметричным ключом, пользователем базы данных, ролью базы данных или ролью приложения.
В таблице 5 ниже приводятся разрешения и защищаемые объекты, к которым они применяются, а также краткое описание предоставляемых каждым разрешением возможностей:
Таблица 5 Разрешения и соответствующие защищаемые объекты

Разрешения и соответствующие защищаемые объекты



Достарыңызбен бөлісу:
1   ...   47   48   49   50   51   52   53   54   55




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет