Adición de roles de IAM en Autonomous Database

Si lo desea, puede crear roles globales para proporcionar roles y privilegios de base de datos adicionales a los usuarios de IAM cuando se asignen varios usuarios de IAM al mismo usuario global compartido.

El uso de roles globales es opcional cuando se utiliza una asignación de IAM exclusiva al usuario (esquema) o una asignación de usuario compartido en Autonomous Database. Por ejemplo, se pueden otorgar todos los privilegios y roles al esquema compartido, y a todos los usuarios de IAM que se asignen al esquema compartido se les otorgarán los privilegios y roles asignados al esquema compartido.

Puede utilizar un rol global para diferenciar opcionalmente a los usuarios que utilizan el mismo esquema compartido. Por ejemplo, un juego de usuarios puede tener todos el mismo esquema compartido y el esquema compartido podría tener el privilegio CREATE SESSION. A continuación, los roles globales se pueden utilizar para otorgar privilegios y roles diferenciados asignados a diferentes grupos de usuarios que utilizan el mismo esquema compartido.

El otorgamiento de roles adicionales a usuarios de IAM en Autonomous Database funciona mediante la asignación de roles globales de Autonomous Database a grupos de IAM.

Para asignar roles globales de Autonomous Database a grupos de IAM:

  1. Conéctese como usuario ADMIN a la base de datos que está activada para utilizar IAM (el usuario ADMIN tiene los privilegios del sistema CREATE USER y ALTER USER necesarios para estos pasos).
  2. Defina la autorización de base de datos para los roles de Autonomous Database con las sentencias CREATE ROLE o ALTER ROLE e incluya la cláusula IDENTIFIED GLOBALLY AS especificando el nombre del grupo de IAM.

    Utilice la siguiente sintaxis para asignar un rol global a un grupo de IAM:

    CREATE ROLE global_role IDENTIFIED GLOBALLY AS
        'IAM_GROUP_NAME=IAM_GROUP_of_WHICH_the_IAM_USER_IS_a_MEMBER';

    Por ejemplo, para asignar un grupo de IAM denominado ExporterGroup a un rol global de base de datos compartido denominado export_role:

    CREATE ROLE export_role IDENTIFIED GLOBALLY AS
         'IAM_GROUP_NAME=ExporterGroup';
    

    En el siguiente ejemplo, se muestra cómo crear el rol especificando un dominio no predeterminado, sales_domain:

    CREATE ROLE export_role IDENTIFIED GLOBALLY AS
         'IAM_GROUP_NAME=sales_domain/ExporterGroup';
    

    Todos los miembros de ExporterGroup en el dominio sales_domain se autorizarán con el rol global de base de datos export_role cuando se conecten a la base de datos.

  3. Utilice las sentencias GRANT para otorgar los privilegios necesarios u otros roles al rol global.
    GRANT CREATE SESSION TO export_role;
    GRANT DWROLE TO export_role;
  4. Si desea asociar un rol de base de datos existente a un grupo de IAM, utilice la sentencia ALTER ROLE para modificar el rol de base de datos existente para asignar el rol a un grupo de IAM. Utilice la siguiente sintaxis para modificar un rol de base de datos existente para asignarlo a un grupo de IAM:
    ALTER ROLE existing_database_role 
       IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=IAM_Group_Name';

Si desea agregar asignaciones de roles globales adicionales para otros grupos de IAM, siga estos pasos para cada grupo de IAM.