Adicionar Atribuições do Serviço IAM no Autonomous Database

Opcionalmente, crie atribuições globais para fornecer privilégios e atribuições adicionais do banco de dados a usuários do IAM quando vários usuários do IAM forem mapeados para o mesmo usuário global compartilhado.

O uso de atribuições globais é opcional ao usar um mapeamento exclusivo do IAM para o usuário (esquema) ou o mapeamento de usuário compartilhado no Autonomous Database. Por exemplo, todos os privilégios e atribuições podem ser concedidos ao esquema compartilhado e todos os usuários do IAM que mapeiam para o esquema compartilhado recebem os privilégios e as atribuições designados ao esquema compartilhado.

Você pode usar uma atribuição global para diferenciar opcionalmente usuários que usam o mesmo esquema compartilhado. Por exemplo, um conjunto de usuários pode ter o mesmo esquema compartilhado e o esquema compartilhado pode ter o privilégio CREATE SESSION. Em seguida, as atribuições globais podem ser usadas para fornecer privilégios e atribuições diferenciados designados a diferentes grupos de usuários que usam o mesmo esquema compartilhado.

A concessão de atribuições adicionais aos usuários do IAM no Autonomous Database funciona mapeando atribuições globais do Autonomous Database para grupos do IAM.

Para mapear atribuições globais do Autonomous Database para grupos do IAM:

  1. Faça log-in como o usuário ADMIN no banco de dados que está ativado para usar o serviço IAM (o usuário ADMIN tem os privilégios de sistema CREATE USER e ALTER USER necessários para essas etapas).
  2. Defina a autorização do banco de dados para atribuições do Autonomous Database com instruções CREATE ROLE ou ALTER ROLE e inclua a cláusula IDENTIFIED GLOBALLY AS, especificando o nome do grupo do IAM.

    Use a seguinte sintaxe para mapear uma atribuição global para um grupo do serviço IAM:

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

    Por exemplo, para mapear um grupo do serviço IAM chamado ExporterGroup para uma atribuição global de banco de dados compartilhado chamada export_role:

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

    O exemplo a seguir mostra como criar a atribuição especificando um domínio não padrão, sales_domain:

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

    Todos os membros do ExporterGroup no domínio sales_domain serão autorizados com a atribuição global de banco de dados export_role quando fizerem log-in no banco de dados.

  3. Use instruções GRANT para conceder os privilégios necessários ou outras atribuições à atribuição global.
    GRANT CREATE SESSION TO export_role;
    GRANT DWROLE TO export_role;
  4. Se você quiser que uma atribuição de banco de dados existente seja associada a um grupo do IAM, use a instrução ALTER ROLE para alterar a atribuição de banco de dados existente para mapear a atribuição para um grupo do IAM. Use a seguinte sintaxe para alterar uma atribuição de banco de dados existente para mapeá-la para um grupo do IAM:
    ALTER ROLE existing_database_role 
       IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=IAM_Group_Name';

Se você quiser adicionar mais mapeamentos de atribuição global para outros grupos do serviço IAM, siga estas etapas para cada grupo do IAM.