Connetti gli utenti di IAM (Identity and Access Management) a Oracle Exadata Database Service sull'infrastruttura Exascale
Puoi configurare Oracle Exadata Database Service on Exascale Infrastructure 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 Oracle Database con le credenziali IAM.
- Autenticazione Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) con Oracle Database
Impara ad abilitare un'istanza Oracle Database su Oracle Exadata Database Service sull'infrastruttura Exascale per consentire l'accesso utente con una password del database IAM di Oracle Cloud Infrastructure (mediante un verificatore di password) o token SSO. - Prerequisiti per l'autenticazione Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) su Oracle Database
Rivedere i prerequisiti per l'autenticazione IAM (Identity and Access Management) su un Oracle Database. - Abilita, disabilita e riabilita l'autenticazione Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) su Oracle Database
Scopri come abilitare, disabilitare e riabilitare l'autenticazione IAM (Identity and Access Management) su Oracle Database. - Gestire i gruppi e i criteri, gli utenti, i ruoli e le password del database di Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM)
Il sistema Oracle Exadata Database Service on Exascale Infrastructure fornisce diversi metodi di gestione dei servizi. - Configurazione della connessione client
Configurare vari client per utilizzare l'autenticazione IAM.
Argomento padre: Guida alle procedure
Autenticazione Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) con Oracle Database
Scopri come abilitare un'istanza di Oracle Database su Oracle Exadata Database Service sull'infrastruttura Exascale per consentire l'accesso degli utenti con una password del database IAM di Oracle Cloud Infrastructure (mediante un verificatore di password) o token SSO.
- Informazioni sull'autenticazione Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) con Oracle Database
Gli utenti IAM possono connettersi all'istanza di database utilizzando un verificatore password del database IAM o un token IAM. - Autenticazione del verificatore della password del database Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM)
È possibile abilitare un'istanza di Oracle Database per consentire l'accesso utente con una password del database IAM di Oracle Cloud Infrastructure (mediante un verificatore della password). - Autenticazione basata su token SSO di Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM)
Per l'accesso al database tramite token IAM, l'applicazione o lo strumento client richiede un token di database da IAM per l'utente IAM.
Informazioni sull'autenticazione Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) con Oracle Database
Gli utenti IAM possono connettersi all'istanza di database utilizzando un verificatore password del database IAM o un token IAM.
L'uso del verificatore password del database IAM è simile al processo di autenticazione della password del database. Tuttavia, invece di memorizzare nel database il verificatore delle password (hash cifrato della password), il verificatore viene invece memorizzato come parte del profilo utente IAM OCI.
Il secondo metodo di connessione, l'uso di un token IAM per il database, è più moderno. L'uso dell'accesso basato su token si adatta meglio alle risorse cloud come i database Oracle nell'infrastruttura Exadata Cloud. Il token si basa sulla forza che l'endpoint IAM può applicare. Questo può essere l'autenticazione a più fattori, che è più forte dell'uso delle sole password. Un altro vantaggio dell'utilizzo dei token è che il verificatore di password (che è considerato sensibile) non viene mai memorizzato o disponibile in memoria.
Oracle Database supporta l'integrazione DBaaS Oracle per IAM (OCI) Oracle Cloud Infrastructure con i domini di Identity e l'IAM legacy, che non include i domini di Identity. Gli utenti e i gruppi di domini predefiniti e non predefiniti sono supportati quando si utilizza IAM con i domini di Identity.
Il supporto per i domini personalizzati non predefiniti è disponibile solo con Oracle Database Release 19c, Versione 19.21 e successive (ma non con Oracle Database Release 21c).
L'integrazione di Oracle Cloud Infrastructure IAM con Oracle Exadata Database Service on Dedicated Infrastructure supporta i seguenti:
- Autenticazione del verificatore password del database Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM)
- Autenticazione basata su token SSO di Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM)
Per i dettagli completi sull'architettura per l'utilizzo degli utenti IAM su Oracle Exadata Database Service on Dedicated Infrastructure, vedere Authenticating and Authorizing IAM Users for Oracle DBaaS Databases in Oracle Database 19c Security Guide e Oracle AI Database 26ai Security Guide.
Autenticazione del verificatore password del database Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM)
È possibile abilitare un'istanza di Oracle Database per consentire l'accesso utente con una password del database IAM di Oracle Cloud Infrastructure (utilizzando un verificatore delle password).
È possibile utilizzare qualsiasi client di database 12c e superiore supportato per l'accesso con password del database IAM a Oracle Database.
Una password del database IAM di Oracle Cloud Infrastructure consente a un utente IAM di eseguire il login a un'istanza di Oracle Database quando 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 è diversa dalla password della console di Oracle Cloud Infrastructure. L'uso di un utente IAM con un verificatore password consente di eseguire il login a Oracle Database con qualsiasi client di database supportato.
Per l'accesso al database del verificatore password, è possibile creare i mapping per gli utenti IAM e le applicazioni OCI all'istanza di Oracle Database. Gli account utente IAM vengono gestiti in IAM. Gli account utente e i gruppi di utenti possono trovarsi nel dominio predefinito o in un dominio personalizzato non predefinito.
Per ulteriori informazioni sulla gestione della password del database IAM, vedere Gestione delle credenziali utente.
Argomenti correlati
Autenticazione basata su token SSO di Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM)
Per l'accesso al database tramite token IAM, l'applicazione o lo strumento client 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 client del database.
Se l'applicazione o lo strumento non è stato aggiornato per richiedere un token IAM, l'utente IAM può utilizzare l'interfaccia CLI 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 (nella cloud shell OCI) e
API-keys, ovvero credenziali che rappresentano l'utente IAM per abilitare l'autenticazione - Token di principal dell'istanza, che consentono alle istanze di essere attori (o principal) autorizzati a eseguire azioni sulle risorse OCI dopo l'autenticazione
- Token di principal risorsa, una credenziale che consente all'applicazione di autenticarsi in altri servizi OCI
- Uso di un nome utente IAM e di una password del database IAM (può essere richiesto solo dal client del database)
Quando gli utenti IAM eseguono il login al client con una barra di login / e il parametro OCI_IAM è configurato (sqlnet.ora, tnsnames.ora o come parte di una stringa di connessione), il client del 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 verificatori delle password del database IAM. Se il parametro PASSWORD_AUTH=OCI_TOKEN, il driver del database utilizzerà invece il nome utente e la password per connettersi direttamente a IAM e richiedere un token di database. Le istruzioni riportate in questa guida mostrano come utilizzare l'interfaccia CLI OCI come applicazione di supporto per il token di 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 i wallet SEP.
- Un'applicazione o uno strumento client può richiedere il token del database da IAM per l'utente e può passare il token del database tramite l'API client. L'utilizzo dell'API per l'invio del token sostituisce altre impostazioni nel client del database. L'uso dei token IAM richiede il client Oracle Database 19c più recente (almeno la versione 19.16). Alcuni client precedenti (19c e 21c) offrono un set limitato di funzionalità per l'accesso ai token. Il client Oracle Database 21c non supporta completamente la funzione di accesso ai token IAM:
- JDBC-thin su tutte le piattaforme
- Per ulteriori informazioni, vedere Supporto per l'autenticazione basata su token IAM e Download JDBC e UCP.
- SQL*Plus e Oracle Instant Client OCI-C su Linux:
Per ulteriori informazioni, vedere Autenticazione basata su token IAM (Identity and Access Management)
- Oracle Data Provider for .NET (ODP.NET) Core: .NET Client (ultima versione di Linux o Windows). I componenti software .NET sono disponibili come download gratuito dai seguenti siti:
- Componenti di accesso ai dati Oracle - Download .NET
- NuGet Galleria
- Mercato di Visual Studio Code
- JDBC-thin su tutte le piattaforme
- Se l'applicazione o lo strumento non supporta la richiesta di un token di database IAM tramite l'API client, l'utente IAM può in primo luogo 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 della riga di comando (CLI) di Oracle Cloud Infrastructure (OCI). Per ulteriori informazioni, vedere db-token get. Se il client di database è configurato per i token di database IAM, quando un utente esegue il login con il form di login barra, il driver di database utilizza il token di database IAM salvato nella posizione file predefinita o specificata.
- Alcuni client Oracle AI Database 26ai possono anche ottenere un token direttamente da OCI IAM invece di utilizzare l'interfaccia della riga di comando OCI. Esaminare la documentazione del client per vedere quali client supportano questa integrazione IAM nativa.
- Un'applicazione o uno strumento client può utilizzare un principal dell'istanza IAM di Oracle Cloud Infrastructure o un principal di risorse per ottenere un token di database IAM e utilizzare il token del database IAM per autenticarsi in un'istanza di Oracle Database. Per ulteriori informazioni, vedere Mapping dei principal delle istanze e delle risorse.
- Gli utenti IAM e le applicazioni OCI possono richiedere un token di database da IAM con diversi metodi, incluso l'uso di una chiave API. Per un esempio, vedere Configurazione di una connessione client per SQL*Plus che utilizza un token IAM. See Authenticating and Authorizing IAM Users for Oracle DBaaS Databases for a description of other methods such as using a delegation token within an OCI cloud shell.
Se il database è in modalità limitata, solo i DBA che dispongono del privilegio RESTRICTED SESSION possono connettersi al database.
Se un utente immette un nome utente o una password per eseguire il login, il driver del database utilizza il metodo di verifica della password per accedere al database. Se il parametro PASSWORD_AUTH=OCI_TOKEN, il driver del database utilizzerà invece il nome utente e la password per connettersi direttamente a IAM e richiedere un token del database.
Argomenti correlati
- Supporto per l'autenticazione basata su token IAM
- Download JDBC e UCP
- Autenticazione basata su token IAM (Identity and Access Management)
- recupero db-token
- Componenti di accesso ai dati Oracle - Download .NET
- NuGet Galleria
- Marketplace di Visual Studio Code
- Mapping di istanze e principal risorse
- Configurazione di una connessione client per SQL*Plus che utilizza un token IAM
- Autenticazione e autorizzazione degli utenti IAM per i database Oracle DBaaS
Prerequisiti per l'autenticazione Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) su Oracle Database
Rivedere i prerequisiti per l'autenticazione IAM (Identity and Access Management) in un Oracle Database.
- Prerequisiti per l'autenticazione IAM su Oracle Database
Prima di utilizzare l'autenticazione IAM sui database nell'infrastruttura Exadata Cloud, è necessario utilizzare il servizio di networking per aggiungere un gateway di servizio, una regola di instradamento e una regola di sicurezza di uscita alla rete cloud virtuale (VCN) e alle subnet in cui risiedono le risorse del database. - Disabilita schema di autenticazione esterna
Esaminare i prerequisiti per abilitare l'accesso utente IAM a Oracle Database. - Configura token TLS per l'uso dei token IAM
Quando si inviano token IAM dal client del database al server del database, è necessario stabilire una connessione TLS. Il wallet TLS con il certificato di database per l'istanza del servizio ExaDB-D deve essere memorizzato nella posizioneWALLET_ROOT. Creare una directory tls con l'aspetto seguente:WALLET_ROOT/<PDB GUID>/tls.
Prerequisiti per l'autenticazione IAM su Oracle Database
Prima di utilizzare l'autenticazione IAM nei database nell'infrastruttura Exadata Cloud, è necessario utilizzare il servizio di networking per aggiungere un gateway di servizi, una regola di instradamento e una regola di sicurezza di uscita alla rete cloud virtuale (VCN) e alle subnet in cui risiedono le risorse del database.
- Creare un gateway di servizi nella VCN in cui risiedono le risorse del database seguendo le istruzioni riportate nel task 1: creare il gateway di servizi della documentazione OCI.
- Dopo aver creato il gateway del servizio, aggiungere una regola di instradamento e una regola di sicurezza di uscita a ogni subnet (nella VCN) in cui risiedono le risorse del database in modo che queste risorse possano utilizzare il gateway per utilizzare l'autenticazione IAM:
- Passare alla pagina Dettagli subnet per la subnet.
- Nella scheda Informazioni sulla 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 caratteristiche riportate di seguito.
- Destinazione: tutti i servizi IAD in Oracle Services Network
- Tipo di destinazione: gateway del servizio
- 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 dei dettagli della subnet per la subnet.
- Nella tabella Liste di sicurezza della subnet, fare clic sul nome della lista di sicurezza della subnet per visualizzare la relativa pagina Dettagli lista 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 stato: No
- Destinazione: tutti i servizi IAD in Oracle Services Network
- Protocollo IP: TCP
- Intervallo 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.
Disabilita schema di autenticazione esterno
Rivedere i prerequisiti per abilitare l'accesso utente IAM a Oracle Database.
Se il database è abilitato per un altro schema di autenticazione esterno, verificare che si desidera utilizzare IAM nell'istanza di Oracle Database. Può essere abilitato un solo schema di autenticazione esterna alla volta.
Se si desidera utilizzare IAM ed è abilitato un altro schema di autenticazione esterno, è necessario prima disabilitare l'altro schema di autenticazione esterno.
Configurare TLS per l'uso dei token IAM
Quando si inviano i token IAM dal client del database al server del database, è necessario stabilire una connessione TLS. Il wallet TLS con il certificato di database per l'istanza del servizio ExaDB-D deve essere memorizzato nella posizione WALLET_ROOT. Creare una directory tls con l'aspetto seguente: WALLET_ROOT/<PDB GUID>/tls.
Quando si configura TLS tra il client di database e il server, sono disponibili diverse opzioni da considerare.
- Utilizzo di un certificato server database autofirmato rispetto a un certificato server database firmato da un'autorità di certificazione comunemente nota
- TLS unidirezionale (TLS) vs TLS mutuo o bidirezionale (mTLS)
- Client con o senza wallet
Certificato con firma automatica
L'utilizzo di un certificato autofirmato è una pratica comune per le risorse IT interne, poiché è possibile crearle autonomamente ed è gratuito. La risorsa (nel nostro caso, il database server) avrà un certificato autofirmato per autenticarsi al client del database. Il certificato con firma automatica e il certificato radice verranno memorizzati nel wallet del database server. Affinché il client del database possa riconoscere il certificato del server del database, sul client sarà necessaria anche una copia del certificato root. Questo certificato root creato automaticamente può essere memorizzato in un wallet lato client o installato nell'area di memorizzazione dei certificati predefinita del sistema client (solo Windows e Linux). Una volta stabilita la sessione, il client del database verificherà che il certificato inviato dal server del database sia stato firmato dallo stesso certificato radice.
Un'autorità di certificazione ben nota
L'uso di un'autorità di certificazione root comunemente nota presenta alcuni vantaggi in quanto il certificato root è probabilmente già memorizzato nell'area di memorizzazione dei certificati predefinita del sistema client. Non è necessario eseguire altre operazioni per il client per memorizzare il certificato root se si tratta di un certificato root comune. Lo svantaggio è che questo ha normalmente un costo associato ad esso.
TLS unidirezionale
Nella sessione TLS standard, solo il server fornisce un certificato al client per l'autenticazione. Il client non deve disporre di un certificato client separato per autenticarsi sul server (simile al modo in cui vengono stabilite le sessioni HTTPS). Mentre il database richiede un wallet per memorizzare il certificato del server, l'unica cosa che il client deve avere è il certificato root utilizzato per firmare il certificato del server.
TLS a due vie (chiamato anche Mutual TLS, mTLS)
In mTLS, sia il client che il server dispongono di certificati di identità presentati tra loro. Nella maggior parte dei casi, lo stesso certificato root avrà firmato entrambi questi certificati in modo che lo stesso certificato root possa essere utilizzato con il server di database e il client per autenticare l'altro certificato. mTLS viene talvolta utilizzato per autenticare l'utente poiché l'identità utente viene autenticata dal server di database tramite il certificato. Questa operazione non è necessaria per il passaggio dei token IAM, ma può essere utilizzata quando si passano i token IAM.
Client con un wallet
Un wallet client è obbligatorio quando si utilizza mTLS per memorizzare il certificato client. Tuttavia, il certificato radice può essere memorizzato nello stesso wallet o nell'area di memorizzazione dei certificati predefinita del sistema.
Un cliente senza portafoglio
I client possono essere configurati senza un wallet quando si utilizza TLS nelle seguenti condizioni: 1) È in corso la configurazione di TLS unidirezionale in cui il client non dispone di un proprio certificato e 2) il certificato radice che ha firmato il certificato del database server viene memorizzato nell'area di memorizzazione dei certificati predefinita del sistema. È molto probabile che il certificato root sia già presente se il certificato del server è firmato da un'autorità di certificazione comune. Se si tratta di un certificato con firma automatica, è necessario installare il certificato radice nell'area di memorizzazione dei certificati predefinita del sistema per evitare di utilizzare un wallet client.
Per informazioni dettagliate su come configurare TLS tra il client del database e il server del database, incluse le opzioni descritte in precedenza, vedere Configuring Transport Layer Security Authentication nel manuale Oracle Database Security Guide.
Se si sceglie di utilizzare i certificati con firma automatica e per task aggiuntivi correlati al wallet, vedere Managing Public Key Infrastructure (PKI) Elements in Oracle Database Security Guide.
Abilita, disabilita e riabilita l'autenticazione Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) su Oracle Database
Scopri come abilitare, disabilitare e riabilitare l'autenticazione IAM (Identity and Access Management) su Oracle Database.
- Abilita l'autenticazione Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) su Oracle Database
Esamina i passi per abilitare o riabilitare l'accesso utente IAM a Oracle Database. - Disabilitare l'autenticazione Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) su Oracle Database
Vengono descritti i passi per disabilitare l'accesso utente di autenticazione esterna IAM per Oracle Database. - Uso degli strumenti Oracle Database con autenticazione IAM (Identity and Access Management)
Esaminare le note per l'utilizzo degli strumenti Oracle Database con l'autenticazione IAM abilitata.
Abilita l'autenticazione Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) su Oracle Database
Rivedere i passi per abilitare o riabilitare l'accesso utente IAM a Oracle Database.
Oracle Database supporta l'integrazione Oracle DBaaS per IAM (OCI) Oracle Cloud Infrastructure con i domini di Identity e l'IAM precedente, che non include i domini di Identity. Gli utenti e i gruppi di domini predefiniti e non predefiniti sono supportati quando si utilizza IAM con i domini di Identity.
- Eseguire i prerequisiti per l'autorizzazione e l'autenticazione IAM su Oracle Database. Per ulteriori informazioni, vedere Prerequisiti per l'autenticazione Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) su Oracle Database.
- Abilita l'autenticazione e l'autorizzazione Oracle Cloud Infrastructure (IAM) utilizzando il comando
ALTER SYSTEM.ALTER SYSTEM SET IDENTITY_PROVIDER_TYPE=OCI_IAM SCOPE=BOTH; - Verificare il valore del parametro di sistema
IDENTITY_PROVIDER_TYPE.SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME='identity_provider_type';NAME VALUE ---------------------- ------- identity_provider_type OCI_IAM
Argomenti correlati
Disabilita autenticazione Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) su Oracle Database
Descrive i passi per disabilitare l'accesso utente di autenticazione esterna IAM per Oracle Database.
Per disabilitare l'accesso utente IAM nell'istanza di Oracle Database:
- Disabilitare l'integrazione IAM utilizzando il comando
ALTER SYSTEM.ALTER SYSTEM RESET IDENTITY_PROVIDER_TYPE SCOPE=BOTH; - Se si desidera rimuovere anche il criterio IAM per consentire l'accesso al database, potrebbe essere necessario rivedere e modificare o rimuovere i gruppi IAM e i criteri impostati per consentire l'accesso al database da parte degli utenti IAM.
Uso degli strumenti Oracle Database con autenticazione IAM (Identity and Access Management)
Rivedere le note per l'utilizzo degli strumenti di Oracle Database con l'autenticazione IAM abilitata.
- Oracle APEX non è supportato per gli utenti IAM con Oracle Database.
- Database Actions non è supportato per gli utenti IAM con Oracle Database. Per informazioni sull'utilizzo di utenti regolari del database con Oracle Database, vedere Fornire l'accesso a Database Actions agli utenti del database.
- Oracle Machine Learning Notebooks e altri componenti non sono supportati per gli utenti autorizzati IAM mediante Oracle Database. Per informazioni sull'utilizzo di utenti regolari del database con Oracle Database, vedere Aggiungere un account utente del database esistente ai componenti di Oracle Machine Learning.
Argomenti correlati
Gestisci gruppi e criteri di Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM), utenti, ruoli e password del database
Il sistema di infrastruttura Oracle Exadata Database Service su Exascale offre diversi metodi di gestione dei servizi.
- Crea gruppi e criteri Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) per gli utenti IAM
Esamina i passi per scrivere le istruzioni dei criteri per un gruppo IAM per abilitare l'accesso degli utenti IAM alle risorse Oracle Cloud Infrastructure, in particolare alle istanze Oracle Database che utilizzano i token di database IAM. - Autorizzare gli utenti di Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) su Oracle Database
Esaminare i passi per autorizzare gli utenti IAM su un'istanza di Oracle Database. - Per mappare in modo esclusivo un utente IAM locale a un utente globale di Oracle Database
È possibile mappare un utente IAM locale in modo esclusivo a un utente globale di Oracle Database. - Aggiungi ruoli Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) su Oracle Database
Facoltativamente, crea ruoli globali per fornire ruoli e privilegi di database aggiuntivi agli utenti IAM quando più utenti IAM vengono mappati allo stesso utente globale condiviso. - Creare la password del database Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) per gli utenti IAM
Per aggiungere un utente IAM e consentire all'utente IAM di eseguire il login a Oracle Database fornendo un nome utente e una password, è necessario creare una password del database IAM.
Crea gruppi e criteri IAM (Identity and Access Management) Oracle Cloud Infrastructure (OCI) per gli utenti IAM
Rivedere i passi per scrivere le istruzioni dei criteri per un gruppo IAM per abilitare l'accesso utente IAM alle risorse Oracle Cloud Infrastructure, in particolare le istanze Oracle Database che utilizzano i token di database IAM.
Un criterio è un gruppo di istruzioni che specifica chi può accedere a determinate risorse e come. È possibile concedere l'accesso per l'intera tenancy, i database di un compartimento o i singoli database. Ciò significa che si scrive un'istruzione criterio 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 a Oracle Database. Quando si utilizzano i verificatori delle password del database IAM per accedere a Oracle Database, non è necessario un criterio.
- Creare un gruppo IAM per gli utenti IAM che accederanno al database. Rivedere la documentazione di IAM OCI per la creazione di gruppi e l'aggiunta di utenti IAM a un gruppo.
Ad esempio, creare il gruppo DBUsers. Per ulteriori informazioni, vedere Gestione dei gruppi.
- Scrivere istruzioni dei criteri per abilitare l'accesso alle risorse di Oracle Cloud Infrastructure.
- Nella console di Oracle Cloud Infrastructure fare clic su Identity and Security, quindi su Policy.
- Per scrivere un criterio, fare clic su Crea criterio, quindi immettere un nome e una descrizione.
- Utilizzare la Costruzione guidata criteri per creare un criterio. Ad esempio, per creare un criterio che consenta agli utenti del gruppo IAM DBUsers di accedere a qualsiasi Oracle Database nella propria tenancy:
Allow group DBUsers to use database-connections in tenancyDove,
database-connectionsè il nome della risorsa OCI per connettersi al database.Useè il verbo minimo per consentire l'accesso al database. È possibile utilizzare siausechemanage.Ad esempio, per creare un criterio che limiti i membri del gruppo DBUsers ad accedere ai database Oracle solo nel compartimento testing_compartment:allow group DBUsers to use database-connections in compartment testing_compartmentAd esempio, per creare un criterio che limiti l'accesso di gruppo a un singolo database in un compartimento, effettuare le operazioni riportate di seguito.allow group DBUsers to use database-connections in compartment testing_compartment where target.database.id = 'ocid1.database.oc1.iad.aaaabbbbcccc' - Fare clic su Crea.
Per ulteriori informazioni sui criteri, vedere Gestione dei criteri.
- I criteri possono consentire agli utenti IAM di accedere alle istanze di Oracle Database nell'intera tenancy, in un compartimento o di limitare l'accesso a una singola istanza di Oracle Database.
- È necessario utilizzare i gruppi dinamici per i principal delle istanze e i principal delle risorse. È possibile creare gruppi dinamici e fare riferimento ai gruppi dinamici nei criteri creati per accedere a Oracle Cloud Infrastructure. Per informazioni dettagliate, vedere Accesso alle risorse cloud mediante la configurazione di criteri e ruoli e la gestione dei gruppi dinamici.
Argomenti correlati
Autorizza utenti Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) su Oracle Database
Rivedere i passi per autorizzare gli utenti IAM su un'istanza di Oracle Database.
Per autorizzare gli utenti IAM a consentire l'accesso a Oracle Database, mappare gli utenti globali del database ai gruppi IAM o direttamente agli utenti IAM con istruzioni CREATE USER o ALTER USER con la clausola IDENTIFIED GLOBALLY AS.
L'autorizzazione degli utenti IAM a un'istanza di Oracle Database funziona mediante il mapping degli 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 database, effettuare le operazioni riportate di seguito.
- Eseguire il login come utente con privilegi DBA al database abilitato per l'uso di IAM. Un utente con il ruolo DBA dovrà disporre dei privilegi di sistema
CREATE USEReALTER USERnecessari per questi passi. - Creare un mapping tra l'utente (schema) di Oracle Database con le istruzioni
CREATE USERoALTER USERe includere la clausolaIDENTIFIED GLOBALLY AS, specificando il nome del gruppo IAM. Utilizzare la sintassi seguente per mappare un utente globale a un gruppo IAM:
Ad esempio, per mappare un gruppo IAM denominato db_sales_group a un utente globale del database condiviso denominato sales_group:CREATE USER global_user IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=IAM_GROUP_NAME';CREATE USER sales_group IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=db_sales_group';Questo crea un mapping utenti globale condiviso. Il mapping con l'utente globale
sales_groupè valido per tutti gli utenti del gruppo IAM. Pertanto, chiunque nel filedb_sales_grouppuò eseguire il login al database utilizzando le proprie credenziali IAM tramite il mapping condiviso dell'utente globalesales_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 sonoIDENTIFIED GLOBALLYpossono continuare a eseguire il login come prima, anche quando Oracle Database è abilitato per l'autenticazione IAM.
Per mappare in modo esclusivo un utente IAM locale a un utente globale di Oracle Database
Puoi mappare un utente IAM locale esclusivamente a un utente globale di Oracle Database.
- Eseguire il login come utente con privilegi DBA al database abilitato per l'uso di IAM. Un utente con il ruolo DBA avrà bisogno dei privilegi di sistema
CREATE USEReALTER USERnecessari per questi passi. - Creare un mapping tra l'utente (schema) Oracle Database con le 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 denominatopeter_fitche mappare questo utente a un utente IAM locale esistente denominatopeterfitch:CREATE USER peter_fitch IDENTIFIED GLOBALLY AS 'IAM_PRINCIPAL_NAME=peterfitch'
È possibile utilizzare il principal istanza o il principal risorsa per recuperare i token di database per stabilire una connessione dall'applicazione a un'istanza di Oracle 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 delle istanze e delle risorse. È possibile mapparli solo tramite un mapping condiviso e inserire l'istanza o l'istanza di risorsa in un gruppo dinamico IAM
Aggiungi ruoli Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) su Oracle Database
Facoltativamente, creare ruoli globali per fornire ulteriori ruoli e privilegi di database agli utenti IAM quando più utenti IAM vengono mappati allo stesso utente globale condiviso.
La creazione di ruoli globali è facoltativa, ma utile quando si assegnano utenti a uno schema condiviso.
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 diversi gruppi di utenti che utilizzano tutti lo stesso schema condiviso.
La concessione di ruoli aggiuntivi agli utenti IAM in Oracle Database funziona mediante il mapping dei ruoli globali di Oracle Database ai gruppi IAM.
- Eseguire il login come utente con privilegi DBA al database abilitato per l'uso di IAM. Per questi passi è necessario un utente con privilegi di sistema
CREATE ROLEeALTER ROLEper i DBA. - Impostare l'autorizzazione del database per i ruoli di Oracle Database con le 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:
Ad esempio, per mappare un gruppo IAM denominato ExporterGroup a un ruolo globale del database condiviso denominato export_role:CREATE ROLE global_role IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=IAM_GROUP_of_WHICH_the_IAM_USER_IS_a_MEMBER';CREATE ROLE export_role IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=ExporterGroup'; - Utilizzare le istruzioni
GRANTper concedere i privilegi o altri ruoli richiesti 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';
Per aggiungere mapping di ruoli globali aggiuntivi per altri gruppi IAM, attenersi alla procedura riportata di seguito per ogni gruppo IAM.
Crea password del database Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) per gli utenti IAM
Per aggiungere un utente IAM e consentire all'utente IAM di eseguire il login a Oracle Database fornendo un nome utente e una password, è necessario creare una password per il database IAM.
Per ulteriori informazioni, vedere Utilizzo delle password del database IAM.
Argomenti correlati
Configurazione della connessione client
Configurare vari client per utilizzare l'autenticazione IAM.
- Configurare una connessione client per SQL*Plus che utilizza un verificatore password database IAM
È possibile configurare SQL*Plus in modo che utilizzi un verificatore password database IAM. - Configura connessione client per SQL*Plus che utilizza un token IAM
È possibile configurare una connessione client per SQL*Plus che utilizza un token IAM. - Connessioni client che utilizzano un token richiesto da un nome utente IAM e da una password del database
È possibile creare una connessione client che utilizza un token richiesto da un nome utente IAM e da una password del database. - Usa principal dell'istanza per accedere al database con autenticazione IAM
Dopo che l'utente ADMIN ha abilitato IAM OCI nel database, un'applicazione può accedere al database tramite un token di database IAM OCI utilizzando un principal dell'istanza. - Configura autenticazione proxy
L'autenticazione proxy consente a un utente IAM di eseguire il proxy per uno schema di database per task quali la manutenzione dell'applicazione. - Usa database link con utenti autenticati IAM
È possibile utilizzare un database link per connettersi da un'istanza di database a un'altra come utente IAM OCI.
Configurare una connessione client per SQL*Plus che utilizza un verificatore password database IAM
È possibile configurare SQL*Plus in modo che utilizzi un verificatore password del database IAM.
CONNECT user_name@db_connect_string
Enter password: passwordIn questa specifica, user_name è il nome utente IAM. È previsto un limite di 128 byte per il valore domain_name/user_name combinato.
peter_fitch può eseguire il login a un'istanza di database.
sqlplus /nolog
connect peter_fitch@db_connect_string
Enter password: passworduser_name e . Ad esempio:
"peter_fitch@example.com"@db_connect_string
"IAM database password"Argomento padre: Configurazione della connessione client
Configurare la 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 l'amministratore del 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 IAM diretta, scarica, installa e configura l'interfaccia CLI OCI. Vedere Avvio rapido dell'interfaccia della 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
db-token. Ad esempio:- Recuperare un file
db-tokencon un fileAPI-keyutilizzando l'interfaccia CLI OCI:oci iam db-token get - Recuperare
db-tokencon un token di sicurezza (o sessione):oci iam db-token get --auth security_token - Recupera
db-tokencon un token di delega: quando si esegue il login alla cloud shell, il token di delega viene generato e posizionato automaticamente nella directory/etc. Per ottenere questo token, eseguire il comando seguente nell'interfaccia CLI OCI:oci iam db-token get - Utilizzo di un principal istanza per recuperare un
db-tokenutilizzando l'interfaccia CLI OCI:oci iam db-token get --auth instance_principal
Se 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
db-token.Per ulteriori informazioni, vedere Chiavi e OCID obbligatori.
- Recuperare un file
- Assicurarsi di utilizzare gli aggiornamenti delle release più recenti per il client Oracle Database release 19c.
Questa configurazione funziona solo con il client Oracle Database release 19c.
- Seguire il processo esistente per scaricare il wallet dal database e 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 in modo che utilizzi il token IAM aggiungendo
TOKEN_AUTH=OCI_TOKENal filesqlnet.ora. Poiché si utilizzeranno le posizioni predefinite per il file di token del database, non è necessario includere la posizione del token.
TOKEN_AUTHeTOKEN_LOCATIONnelle stringhe di connessionetnsnames.orahanno la precedenza sulle impostazionisqlnet.oraper la 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))) - Verificare che la corrispondenza DN sia abilitata cercando
TOKEN_AUTH, l'utente IAM può eseguire il login all'istanza di database eseguendo il comando riportato di seguito per avviare SQL*Plus. È possibile includere il descrittore di connessione stesso o utilizzare il nome del descrittore dal file tnsnames.ora.
connect /@exampledb_highconnect /@(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 db-token perché TOKEN_AUTH è già stato impostato, tramite il file sqlnet.ora o in una stringa di connessione. Il client di database ottiene il file db-token e lo firma utilizzando la chiave privata, quindi invia il token al 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 anziché utilizzare db-token.
Argomento padre: Configurazione della connessione client
Connessioni client che utilizzano un token richiesto da un nome utente IAM e da una password del database
È possibile creare una connessione client che utilizza un token richiesto da un nome utente IAM e dalla password del database.
- Gli utenti IAM possono connettersi all'istanza Oracle DBaaS utilizzando un token IAM recuperato utilizzando un nome utente IAM e una password del database IAM.
Per ulteriori informazioni, vedere Informazioni sulle connessioni client che utilizzano un token richiesto da un nome utente IAM e dalla password del database
- Per impostare questi parametri, modificare il file
sqlnet.orao il filetnsnames.ora.Per ulteriori informazioni, vedere Parametri da impostare per le connessioni client che utilizzano un token richiesto da un nome utente IAM e da una password del database
- È possibile configurare il client di database per recuperare il token del database IAM utilizzando il nome utente IAM e la password del database IAM forniti.
Per ulteriori informazioni, vedere Configurazione del client del database per il recupero di un token mediante un nome utente IAM e una password del database
- È possibile abilitare un nome utente IAM e un'area di memorizzazione password esterna sicura (SEPS) per richiedere il token del database IAM.
Per ulteriori informazioni, vedere Configurazione di un wallet dell'area di memorizzazione password esterna sicura per recuperare un token IAM
Argomenti correlati
- Connessioni client che utilizzano un token richiesto da un nome utente IAM e da una password del database
- Informazioni sulle connessioni client che utilizzano un token richiesto da un nome utente IAM e dalla password del database
- Parametri da impostare per le connessioni client che utilizzano un token richiesto da un nome utente IAM e da una password del database
- Configurazione del client del database per il recupero di un token mediante un nome utente IAM e una password del database
- Configurazione di un wallet dell'area di memorizzazione password esterna sicura per recuperare un token IAM
Argomento padre: Configurazione della connessione client
Usa principal istanza per accedere al database con autenticazione IAM
Dopo che l'utente ADMIN ha abilitato IAM OCI nel database, un'applicazione può accedere al database tramite un token di database IAM OCI utilizzando un principal dell'istanza.
Per ulteriori informazioni, vedere Accesso all'API di Oracle Cloud Infrastructure utilizzando i principal delle istanze.
Per ulteriori informazioni, vedere Accesso al database mediante un principal istanza o un principal risorsa.
Configura autenticazione proxy
L'autenticazione proxy consente a un utente IAM di eseguire il proxy per 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 sono in grado di verificare quale utente effettivo ha eseguito un'azione.
Un caso d'uso può trovarsi in un ambiente in cui un utente IAM denominato che è un amministratore del database dell'applicazione può eseguire l'autenticazione utilizzando le proprie credenziali e quindi il 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, pur continuando a utilizzare le credenziali IAM per l'autenticazione. Un amministratore del database dell'applicazione può collegarsi al database e quindi eseguire il proxy per uno schema dell'applicazione per gestire questo schema.
È possibile configurare l'autenticazione proxy sia per i metodi di autenticazione password che per l'autenticazione token.
Configurazione dell'autenticazione proxy per l'utente IAM
Per configurare l'autenticazione proxy per un utente IAM, è necessario che l'utente IAM disponga 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 al proxy.
Dopo aver verificato che si dispone di questo tipo di utente, modificare l'utente del database per consentire all'utente IAM di eseguire il proxy.
- Eseguire il login all'istanza di 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 il database di destinazione user.In. Nell'esempio seguente,
hrappè lo schema di database al quale eseguire il proxy epeterfitch_schemaè l'utente globale del database mappato in modo esclusivo all'utentepeterfitch.ALTER USER hrapp GRANT CONNECT THROUGH peterfitch_schema;
- 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 del proxy utente IAM sia per i metodi di autenticazione password che per i token.
- Connettersi come utente IAM e proxy all'utente del database. Eseguire i comandi
SHOW USEReSELECT SYS_CONTEXT.Si supponga, ad esempio, di voler controllare l'autenticazione proxy dell'utente IAM peterfitch quando questi funge da proxy per l'utente del database hrapp. Sarà necessario connettersi al database utilizzando i diversi tipi di metodi di autenticazione mostrati qui, ma l'output dei comandi eseguiti sarà lo stesso per tutti i tipi.
- Per l'autenticazione tramite 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"
- Per l'autenticazione tramite password:
Argomento padre: Configurazione della connessione client
Usa database link con utenti autenticati IAM
È possibile utilizzare un database link per connettersi da un'istanza di database a un'altra come utente IAM OCI.
È possibile utilizzare il database link utente connesso o utente fisso per connettersi a un database come utente IAM OCI.
Il database link utente corrente non è supportato per la connessione a un database nell'infrastruttura Exadata Cloud come utente IAM OCI.
-
Database link utente connesso: per un database link utente connesso, un utente IAM deve essere mappato a uno schema sia nei database di origine che in quelli di destinazione connessi da un database link. È possibile utilizzare un verificatore password del database o un token del database IAM per utilizzare un database link utente connesso.
-
Collegamento database 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.
Argomento padre: Configurazione della connessione client