Usa autenticazione IAM (Identity and Access Management) con Autonomous AI Database
Puoi configurare Autonomous AI Database in modo che utilizzi l'autenticazione e l'autorizzazione IAM (Oracle Cloud Infrastructure Identity and Access Management) per consentire agli utenti IAM di accedere a un Autonomous AI Database con le credenziali IAM.
Nota: l'integrazione di Autonomous AI Database con Oracle Cloud Infrastructure (OCI) IAM è supportata nelle tenancy commerciali con domini di identità e in IAM Oracle Cloud Infrastructure legacy, che non include i domini di identità. Oracle Cloud Infrastructure IAM con domini di Identity è stato introdotto con nuove tenancy OCI create dopo l'8 novembre 2021. Autonomous AI Database supporta utenti e gruppi nei domini di identità predefiniti e non predefiniti.
Informazioni sull'autenticazione IAM (Identity and Access Management) con Autonomous AI Database
L'integrazione di Oracle Cloud Infrastructure IAM con Autonomous AI Database supporta sia l'autenticazione con password del database che l'autenticazione basata su token. Vedere Autenticazione e autorizzazione degli utenti IAM per i database AI autonomi Oracle per dettagli completi sull'architettura per l'utilizzo degli utenti IAM in Autonomous AI Database.
Autenticazione password database IAM
Nota: qualsiasi client di database 12c e versioni successive supportato può essere utilizzato per l'accesso con password al database IAM ad Autonomous AI Database.
Una password del database IAM di Oracle Cloud Infrastructure consente a un utente IAM di eseguire il login a un'istanza di Autonomous AI Database mentre gli utenti di Oracle Database in genere eseguono il login con un nome utente e una password. L'utente immette il nome utente IAM e la password del database IAM. Una password del database IAM è una password diversa da quella della console di Oracle Cloud Infrastructure. Utilizzando un utente IAM con il verificatore delle password, è possibile eseguire il login ad Autonomous AI Database con qualsiasi client di database supportato.
Autenticazione basata su token SSO di Identity and Access Management (IAM)
Esistono diversi modi in cui un client di database può ottenere un token di database IAM:
-
Un'applicazione client o uno strumento può richiedere il token di database da IAM per l'utente e può passare il token di database tramite l'API client. L'utilizzo dell'API per l'invio del token sostituisce altre impostazioni nel client di database. Questo tipo di uso del token del database IAM è supportato per i client seguenti:
-
JDBC-thin su tutte le piattaforme
-
Oracle Instant Client - OCI-C su Linux
-
Oracle Data Provider for .NET (ODP.NET) Core
-
-
Se l'applicazione o lo strumento non supporta la richiesta di un token di database IAM tramite l'API client, l'utente IAM può prima utilizzare l'interfaccia della riga di comando (CLI) di Oracle Cloud Infrastructure per recuperare il token di database IAM e salvarlo in una posizione file. Ad esempio, per utilizzare SQL*Plus e altre applicazioni e strumenti utilizzando questo metodo di connessione, è innanzitutto necessario ottenere il token di database utilizzando l'interfaccia CLI (Command Line Interface) di Oracle Cloud Infrastructure (OCI). Se il client del database è configurato per i token del database IAM, quando un utente esegue il login con il form di login barra, il driver del database utilizza il token del database IAM salvato in una posizione file predefinita o specificata.
-
Un'applicazione o uno strumento client può utilizzare un principal o un principal risorsa IAM dell'istanza Oracle Cloud Infrastructure per ottenere un token di database IAM e utilizzare il token di database IAM per autenticarsi in un'istanza di Autonomous AI Database.
-
Gli utenti IAM e le applicazioni OCI possono richiedere un token di database da IAM con diversi metodi, tra cui l'uso di una chiave API. Per un esempio, vedere Configurazione di una connessione client per SQL*Plus che utilizza un token IAM. Vedere Informazioni sull'autenticazione e l'autorizzazione degli utenti IAM per un Oracle Autonomous AI Database per una descrizione di altri metodi, ad esempio l'uso di un token di delega all'interno di una cloud shell OCI.
Se un utente immette un nome utente/password per il login, il driver del database utilizza il metodo di verifica della password per accedere al database indipendentemente dall'impostazione del token del database del client.
Prerequisiti per l'autenticazione IAM (Identity and Access Management) su Autonomous AI Database
Prima di utilizzare l'autenticazione IAM (Identity and Access Management) su Autonomous AI Database, è necessario assicurarsi quanto riportato di seguito.
Utilizza il servizio di networking per aggiungere un gateway di servizi, una regola di instradamento e una regola di sicurezza in uscita alla VCN (Virtual Cloud Network) e alle subnet in cui risiedono le risorse di Autonomous AI Database.
-
Creare un gateway di servizi nella VCN (Virtual Cloud Network) in cui risiedono le risorse di Autonomous AI Database seguendo le istruzioni riportate nel Task 1: Creare il gateway di servizi nella documentazione di Oracle Cloud Infrastructure.
-
Dopo aver creato il gateway di servizi, aggiungere una regola di instradamento e una regola di sicurezza in uscita a ogni subnet (nella VCN) in cui risiedono le risorse di Autonomous AI Database in modo che queste risorse possano utilizzare il gateway per utilizzare l'autenticazione IAM (Identity and Access Management):
-
Andare alla pagina Dettagli subnet per la subnet.
-
Nella scheda Informazioni subnet fare clic sul nome della tabella di instradamento della subnet per visualizzare la relativa pagina Dettagli tabella di instradamento.
-
Nella tabella delle regole di instradamento esistenti, verificare se esiste già una regola con le seguenti caratteristiche:
-
Destinazione: tutti i servizi IAD in Oracle Services Network
-
Tipo di destinazione: Service Gateway
-
Destinazione: il nome del gateway di servizi appena creato nella VCN
Se tale regola non esiste, fare clic su Aggiungi regole di instradamento e aggiungere una regola di instradamento con queste caratteristiche.
-
-
Tornare alla pagina Dettagli subnet per la subnet.
-
Nella tabella Elenchi sicurezza della subnet fare clic sul nome della lista di sicurezza della subnet per visualizzare la relativa pagina Dettagli elenco di sicurezza.
-
Nel menu laterale, in Risorse, fare clic su Regole di uscita.
-
Nella tabella delle regole di uscita esistenti, verificare se esiste già una regola con le seguenti caratteristiche:
-
Senza conservazione dello stato: No
-
Destinazione: tutti i servizi IAD in Oracle Services Network
-
Protocollo IP: TCP
-
Intervallo di porte di origine: Tutto
-
Intervallo di porte di destinazione: 443
-
-
Se una regola di questo tipo non esiste, fare clic su Aggiungi regole di uscita e aggiungere una regola di uscita con queste caratteristiche.
-
Le impostazioni del proxy HTTP nell'ambiente devono consentire al database di accedere al provider di servizi cloud.
Queste impostazioni vengono definite dall'amministratore della flotta durante la creazione dell'infrastruttura Exadata Cloud@Customer, come descritto in Uso della console per eseguire il provisioning di Exadata Database Service su Cloud@Customer.
Nota: la configurazione di rete, incluso il proxy HTTP, può essere modificata solo fino a quando l'infrastruttura Exadata non è in stato Richiede attivazione. Una volta attivato, non è possibile modificare tali impostazioni.
L'impostazione di un proxy HTTP per un'infrastruttura Exadata già di cui è stato eseguito il provisioning richiede una richiesta di servizio (SR) in My Oracle Support. Per informazioni dettagliate, vedere Crea una richiesta di servizio in My Oracle Support.
Modifica provider di identità esterni in Autonomous AI Database
Descrive i passi per modificare l'autenticazione e l'autorizzazione del provider di identità esterno da (IAM) a un altro provider di autenticazione esterno e viceversa.
Per impostazione predefinita, l'autenticazione e l'autorizzazione Oracle Cloud Infrastructure (IAM) per gli utenti è abilitata per i nuovi database AI autonomi e gli Autonomous Container Database di cui è stato eseguito il provisioning. Esistono altri schemi di autenticazione esterni, AD esempio gli utenti gestiti centralmente con Active Directory (CMU-AD), Azure AD e Kerberos, che è possibile abilitare per Autonomous AI Database. Tuttavia, può essere abilitato un solo schema di autenticazione esterno alla volta.
Per consentire agli utenti del database di connettersi ad Autonomous AI Database utilizzando un altro schema di autenticazione esterno, effettuare le operazioni riportate di seguito.
-
Disabilitare l'integrazione IAM utilizzando la procedura DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION:
Ad esempio:
BEGIN DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION; END; /Per ulteriori informazioni, vedere Procedura DISABLE_EXTERNAL_AUTHENTICATION.
-
Seguire i passaggi descritti nelle pagine seguenti per configurare un altro schema di autenticazione esterno a scelta:
-
Consente agli utenti IAM di connettersi ad Autonomous AI Database utilizzando l'autenticazione e l'autorizzazione di Oracle Cloud Infrastructure (IAM).
Come utente ADMIN, eseguire la procedura DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION con i parametri mostrati di seguito:
BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION( type => 'OCI_IAM' force => TRUE ); END; /L'esempio precedente disabilita qualsiasi provider di autenticazione esterno attualmente abilitato e abilita l'autenticazione e l'autorizzazione Oracle Cloud Infrastructure (IAM).
In questo esempio:
-
forceè impostato suTRUEper disabilitare l'autenticazione esterna attualmente abilitata. -
typeè impostato su'OCI_IAM'per abilitare e utilizzare l'autenticazione e l'autorizzazione Oracle Cloud Infrastructure (IAM).
Nota: il parametro
forceèFALSEper impostazione predefinita. Quando è abilitato un altro metodo di autenticazione esterno eforceèFALSE, DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION segnala il seguente errore:ORA-20004: Another external authentication is already enabled.Per ulteriori informazioni, vedere la procedura ENABLE_EXTERNAL_AUTHENTICATION.
-
-
Verificare il valore del parametro di sistema
IDENTITY_PROVIDER_TYPEcome indicato di seguito:SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME='identity_provider_type';NAME VALUE ---------------------- ------- identity_provider_type OCI_IAM
Creare gruppi e criteri IAM (Identity and Access Management) per gli utenti IAM
Descrive i passi per scrivere le istruzioni dei criteri per un gruppo IAM per abilitare l'accesso utente IAM alle risorse di Oracle Cloud Infrastructure, in particolare le istanze di Autonomous AI Database.
Un criterio è un gruppo di istruzioni che specifica chi può accedere a determinate risorse e in che modo. È possibile concedere l'accesso per l'intera tenancy, per i database in un compartimento o per singoli database. Ciò significa che si scrive un'istruzione dei criteri che fornisce a un gruppo specifico un tipo specifico di accesso a un tipo specifico di risorsa all'interno di un compartimento specifico.
Nota: la definizione di un criterio è necessaria per utilizzare i token IAM per accedere ad Autonomous AI Database. Non è necessario un criterio quando si utilizzano le password del database IAM per accedere ad Autonomous AI Database.
Per abilitare Autonomous AI Database per consentire agli utenti IAM di connettersi al database utilizzando i token IAM, effettuare le operazioni riportate di seguito.
-
Eseguire i prerequisiti di Oracle Cloud Infrastructure Identity and Access Management creando un gruppo e aggiungendo utenti al gruppo.
Ad esempio, creare il gruppo
sales_dbusers.Per ulteriori informazioni, vedere Gestione dei gruppi.
-
Scrivere istruzioni sui criteri per abilitare l'accesso alle risorse di Oracle Cloud Infrastructure.
-
Nella console di Oracle Cloud Infrastructure fare clic su Identità e sicurezza.
-
In Identità e sicurezza fare clic su Criteri.
-
Per un criterio di scrittura, fare clic su Crea criterio.
-
Nella pagina Crea criterio, immettere un nome e una descrizione.
-
Nella pagina Crea criterio selezionare Mostra editor manuale.

