Создание роли в SQL
Роли относятся к разделу DDC – язык управления данными.
1. Создание роли
Роль является носителем привилегий.
CREATE ROLE <имя роли>
[WITH ADMIN {CURRENT_USER|CURRENT_ROKE}]
SET ROLE {NONE|<имя роли>}
Примечания:
WITH ADMIN {CURRENT_USER|CURRENT_ROLE} – Роль создается для текущего пользователя или роли и наделяется правом создавать новые роли.
NONE – Присваивает текущему сеансу текущую роль CURRENT_ROLE.
2. Представление прав доступа к объектам
GRANT ALL [PRIVILEGES]|{SELECT|INSERT|DELETE|
UPDATE [(<список столбцов>)]|USAGE}|<роль>
ON <имя объекта> TO <список пользователей>|PUBLIC
[WITH GRANT OPTION] [WITH ADMIN OPTION]
[FROM {CURRENT_USER|CURRENT_ROLE}]
3. Ключевые слова
ALL [PRIVILEGES] – включает каждую привилегию из списка в скобках {}
GRANT OPTION – наделяет правом передачи привилегий другим пользователям.
PUBLIC – включает настоящих и будущих (ещё не определенных) пользователей.
USAGE – предоставляет права использования такими объектами, как домены, ограничения, наборы символов и т.п.
WITH ADMIN OPTION – предоставляет право присваивать роли.
4. Примеры предоставления прав
1. GRANT SELECT ON SalesPeople TO Diane
2. GRANT INSERT, DELETE ON Orders
TO Adrian, Diane
3. GRANT UPDATE (City, Comm) ON SalesPeople
TO Diane, Adriane
4. GRANT ALL ON Customer TO Stephen WITH
GRANT OPTION
5. GRANT SELECT ON Diane.SalesPeople TO Stephen
5. Отмена прав доступа к объектам
REVOKE [GRANT OPTION FOR]
[ADMIN OPTION FOR]
ALL [PRIVILEGER]|<список привилегий>|<роль>
ON <имя объекта>
FROM <список пользователей>|PUBLIC
[CASCADE|RESTRICT]
[GRANTED BY {CURRENT_USER|CURRENT_ROLE}]
6. Ключевые слова
GRANT OPTION FOR – отменяет право передавать полномочия другим пользователям.
CASCADE – отменяет и все зависимые от этого привилегии.
GRANT OPTION FOR … CASCADE – зависимые от этого привилегии отменяется, а отменяемое остается, но становится не предоставляемым.
RESTRICT – не отменяется, если есть зависимые от этого привилегии.
7. Примеры отмены прав
1. REVOKE INSERT ON Orders FROM Adrian
2. REVOKE ALL ON Orders FROM Diane, Adrian
3. REVOKE SELECT ON SalesPeople FROM Diane CASCADE