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