Роль — это объект базы данных, который группирует несколько привилегий, которые могут быть назначены пользователям, группам, PUBLIC или другим ролям с помощью оператора GRANT.
Ограничения на роли
- Роль не может владеть объектами базы данных.
- Разрешения и роли, предоставленные группам, не учитываются при создании следующих объектов базы данных.
- Пакет, содержащий статический SQL
- Просмотры
- Материализованные таблицы запросов (MQT)
- Триггеры
- SQL подпрограммы
Создание и предоставление членства в ролях
Синтаксис: [Создать новую роль]
db2 create role <role_name>
Пример : [Чтобы создать новую роль с именем ‘sales’, чтобы добавить таблицу для управления каким-либо пользователем или группой]
db2 create role sales
Выход:
DB20000I The SQL command completed successfully.
Предоставление роли из DBADM определенной таблице
Синтаксис: [Предоставить разрешение роли для таблицы]
db2 grant select on table <table_name> to role <role_name>
Пример : [Добавить разрешение на управление таблицей «shope.books» для роли «продажи»]
db2 grant select on table shope.books to role sales
Выход:
DB20000I The SQL command completed successfully.
Администратор безопасности предоставляет роль нужным пользователям. (Прежде чем использовать эту команду, вам нужно создать пользователей.)
Синтаксис: [Добавить пользователей в роль]
db2 grant role <role_name> to user <username>
Пример : [Чтобы добавить пользователя ‘mastanvali’ к роли ‘sales’]
db2 grant sales to user mastanvali
Выход:
DB20000I The SQL command completed successfully.
Ролевые иерархии
Для создания иерархий для ролей каждой роли предоставляются разрешения / членство с другой ролью.
Синтаксис: [перед этим синтаксисом создайте новую роль с именем «production»]
db2 grant role <roll_name> to role <role_name>
Пример : [Чтобы предоставить разрешение роли «продажа» другой роли «производство»]