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:
- 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).
- 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.
- 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;
- 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.