Vous pouvez éventuellement créer des rôles globaux pour fournir des privilèges et des rôles de base de données supplémentaires aux utilisateurs IAM lorsque plusieurs utilisateurs IAM sont mis en correspondance avec le même utilisateur global partagé.
L'utilisation de rôles globaux est facultative lorsque vous utilisez une correspondance IAM exclusive avec l'utilisateur (schéma) ou une correspondance avec l'utilisateur partagé sur Autonomous Database. Tous les privilèges et rôles peuvent par exemple être accordés au schéma partagé. Les utilisateurs IAM mis en correspondance avec le schéma partagé se voient alors tous accorder les privilèges et rôles affectés à ce schéma.
Vous pouvez utiliser un rôle global pour éventuellement différencier les utilisateurs qui utilisent le même schéma partagé. Par exemple, tout un ensemble d'utilisateurs peut disposer du même schéma partagé, qui comporte le privilège CREATE SESSION
. Les rôles globaux peuvent alors être utilisés pour affecter des privilèges et des rôles différenciés à différents groupes d'utilisateurs qui utilisent tous le même schéma partagé.
L'octroi de rôles supplémentaires à des utilisateurs IAM dans Autonomous Database fonctionne par la mise en correspondance de rôles globaux Autonomous Database avec des groupes IAM.
Pour mettre en correspondance des rôles globaux Autonomous Database avec des groupes IAM, procédez comme suit :
- Connectez-vous en tant qu'utilisateur ADMIN à la base de données qui peut utiliser IAM (l'utilisateur ADMIN dispose des privilèges système
CREATE USER
et ALTER USER
requis dont vous avez besoin pour ces étapes).
- Définissez l'autorisation de base de données des rôles Autonomous Database à l'aide d'instructions
CREATE ROLE
ou ALTER ROLE
. Incluez la clause IDENTIFIED GLOBALLY AS
pour préciser le nom du groupe IAM.
Utilisez la syntaxe suivante pour mettre en correspondance un rôle global et un groupe IAM :
CREATE ROLE global_role IDENTIFIED GLOBALLY AS
'IAM_GROUP_NAME=IAM_GROUP_of_WHICH_the_IAM_USER_IS_a_MEMBER';
Par exemple, pour mettre en correspondance un groupe IAM nommé ExporterGroup
avec un rôle global de base de données partagé nommé export_role
:
CREATE ROLE export_role IDENTIFIED GLOBALLY AS
'IAM_GROUP_NAME=ExporterGroup';
L'exemple suivant montre comment créer le rôle en spécifiant un domaine autre que le domaine par défaut, sales_domain
:
CREATE ROLE export_role IDENTIFIED GLOBALLY AS
'IAM_GROUP_NAME=sales_domain/ExporterGroup';
Tous les membres de ExporterGroup
dans le domaine sales_domain
sont autorisés avec le rôle global de base de données export_role
lorsqu'ils se connectent à la base de données.
- Utilisez des instructions
GRANT
pour accorder les privilèges requis ou d'autres rôles au rôle global.
GRANT CREATE SESSION TO export_role;
GRANT DWROLE TO export_role;
- Si vous voulez qu'un rôle de base de données existant soit associé à un groupe IAM, utilisez l'instruction
ALTER ROLE
pour modifier le rôle de base de données existant afin de le mettre en correspondance avec un groupe IAM. Utilisez la syntaxe suivante pour modifier un rôle de base de données existant afin de le mettre en correspondance avec un groupe IAM :
ALTER ROLE existing_database_role
IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=IAM_Group_Name';
Si vous voulez ajouter des correspondances de rôle global supplémentaires pour d'autres groupes IAM, suivez ces étapes pour chaque groupe IAM.