Requisiti indispensabili
Prima di creare una connessione Database Tools che utilizza l'autenticazione IAM, assicurarsi che vengano soddisfatti i prerequisiti riportati di seguito.
Prerequisiti del database
Prima di configurare una connessione agli strumenti di database per utilizzare l'autenticazione IAM, assicurarsi che vengano soddisfatti i requisiti di database riportati di seguito.
Per ADB, i prerequisiti di autenticazione IAM (ad esempio la connettività sicura/TLS) sono già configurati nel servizio Strumenti di database. Nella maggior parte dei casi, è possibile passare direttamente ai passi di mapping degli utenti del database e dei criteri IAM.
Per i database Oracle non ADB (ad esempio Exadata e Base Database Service), è innanzitutto necessario verificare e configurare i prerequisiti, ad esempio l'autenticazione del server TCPS/TLS, i wallet/certificati, affinché le connessioni ai token IAM funzionino. Vedere Prerequisiti per l'autenticazione IAM su Oracle Database
Versioni di database supportate
-
Gli ambienti Oracle Database-as-a-Service (DBaaS) supportati sono:
- Oracle Autonomous Database (ADB)
- Oracle Exadata Database Service
- Oracle Base Database Service
-
Hai bisogno di Oracle Database release 19c, versione 19.16 o successive.
-
Il client Oracle Database 21c non supporta completamente l'autenticazione basata su token IAM. Utilizzare una versione client che supporti la funzionalità di token del database IAM richiesta. Vedere la sezione Autenticazione basata su token SSO di Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) in Autenticazione IAM con Oracle Database.
Connettività TLS (TCPS) e autenticazione server
L'autenticazione IAM richiede una connettività sicura al database:
- Utilizzare TCPS dal servizio Strumenti di database al database. Selezionare questa opzione quando si sceglie Creazione di una connessione.
- Configurare l'autenticazione del server TLS per il database. Per gli ambienti non ADB, assicurarsi di impostare un wallet TLS e i certificati correlati in
WALLET_ROOT, in base ai requisiti per il servizio e la configurazione di database specifici.
Per ulteriori informazioni, vedere Configure TLS to Use IAM Token.
Abilita autenticazione IAM per Oracle Database
Per abilitare l'autenticazione IAM:
-
Creare una connessione agli strumenti di database utilizzando l'autenticazione password con un utente di database con privilegi (ad esempio,
SYSoADMIN). Per creare una connessione, vedere Creazione di una connessione. -
Configurare l'autenticazione esterna per l'istanza di database.
- Selezionare la connessione agli strumenti di database.
- Espandere Azioni e selezionare Configura autenticazione esterna.
- Per Tipo di autenticazione esterna, selezionare OCI_IAM.
- Per salvare la configurazione, fare clic su Aggiorna.
Crea utenti database globali
L'autenticazione IAM richiede un mapping utente globale nel database in modo che il database possa eseguire il mapping di un principal IAM (utente o gruppo) a un utente del database (schema).
Mapping esclusivo
Utilizzare il mapping esclusivo quando si desidera un mapping uno a uno tra un utente IAM e uno schema di database.
CREATE USER scott IDENTIFIED GLOBALLY AS 'IAM_PRINCIPAL_NAME=<iam-user-name-or-identifier>';
GRANT CREATE SESSION TO scott;dove <iam-user-name-or-identifier> fa riferimento all'attributo Nome utente database dell'utente IAM. Se il nome utente del database non è disponibile per l'utente IAM, come fallback viene utilizzato il nome utente standard dell'utente IAM.
Per ulteriori informazioni sul nome utente del database e sul nome utente standard IAM, vedere:
Mapping condiviso
Utilizzare il mapping condiviso quando si desidera che più utenti IAM (membri di un gruppo IAM) si connettano come schema condiviso.
CREATE USER scott IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=<iam-group-name>';
GRANT CREATE SESSION TO scott;dove <iam-group-name> si riferisce al valore del nome del gruppo IAM definito in IAM per il gruppo. Tutti gli utenti IAM membri di questo gruppo IAM si connetteranno come utente del database condiviso.
Se un utente è membro di più gruppi IAM che dispongono ciascuno di un mapping condiviso, il database determina il mapping in base alle regole di mapping del database, ad esempio l'ordine di creazione. Assicurarsi che i mapping non siano ambigui per il modello di autorizzazione previsto.
Per ulteriori informazioni, fare riferimento agli argomenti sotto riportati.
Concedere le autorizzazioni IAM per le connessioni al database
Per consentire agli utenti di generare e utilizzare i token di database, concedere le autorizzazioni IAM per le connessioni agli strumenti di database (tipo di risorsa: database-connections). Queste autorizzazioni includono l'autorizzazione DB_CONNECT.
Utilizzare istruzioni dei criteri come gli esempi seguenti:
-
Consente a un gruppo di utilizzare le connessioni al database nella tenancy.
allow group dbuser to use database-connections in tenancy -
Consentire a un gruppo di utilizzare le connessioni al database in un compartimento.
allow group dbuser to use database-connections in compartment prod -
Limitare l'accesso a un database specifico (per OCID).
allow group dbuser to use database-connections in compartment prod where target.database.id = 'ocid1.autonomousdatabase.oc1.phx.xxxx'
Per ulteriori informazioni sui criteri IAM, vedere Usa autenticazione IAM con Autonomous AI Database.