[Description of the illustration adb_iam_create_policy_manual.png](img_text/adb_iam_create_policy_manual.html) -
Utilizzare Costruzione guidata criteri per creare un criterio.
Ad esempio, per creare un criterio che consenta agli utenti del gruppo IAM
DBUsersdi accedere a qualsiasi Autonomous AI Database nella propria tenancy:Allow group DBUsers to use autonomous-database-family in tenancyAd esempio, per creare un criterio che limiti i membri del gruppo
DBUsersad accedere AI database AI autonomi solo nel compartimentotesting_compartment:allow group DBUsers to use autonomous-database-family in compartment testing_compartmentAd esempio, per creare un criterio che limita l'accesso di gruppo a un singolo database in un compartimento:
allow group DBUsers to use autonomous-database-family in compartment testing_compartment where target.database.id = 'ocid1.autonomousdatabase.oc1.iad.aaaabbbbcccc'Per ulteriori informazioni sui criteri IAM per accedere al database, vedere Creating an IAM Policy to Authorize Users Authenticating with Tokens in Database Security Guide.
-
Fare clic su Crea.
Per ulteriori informazioni sui criteri, vedere Gestione dei criteri.
-
Note per la creazione di criteri da utilizzare con gli utenti IAM su Autonomous AI Database:
-
I criteri possono consentire agli utenti IAM di accedere alle istanze di Autonomous AI Database nell'intera tenancy, in un compartimento o possono limitare l'accesso a una singola istanza di Autonomous AI Database.
-
È possibile utilizzare il principal dell'istanza o il principal risorsa per recuperare i token del database per stabilire una connessione dall'applicazione a un'istanza di Autonomous AI Database. Se si utilizza un principal istanza o un principal risorsa, è necessario mappare un gruppo dinamico. Pertanto, non è possibile mappare in modo esclusivo i principal di istanza e risorsa; è possibile mapparli solo tramite un mapping condiviso e inserire l'istanza o l'istanza di risorsa in un gruppo dinamico IAM.
È possibile creare gruppi dinamici e fare riferimento a gruppi dinamici nei criteri creati per accedere a Oracle Cloud Infrastructure. Per i dettagli, vedere Controlli di accesso al piano e creazione di risorse di supporto e Gestione dei gruppi dinamici.
Aggiungi utenti IAM su Autonomous AI Database
Per aggiungere utenti IAM per consentire l'accesso ad Autonomous AI Database, mappare gli utenti globali del database AI gruppi IAM o agli utenti con istruzioni CREATE USER o ALTER USER (con clausola IDENTIFIED GLOBALLY AS).
L'autorizzazione degli utenti IAM a un'istanza di Autonomous AI Database funziona mappando gli utenti globali (schemi) IAM agli utenti IAM (mapping esclusivo) o AI gruppi IAM (mapping dello schema condiviso).
Per autorizzare gli utenti IAM su un'istanza di Autonomous AI Database, effettuare le operazioni riportate di seguito.
-
Eseguire il login come utente ADMIN al database abilitato per l'utilizzo di IAM (l'utente ADMIN dispone dei privilegi di sistema
CREATE USEReALTER USERnecessari per questi passi). -
Creare un mapping tra l'utente di Autonomous AI Database (schema) con istruzioni
CREATE USERoALTER USERe includere la clausolaIDENTIFIED GLOBALLY AS, specificando il nome del gruppo IAM.Usare la sintassi seguente per mappare un utente globale a un gruppo IAM:
CREATE USER global_user IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=IAM_GROUP_NAME';Ad esempio, per mappare un gruppo IAM denominato
db_sales_groupa un utente globale del database condiviso denominatosales_group:CREATE USER sales_group IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=db_sales_group';In questo modo viene creato un mapping utente globale condiviso. Il mapping, con utente globale
sales_group, è valido per tutti gli utenti del gruppo IAM. Pertanto, chiunque indb_sales_grouppuò eseguire il login al database utilizzando le proprie credenziali IAM (attraverso il mapping condiviso dell'utente globalesales_group).L'esempio riportato di seguito mostra come eseguire questa operazione per un dominio non predefinito.
CREATE USER shared_sales_schema IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=sales_domain/db_sales_group'; -
Se si desidera creare mapping utente globali aggiuntivi per altri gruppi o utenti IAM, attenersi alla procedura riportata di seguito per ogni gruppo o utente IAM.
Nota: gli utenti del database che non sono IDENTIFIED GLOBALLY possono continuare a eseguire il login come prima, anche quando Autonomous AI Database è abilitato per l'autenticazione IAM.
Per mappare in modo esclusivo un utente IAM locale a un utente globale di Oracle Database:
-
Eseguire il login come utente ADMIN al database abilitato per l'utilizzo di IAM (l'utente ADMIN dispone dei privilegi di sistema
CREATE USEReALTER USERnecessari per questi passi). -
Creare un mapping tra l'utente di Autonomous AI Database (schema) con istruzioni
CREATE USERoALTER USERe includere la clausolaIDENTIFIED GLOBALLY AS, specificando il nome utente IAM locale IAM.Ad esempio, per creare un nuovo utente globale del database denominato
peter_fitche mappare questo utente a un utente IAM locale esistente denominatopeterfitch:CREATE USER peter_fitch IDENTIFIED GLOBALLY AS 'IAM_PRINCIPAL_NAME=peterfitch'L'esempio seguente mostra come creare l'utente specificando un dominio non predefinito,
sales_domain:CREATE USER peter_fitch2 IDENTIFIED GLOBALLY AS 'IAM_PRINCIPAL_NAME=sales_domain/peterfitch';
Aggiungi ruoli IAM in Autonomous AI Database
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 a un utente (schema) o un mapping utente condiviso su Autonomous AI 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 AI Database funziona mappando i ruoli globali di Autonomous AI Database AI gruppi IAM.
Per mappare i ruoli globali di Autonomous AI 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 USEReALTER USERnecessari per questi passi). -
Impostare l'autorizzazione del database per i ruoli di Autonomous AI Database con istruzioni
CREATE ROLEoALTER ROLEe includere la clausolaIDENTIFIED 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
ExporterGroupa un ruolo globale del database condiviso denominatoexport_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
ExporterGroupnel dominiosales_domainverranno autorizzati con il ruolo globale del databaseexport_rolequando eseguono il login al database. -
Utilizzare le istruzioni
GRANTper 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 ROLEper 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.
Crea password database IAM per utenti IAM
Per aggiungere un utente IAM e consentire all'utente IAM di eseguire il login ad Autonomous AI Database fornendo un nome utente e una password, è necessario creare una password di database IAM.
Per ulteriori informazioni, vedere Utilizzo delle password del database IAM.
Connettersi a Autonomous AI Database con l'autenticazione IAM (Identity and Access Management)
Dopo che l'utente ADMIN del database mappa gli utenti globali e i ruoli globali agli utenti IAM e AI gruppi IAM, gli utenti eseguono il login all'istanza di Autonomous AI Database utilizzando le credenziali IAM di Oracle Cloud Infrastructure o accedono al database tramite un token di database IAM di Oracle Cloud Infrastructure.
È comunque possibile eseguire il login ad Autonomous AI Database utilizzando il nome utente e la password dell'account di database locale (account utente del database non globale).
Puoi utilizzare un client di database per accedere a un'istanza di Autonomous AI Database come utente IAM di Oracle Cloud Infrastructure. Per utilizzare un client con credenziali di nome utente e password IAM Oracle Cloud Infrastructure e un verificatore di password, il client del database deve essere 12c o più recente.
In alternativa, puoi utilizzare un token di database IAM Oracle Cloud Infrastructure per accedere a un'istanza di Autonomous AI Database con client supportati:
-
JDBC-Thin con il supporto per l'autenticazione del token IAM è supportato con quanto segue:
-
JDBC versione 19.13.0.0.1 (o successiva): vedere Download JDBC e UCP per i driver JDBC.
-
JDBC versione 21.4.0.0.1 (o successiva): vedere Download JDBC e UCP per i driver JDBC.
Per ulteriori informazioni, vedere Supporto per l'autenticazione basata su token IAM.
-
-
SQL*Plus e Oracle Instant Client: supportati con SQL*Plus e Instant Client su Linux versioni 19.13 o successive e Instant Client su Linux versioni 21.4 o successive.
Per ulteriori informazioni, vedere Autenticazione basata su token di Identity and Access Management (IAM).
-
Il client di database può anche essere configurato per recuperare un token di database utilizzando il nome utente IAM e la password del database IAM.
Per ulteriori informazioni, vedere Connessioni client che utilizzano un token richiesto da un nome utente e una password database IAM.
-
Client .NET (ultima versione di Linux o Windows). I componenti software .NET sono disponibili come download gratuito dai seguenti siti:
Nota: se l'istanza di Autonomous AI Database è in modalità limitata, solo gli utenti con il privilegio RESTRICTED SESSION, ad esempio ADMIN, possono connettersi al database.
Informazioni sulla connessione a un Autonomous AI Database sull'istanza dell'infrastruttura Exadata dedicata utilizzando IAM
Gli utenti IAM possono connettersi all'istanza di Autonomous AI Database on Dedicated Exadata Infrastructure utilizzando un verificatore di password del database IAM o un token IAM.
L'uso del verificatore delle password del database IAM è simile al processo di autenticazione delle password di Oracle Database. Tuttavia, invece che il verificatore delle password (hash cifrato della password) memorizzato in Autonomous AI Database on Dedicated Exadata Infrastructure, il verificatore viene invece memorizzato come parte del profilo utente IAM di Oracle Cloud Infrastructure (OCI).
Il secondo metodo di connessione, l'uso di un token IAM per il database, è più moderno. L'uso dell'accesso basato su token è una soluzione migliore per le risorse cloud come Autonomous AI Database on Dedicated Exadata Infrastructure. Il token si basa sull'efficacia che l'endpoint IAM può applicare. Questo può essere l'autenticazione a più fattori, che è più forte dell'uso delle password da solo. Un altro vantaggio dell'utilizzo dei token è che il verificatore delle password (che è considerato sensibile) non viene mai memorizzato o disponibile in memoria.
Connessioni client che utilizzano un verificatore password database IAM
Dopo aver configurato l'autorizzazione necessaria per l'utente IAM, questo utente può eseguire il login utilizzando l'applicazione client esistente, ad esempio SQL*Plus o SQLcl senza ulteriori configurazioni.
L'utente IAM immette il nome utente IAM e la password del database IAM (non la password della console Oracle Cloud Infrastructure (OCI)) utilizzando qualsiasi client di database attualmente supportato. L'unico vincolo è che la versione del client di database sia Oracle Database release 12.1.0.2 o successiva per utilizzare le password di Oracle Database 12c. Il client del database deve essere in grado di utilizzare il verificatore password 12C. L'uso della cifratura del verificatore 11G non è supportato con IAM. Non è necessaria alcuna configurazione speciale del client o dello strumento per consentire all'utente IAM di connettersi all'istanza di Autonomous AI Database on Dedicated Exadata Infrastructure.
Connessioni client che utilizzano un token
Per l'accesso del token IAM ad Autonomous AI Database on Dedicated Exadata Infrastructure, l'applicazione client o lo strumento richiede un token di database da IAM per l'utente IAM.
L'applicazione client passerà il token del database direttamente al client del database tramite l'API del client del database.
Se l'applicazione o lo strumento non è stato aggiornato per richiedere un token IAM, l'utente IAM può utilizzare l'interfaccia della riga di comando (CLI) di Oracle Cloud Infrastructure (OCI) per richiedere e memorizzare il token del database. È possibile richiedere un token di accesso al database (db-token) utilizzando le seguenti credenziali:
-
Token di sicurezza (con autenticazione IAM), token di delega (in OCI cloud shell) e
API-keys, che sono credenziali che rappresentano l'utente IAM per abilitare l'autenticazione -
Token principal dell'istanza, che consentono alle istanze di essere attori (o principal) autorizzati a eseguire azioni sulle risorse del servizio dopo l'autenticazione
-
Token principal risorsa, che è una credenziale che consente all'applicazione di autenticarsi in altri servizi Oracle Cloud Infrastructure
Quando gli utenti IAM eseguono il login al client con un login barra / e il parametro OCI_IAM è configurato (sqlnet.ora, tnsnames.ora o come parte di una stringa di connessione), il client di database recupera il token di database da un file. Se l'utente IAM sottomette un nome utente e una password, la connessione utilizzerà l'accesso al verificatore del database IAM descritto per le connessioni client che utilizzano i verificatori delle password del database IAM. Le istruzioni riportate in questa guida mostrano come utilizzare l'interfaccia CLI OCI come supporto per il token del database. Se l'applicazione o lo strumento è stato aggiornato per funzionare con IAM, seguire le istruzioni per l'applicazione o lo strumento. Alcuni casi d'uso comuni includono: SQL*Plus on-premise, SQLcl on-premise, SQL*Plus in Cloud Shell o applicazioni che utilizzano wallet SEP.
Gli argomenti riportati di seguito spiegano come effettuare le operazioni riportate di seguito.
-
Configurare una connessione client per SQL*Plus per utilizzare una password del database IAM.
-
Configurare una connessione client per SQL*Plus che utilizza un token IAM.
-
Accedi al database tramite un token del database IAM Oracle Cloud Infrastructure utilizzando un principal dell'istanza.
Configurazione di una connessione client per SQL*Plus che utilizza una password del database IAM
È possibile configurare SQL*Plus in modo che utilizzi una password del database IAM.
-
L'utente IAM esegue il login all'istanza di Autonomous AI Database utilizzando la sintassi seguente:
CONNECT user_name@db_connect_string Enter password: passwordIn questa specifica,
user_nameè il nome utente IAM. Esiste un limite di 128 byte per ildomain_name/user_namecombinato.L'esempio riportato di seguito mostra come l'utente IAM
peter_fitchpuò eseguire il login a un'istanza di Autonomous AI Database.sqlplus /nolog connect peter_fitch@db_connect_string Enter password: passwordAlcuni caratteri speciali richiederanno virgolette doppie intorno a
user_nameepassword. Ad esempio:"peter_fitch@example.com"@db_connect_string "IAM database password"
Configurazione di una connessione client per SQL*Plus che utilizza un token IAM
È possibile configurare una connessione client per SQL*Plus che utilizza un token IAM.
-
Assicurarsi di disporre di un account utente IAM.
-
Contattare un amministratore IAM e un amministratore Oracle Database per assicurarsi di disporre di un criterio che consenta di accedere al database nel compartimento o nella tenancy e di essere mappati a uno schema globale nel database.
-
Se la tua applicazione o strumento non supporta l'integrazione diretta IAM, scarica, installa e configura l'interfaccia CLI OCI. Vedere Avvio rapido dell'interfaccia a riga di comando OCI. Impostare una chiave API come parte della configurazione dell'interfaccia CLI OCI e selezionare i valori predefiniti.
-
Impostare l'accesso alla chiave API per l'utente IAM.
-
Recuperare il valore
db-token. Ad esempio:-
Recupero di un
db-tokencon unAPI-keymediante l'interfaccia della riga di comando di Oracle Cloud Infrastructure (OCI):oci iam db-token get -
Recupero di un
db-tokencon un token di sicurezza (o di sessione):oci iam db-token get --auth security_tokenSe il token di sicurezza è scaduto, verrà visualizzata una finestra in modo che l'utente possa eseguire di nuovo il login a OCI. Questo genera il token di sicurezza per l'utente. L'interfaccia CLI OCI utilizzerà questo token aggiornato per ottenere il token
db-token. -
Recupero di un
db-tokencon un token di delega: quando si esegue il login a cloud shell, il token di delega viene generato e posizionato automaticamente nella directory/etc. Per ottenere questo token, eseguire il comando seguente nella cloud shell:oci iam db-token get -
Recupero di un token di istanza mediante l'interfaccia della riga di comando OCI:
oci iam db-token get --auth instance_principal
-
-
Il client di database può anche essere configurato per recuperare un token di database utilizzando il nome utente IAM e la password del database IAM.
Per ulteriori informazioni, vedere Connessioni client che utilizzano un token richiesto da un nome utente e una password database IAM.
Per ulteriori informazioni, vedere Chiavi e OCID obbligatori.
-
-
Assicurarsi di utilizzare gli aggiornamenti delle release più recenti per le release client di Oracle Database 19c e 21c.
Questa configurazione funziona solo con il client Oracle Database release 19c o 21c.
-
Seguire il processo esistente per scaricare il wallet da Autonomous AI Database, quindi seguire le istruzioni per configurarlo per l'uso con SQL*Plus.
-
Verificare che la corrispondenza DN sia abilitata cercando
SSL_SERVER_DN_MATCH=ONinsqlnet.ora. -
Configurare il client di database per utilizzare il token IAM aggiungendo
TOKEN_AUTH=OCI_TOKENal filesqlnet.ora. Poiché verranno utilizzate le posizioni predefinite per il file di token del database, non è necessario includere la posizione del token.
I valori
TOKEN_AUTHeTOKEN_LOCATIONnelle stringhe di connessionetnsnames.orahanno la precedenza sulle impostazionisqlnet.oraper tale connessione. Ad esempio, per la stringa di connessione, supponendo che il token si trovi nella posizione predefinita (~/.oci/db-tokenper Linux):(description= (retry_count=20)(retry_delay=3) (address=(protocol=tcps)(port=1522) (host=example.us-phoenix-1.oraclecloud.com)) (connect_data=(service_name=aaabbbccc_exampledb_high.example.oraclecloud.com)) (security=(ssl_server_cert_dn="CN=example.uscom-east-1.oraclecloud.com, OU=Oracle BMCS US, O=Example Corporation, L=Redwood City, ST=California, C=US") (TOKEN_AUTH=OCI_TOKEN))) -
Dopo l'aggiornamento della stringa di connessione con il parametro TOKEN_AUTH, l'utente IAM può eseguire il login all'istanza di Autonomous AI Database eseguendo il comando seguente per avviare SQL\*Plus. È possibile includere il descrittore di connessione o utilizzare il nome del descrittore dal file tnsnames.ora.
connect /@exampledb_high
Oppure
connect /@(description=
(retry_count=20)(retry_delay=3)
(address=(protocol=tcps)(port=1522)
(host=example.us-phoenix-1.oraclecloud.com))
(connect_data=(service_name=aaabbbccc_exampledb_high.example.oraclecloud.com))
(security=(ssl_server_cert_dn="CN=example.uscom-east-1.oraclecloud.com,
OU=Oracle BMCS US, O=Example Corporation,
L=Redwood City, ST=California, C=US")
(TOKEN_AUTH=OCI_TOKEN)))
Il client di database è già configurato per ottenere un valore db-token perché TOKEN_AUTH è già stato impostato tramite il file sqlnet.ora o in una stringa di connessione. Il client di database ottiene db-token e lo firma utilizzando la chiave privata, quindi invia il token ad Autonomous AI Database. Se vengono specificati un nome utente IAM e una password del database IAM anziché la barra /, il client del database si connetterà utilizzando la password invece di utilizzare db-token.
Utilizzare il principal dell'istanza per accedere ad Autonomous AI Database con autenticazione IAM (Identity and Access Management)
Dopo che l'utente ADMIN ha abilitato Oracle Cloud Infrastructure IAM su Autonomous AI Database, un'applicazione può accedere al database tramite un token di database IAM Oracle Cloud Infrastructure utilizzando un principal dell'istanza.
Per ulteriori informazioni, consulta la sezione relativa all'accesso all'API di Oracle Cloud Infrastructure tramite i principal delle istanze.
Configura autenticazione proxy
L'autenticazione proxy consente a un utente IAM di eseguire il proxy a uno schema di database per task quali la manutenzione dell'applicazione.
L'autenticazione proxy viene in genere utilizzata per autenticare l'utente reale e quindi autorizzarlo a utilizzare uno schema di database con i privilegi e i ruoli dello schema per gestire un'applicazione. Le alternative, ad esempio la condivisione della password dello schema dell'applicazione, sono considerate non sicure e non possono eseguire l'audit dell'utente effettivo che ha eseguito un'azione.
Un caso d'uso può essere in un ambiente in cui un utente IAM denominato amministratore del database dell'applicazione può eseguire l'autenticazione utilizzando le proprie credenziali e quindi proxy per un utente dello schema di database (ad esempio, hrapp). Questa autenticazione consente all'amministratore IAM di utilizzare i privilegi e i ruoli hrapp come utente hrapp per eseguire la manutenzione dell'applicazione, ma di utilizzare comunque le credenziali IAM per l'autenticazione. Un amministratore del database dell'applicazione può collegarsi al database e quindi eseguire il proxy a uno schema dell'applicazione per gestire questo schema.
È possibile configurare l'autenticazione proxy sia per i metodi di autenticazione della password che per i metodi di autenticazione del token.
Configurare l'autenticazione proxy per l'utente IAM
Per configurare l'autenticazione proxy per un utente IAM, l'utente IAM deve disporre già di un mapping a uno schema globale (mapping esclusivo o condiviso). Deve essere disponibile anche uno schema di database separato per l'utente IAM a cui eseguire il proxy.
Dopo aver verificato che si dispone di questo tipo di utente, modificare l'utente del database per consentire all'utente IAM di eseguirne il proxy.
-
Eseguire il login all'istanza di Autonomous AI Database come utente che dispone dei privilegi di sistema
ALTER USER. -
Concedere l'autorizzazione per l'utente IAM al proxy per l'account utente del database locale. Non è possibile fare riferimento a un utente IAM nel comando, pertanto è necessario creare il proxy tra l'utente globale del database ( mappato all'utente IAM) e all'utente del database di destinazione. Nell'esempio seguente,
hrappè lo schema di database a cui eseguire il proxy epeterfitch_schemaè l'utente globale del database mappato esclusivamente all'utentepeterfitch.ALTER USER hrapp GRANT CONNECT THROUGH peterfitch_schema;
In questa fase, l'utente IAM può eseguire il login all'istanza di database utilizzando il proxy. Ad esempio:
Per connettersi utilizzando un verificatore password:
CONNECT peterfitch[hrapp]@connect_string
Enter password: password
Per connettersi utilizzando un token:
CONNECT [hrapp]/@connect_string
Convalida dell'autenticazione proxy utente IAM
È possibile convalidare la configurazione proxy utente IAM sia per i metodi di autenticazione della password che per i token. 1. Eseguire il login all'istanza di Autonomous AI Database come utente che dispone dei privilegi di sistema CREATE USER e ALTER USER.
-
Connettersi all'utente IAM ed eseguire i comandi
SHOW USEReSELECT SYS_CONTEXT. Si supponga, ad esempio, di voler controllare l'autenticazione proxy dell'utente IAMpeterfitchquando proxy per l'utente del databasehrapp. Dovrai connetterti al database utilizzando i diversi tipi di metodi di autenticazione mostrati qui, ma l'output dei comandi che esegui sarà lo stesso per tutti i tipi.- Per l'autenticazione della password:
CONNECT peterfitch[hrapp]/password!@connect_string
SHOW USER;
--The output should be USER is "HRAPP"
SELECT SYS_CONTEXT('USERENV','AUTHENTICATION_METHOD') FROM DUAL;
--The output should be "PASSWORD_GLOBAL"
SELECT SYS_CONTEXT('USERENV','PROXY_USER') FROM DUAL;
--The output should be "PETERFITCH_SCHEMA"
SELECT SYS_CONTEXT('USERENV','CURRENT_USER') FROM DUAL;
--The output should be "HRAPP"
-
Per l'autenticazione del token:
CONNECT [hrapp]/@connect_string SHOW USER; --The output should be USER is "HRAPP " SELECT SYS_CONTEXT('USERENV','AUTHENTICATION_METHOD') FROM DUAL; --The output should be "TOKEN_GLOBAL" SELECT SYS_CONTEXT('USERENV','PROXY_USER') FROM DUAL; --The output should be "PETERFITCH_SCHEMA" SELECT SYS_CONTEXT('USERENV','CURRENT_USER') FROM DUAL; --The output should be "HRAPP"
Usa database link con utenti autenticati IAM
È possibile utilizzare un database link per connettersi da un'istanza di Autonomous AI Database a un'altra come utente IAM di Oracle Cloud Infrastructure.
Puoi utilizzare il database link utente connesso o utente fisso per connetterti a un Autonomous AI Database come utente IAM di Oracle Cloud Infrastructure.
Nota: il database link utente corrente non è supportato per la connessione a un Autonomous AI Database come utente IAM di Oracle Cloud Infrastructure.
-
Database link utente connesso: per un database link utente connesso, un utente IAM deve essere mappato a uno schema nei database di origine e di destinazione connessi da un database link. È possibile utilizzare un verificatore di password del database o un token del database IAM per utilizzare un database link utente connesso.
-
Database link utente fisso: è possibile creare un database link utente fisso utilizzando un utente del database o un utente IAM. Quando si utilizza un utente IAM come database link utente fisso, l'utente IAM deve disporre di un mapping di schema nel database di destinazione. L'utente IAM per un database link può essere configurato solo con un verificatore password.
Disabilitare l'autenticazione IAM (Identity and Access Management) su Autonomous AI Database
Descrive i passi per disabilitare l'accesso utente di autenticazione esterna IAM per Autonomous AI Database.
È possibile disabilitare l'accesso utente IAM nell'istanza di Autonomous AI Database utilizzando il comando ALTER SYSTEM come mostrato di seguito:
ALTER SYSTEM RESET IDENTITY_PROVIDER_TYPE SCOPE=BOTH;
Se desideri anche aggiornare l'accesso a IAM dalla risorsa, ovvero Autonomous Container Database o Autonomous AI Database, potrebbe essere necessario rimuovere o modificare il gruppo IAM e i criteri impostati per consentire l'accesso a IAM da tali risorse.
Note per l'utilizzo degli strumenti di Autonomous AI Database con autenticazione IAM (Identity and Access Management)
Fornisce note per l'utilizzo degli strumenti di Autonomous AI Database con l'autenticazione IAM abilitata.
-
Oracle APEX non è supportato per gli utenti IAM con Autonomous AI Database. Vedere Accedi a Oracle Application Express Administration Services per informazioni sull'uso di utenti regolari del database con Autonomous AI Database.
-
Database Actions non è supportato per gli utenti IAM con Autonomous AI Database. Per informazioni sull'uso di utenti regolari del database con Autonomous AI Database, vedere Abilitazione dell'accesso utente a Database Actions.