Facoltativamente, creare ruoli globali per fornire ulteriori ruoli e privilegi di database agli utenti IAM quando più utenti IAM sono mappati allo stesso utente globale condiviso.
L'uso dei ruoli globali è facoltativo quando si utilizza un mapping IAM esclusivo agli utenti (schema) o un mapping utenti condiviso su Autonomous Database. Ad esempio, tutti i privilegi e i ruoli possono essere concessi allo schema condiviso e a tutti gli utenti IAM mappati allo schema condiviso verranno concessi i privilegi e i ruoli assegnati allo schema condiviso.
È possibile utilizzare un ruolo globale per differenziare facoltativamente gli utenti che utilizzano lo stesso schema condiviso. Ad esempio, un set di utenti può avere tutti lo stesso schema condiviso e lo schema condiviso può avere il privilegio CREATE SESSION
. I ruoli globali possono quindi essere utilizzati per fornire privilegi e ruoli differenziati assegnati a gruppi diversi di utenti che utilizzano tutti lo stesso schema condiviso.
La concessione di ruoli aggiuntivi agli utenti IAM in Autonomous Database funziona mappando i ruoli globali di Autonomous Database ai gruppi IAM.
Per mappare i ruoli globali di Autonomous Database ai gruppi IAM:
- Eseguire il login come utente ADMIN al database abilitato per l'utilizzo di IAM (l'utente ADMIN dispone dei privilegi di sistema
CREATE USER
e ALTER USER
necessari per questi passi).
- Impostare l'autorizzazione del database per i ruoli di Autonomous Database con istruzioni
CREATE ROLE
o ALTER ROLE
e includere la clausola IDENTIFIED GLOBALLY AS
, specificando il nome del gruppo IAM.
Utilizzare la sintassi seguente per mappare un ruolo globale a un gruppo IAM:
CREATE ROLE global_role IDENTIFIED GLOBALLY AS
'IAM_GROUP_NAME=IAM_GROUP_of_WHICH_the_IAM_USER_IS_a_MEMBER';
Ad esempio, per mappare un gruppo IAM denominato ExporterGroup
a un ruolo globale del database condiviso denominato export_role
:
CREATE ROLE export_role IDENTIFIED GLOBALLY AS
'IAM_GROUP_NAME=ExporterGroup';
L'esempio seguente mostra come creare il ruolo specificando un dominio non predefinito, sales_domain
:
CREATE ROLE export_role IDENTIFIED GLOBALLY AS
'IAM_GROUP_NAME=sales_domain/ExporterGroup';
Tutti i membri di ExporterGroup
nel dominio sales_domain
verranno autorizzati con il ruolo globale del database export_role
quando eseguono il login al database.
- Utilizzare le istruzioni
GRANT
per concedere i privilegi richiesti o altri ruoli al ruolo globale.
GRANT CREATE SESSION TO export_role;
GRANT DWROLE TO export_role;
- Se si desidera associare un ruolo di database esistente a un gruppo IAM, utilizzare l'istruzione
ALTER ROLE
per modificare il ruolo di database esistente per mappare il ruolo a un gruppo IAM. Utilizzare la sintassi seguente per modificare un ruolo di database esistente per mapparlo a un gruppo IAM:
ALTER ROLE existing_database_role
IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=IAM_Group_Name';
Se si desidera aggiungere ulteriori mapping di ruoli globali per altri gruppi IAM, attenersi alla procedura riportata di seguito per ogni gruppo IAM.