DB2 - Roles
Introducción
Un rol es un objeto de base de datos que agrupa múltiples privilegios que se pueden asignar a usuarios, grupos, PUBLIC u otros roles mediante la instrucción GRANT.
Restricciones de roles
- Un rol no puede poseer objetos de base de datos.
- Los permisos y roles otorgados a grupos no se consideran cuando crea los siguientes objetos de base de datos.
- Paquete que contiene SQL estático
- Views
- Tablas de consultas materializadas (MQT)
- Triggers
- Rutinas SQL
Crear y otorgar membresía en roles
Syntax: [Para crear una nueva función]
db2 create role <role_name>
Example: [Para crear un nuevo rol llamado 'ventas' para agregar alguna tabla para que sea administrada por algún usuario o grupo]
db2 create role sales
Output:
DB20000I The SQL command completed successfully.
Otorgar rol de DBADM a una tabla en particular
Syntax: [Para otorgar permiso de un rol a una mesa]
db2 grant select on table <table_name> to role <role_name>
Example: [Para agregar permiso para administrar una tabla 'shope.books' al rol de 'ventas']
db2 grant select on table shope.books to role sales
Output:
DB20000I The SQL command completed successfully.
El administrador de seguridad otorga el rol a los usuarios requeridos. (Antes de usar este comando, debe crear los usuarios).
Syntax: [Para agregar usuarios a una función]
db2 grant role <role_name> to user <username>
Example: [Para agregar un usuario 'mastanvali' a una función 'ventas']
db2 grant sales to user mastanvali
Output:
DB20000I The SQL command completed successfully.
Jerarquías de roles
Para crear jerarquías de roles, a cada rol se le otorgan permisos / membresía con otro rol.
Syntax: [antes de esta sintaxis, cree una nueva función con el nombre de "producción"]
db2 grant role <roll_name> to role <role_name>
Example: [Para otorgar permiso de un rol de 'ventas' a otro rol de 'producción']
db2 grant sales to role production