Usa Microsoft Active Directory con Autonomous Database

È possibile configurare Autonomous Database per autenticare e autorizzare gli utenti di Microsoft Active Directory.

Questa configurazione consente agli utenti di Active Directory di accedere ad Autonomous Database utilizzando le proprie credenziali Active Directory, incluse le password e Kerberos.

Prerequisiti per configurare CMU con Microsoft Active Directory su Autonomous Database

È possibile configurare Autonomous Database per autenticare e autorizzare gli utenti di Microsoft Active Directory.

A seconda della posizione in cui risiedono i server Active Directory, sono disponibili due opzioni per configurare Autonomous Database con CMU (Centrally Managed Users) con Microsoft Active Directory:

  • Server AD (Active Directory) accessibili pubblicamente: i server Active Directory sono accessibili da Autonomous Database tramite la rete Internet pubblica.

  • I server Active Directory (AD) risiedono in un endpoint privato: i server Active Directory risiedono in un endpoint privato e non sono accessibili da Autonomous Database tramite la rete Internet pubblica. In questo caso, è necessario un passo di configurazione aggiuntivo, come mostrato nell'ultimo passo di Configura CMU con Microsoft Active Directory su Autonomous Database, in cui è possibile impostare la proprietà del database ROUTE_OUTBOUND_CONNECTIONS.

Nota

Per informazioni sull'uso di Azure Active Directory con Autonomous Database, vedere Usa ID Microsoft Entra con Autonomous Database. L'opzione CMU supporta i server Microsoft Active Directory ma non supporta il servizio Azure Active Directory.

L'integrazione di Autonomous Database con CMU (Centrally Managed Users) garantisce l'integrazione con Microsoft Active Directory. CMU con Active Directory funziona mappando gli utenti globali e i ruoli globali del database Oracle agli utenti e ai gruppi di Microsoft Active Directory.

Di seguito sono riportati i prerequisiti necessari per configurare la connessione da Autonomous Database ad Active Directory.

  • Microsoft Active Directory deve essere installato e configurato. Per ulteriori informazioni, vedere AD DS Getting Started.

  • È necessario creare un utente della directory dei servizi Oracle in Active Directory. Per informazioni sull'account utente della directory dei servizi Oracle, vedere Connessione a Microsoft Active Directory.

  • Un amministratore di sistema di Active Directory deve aver installato il filtro password Oracle sui server Active Directory e impostare i gruppi di Active Directory con gli utenti di Active Directory per soddisfare i requisiti.

    Nota

    Questa operazione non è necessaria se si utilizza l'autenticazione Kerberos per CMU Active Directory. Per ulteriori informazioni, vedere Autenticazione Kerberos per CMU con Microsoft Active Directory.

    Se si utilizza l'autenticazione con password con CMU Active Directory per Autonomous Database, è necessario utilizzare la utility inclusa opwdintg.exe per installare il filtro password Oracle su Active Directory, estendere lo schema e creare tre nuovi gruppi ORA_VFR per tre tipi di generazione del verificatore password. Per informazioni sull'installazione del filtro password Oracle, vedere Connessione a Microsoft Active Directory.

  • Per configurare CMU per Autonomous Database, è necessario disporre del wallet del database di configurazione CMU, cwallet.sso e del file di configurazione CMU dsi.ora:

    • Se si è configurato CMU per un database in locale, è possibile ottenere questi file di configurazione dal database server in locale.

    • Se non si è configurato CMU per un database in locale, è necessario creare questi file. Quindi, carica i file di configurazione nel cloud per configurare CMU nell'istanza di Autonomous Database. È possibile convalidare il wallet e il file dsi.ora configurando CMU per un database in locale e verificando che un utente di Active Directory possa eseguire correttamente il login al database in locale con questi file di configurazione.

    Per i dettagli sul file wallet per CMU, vedere Creare il wallet per una connessione sicura e Verificare Oracle Wallet.

    Per informazioni dettagliate sul file dsi.ora per la utility CMU, vedere Creazione del file dsi.ora.

    Per informazioni dettagliate sulla configurazione di Active Directory per CMU e sulla risoluzione dei problemi CMU per i database in locale, vedere Come configurare gli utenti gestiti a livello centrale per le release del database 18c o successive (ID documento 2462012.1).

  • La porta 636 dei server Active Directory deve essere aperta ad Autonomous Database in Oracle Cloud Infrastructure. Ciò consente ad Autonomous Database di accedere ai server Active Directory.

  • Quando i server Active Directory si trovano su un endpoint pubblico:

    • I server Active Directory devono essere accessibili da Autonomous Database tramite la rete Internet pubblica.

    • È inoltre possibile estendere Active Directory in locale a Oracle Cloud Infrastructure, dove è possibile impostare i controller di dominio di sola lettura (RODC) per l'Active Directory in locale. Ciò consente di utilizzare gli RODC in Oracle Cloud Infrastructure per autenticare e autorizzare gli utenti Active Directory in locale per l'accesso ai database autonomi.

      Per ulteriori informazioni, vedere Estendere l'integrazione di Active Directory nel cloud ibrido.

Configurare CMU con Microsoft Active Directory su Autonomous Database

È possibile configurare Autonomous Database per autenticare e autorizzare gli utenti di Microsoft Active Directory.

Per configurare Autonomous Database per CMU per la connessione ad Active Directory, effettuare le operazioni riportate di seguito.

Nota

Quando si eseguono i passi di configurazione, connettersi al database come utente ADMIN.
  1. Verificare se nel database è abilitato un altro schema di autenticazione esterno e disabilitarlo.

    È possibile continuare con la configurazione CMU-AD sopra Kerberos per fornire l'autenticazione Kerberos CMU-AD per gli utenti di Microsoft Active Directory.

    Per ulteriori informazioni, vedere Autenticazione Kerberos per CMU con Microsoft Active Directory.

  2. Caricare i file di configurazione CMU, inclusi il file wallet del database, cwallet.sso e il file di configurazione CMU, dsi.ora nell'area di memorizzazione degli oggetti. Questo passo dipende dall'area di memorizzazione degli oggetti utilizzata.

    Il file di configurazione dsi.ora contiene le informazioni per trovare i server Active Directory.

    Se si utilizza l'area di memorizzazione degli oggetti Oracle Cloud Infrastructure, vedere Inserimento dei dati nello storage degli oggetti per i dettagli sul caricamento dei file.

  3. Eseguire la procedura DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION e passare un URI di posizione con l'argomento JSON params. È necessario inserire i file di configurazione cwallet.sso e dsi.ora nella posizione di storage degli oggetti specificata nel parametro location_uri.

    Ad esempio:

    BEGIN
       DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
           type     => 'CMU',
           params   => JSON_OBJECT('location_uri' value 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
                                   'credential_name' value 'my_credential_name')
       );
    END;
    /

    Oracle consiglia di memorizzare i file di configurazione CMU in un bucket privato nell'area di memorizzazione degli oggetti.

    In questo esempio, namespace-string è lo spazio di nomi dello storage degli oggetti Oracle Cloud Infrastructure e bucketname è il nome del bucket. Per ulteriori informazioni, vedere Informazioni sugli spazi di nomi dello storage degli oggetti.

    Il file credential_name utilizzato in questo passo sono le credenziali per accedere all'area di memorizzazione degli oggetti.

    La creazione di una credenziale per accedere all'area di memorizzazione degli oggetti di Oracle Cloud Infrastructure non è necessaria se si abilitano le credenziali del principal risorsa. Per ulteriori informazioni, consulta la sezione relativa all'uso del principal delle risorse per accedere alle risorse di Oracle Cloud Infrastructure.

    Se location_uri è un URL preautenticato o pre-firmato, non è necessario fornire un credential_name.

    La procedura crea un oggetto directory denominato CMU_WALLET_DIR nel database e copia i file di configurazione CMU dalla posizione dell'area di memorizzazione degli oggetti all'oggetto directory. Questa procedura imposta inoltre la proprietà del database CMU_WALLET sul valore 'CMU_WALLET_DIR' e imposta il valore del parametro LDAP_DIRECTORY_ACCESS sul valore PASSWORD per abilitare l'accesso dall'istanza di Autonomous Database ad Active Directory.

  4. Dopo aver abilitato l'autenticazione CMU, rimuovere i file di configurazione CMU, inclusi il wallet del database cwallet.sso e il file di configurazione CMU dsi.ora dall'area di memorizzazione degli oggetti. È possibile utilizzare i metodi dell'area di memorizzazione degli oggetti locale per rimuovere questi file oppure utilizzare DBMS_CLOUD.DELETE_OBJECT per eliminare i file dall'area di memorizzazione degli oggetti.
  5. Quando i server Active Directory si trovano su un endpoint privato, eseguire ulteriori passi di configurazione per fornire l'accesso all'endpoint privato.
    1. Impostare la proprietà del database ROUTE_OUTBOUND_CONNECTIONS sul valore 'PRIVATE_ENDPOINT'.
    2. Verificare che il file di configurazione CMU-AD dsi.ora includa i nomi host. Quando ROUTE_OUTBOUND_CONNECTIONS è impostato su 'PRIVATE_TARGET', gli indirizzi IP non possono essere specificati in dsi.ora.

Nota per CMU con Active Directory su Autonomous Database:

  • Per CMU con Autonomous Database sono supportati solo l'autenticazione "password" o Kerberos. Quando si utilizza l'autenticazione CMU con Autonomous Database, non sono supportati altri metodi di autenticazione CMU come Azure AD, OCI IAM e PKI.

Per istruzioni sulla disabilitazione dell'accesso da Autonomous Database ad Active Directory, vedere Disabilita accesso a Active Directory in Autonomous Database.

Per informazioni su DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION, vedere ENABLE_EXTERNAL_AUTHENTICATION Procedura.

Per ulteriori informazioni sulla configurazione di CMU con Microsoft Active Directory, vedere Configurazione di utenti gestiti centralmente con Microsoft Active Directory.

Autenticazione Kerberos per CMU con Microsoft Active Directory

È possibile configurare Autonomous Database in modo che utilizzi l'autenticazione Kerberos per CMU con utenti Microsoft Active Directory. Questa configurazione consente agli utenti CMU Active Directory (CMU-AD) di accedere a un'istanza di Autonomous Database utilizzando le credenziali Kerberos.

Kerberos può essere configurato con o senza CMU-AD. Basta configurare Kerberos per creare e gestire un utente del database per ogni utente Kerberos. La configurazione di Kerberos con CMU consente di mappare un gruppo Active Directory di utenti Kerberos a un singolo utente di database, schema condiviso, in modo che l'accesso al database possa essere controllato dall'appartenenza al gruppo Active Directory. Per informazioni dettagliate sulla configurazione di Kerberos senza CMU-AD, vedere Configure Kerberos Authentication with Autonomous Database.

Nota

Quando si implementano sia l'autenticazione Kerberos che l'autenticazione CMU-AD per l'autorizzazione, Oracle consiglia di implementare prima l'autenticazione Kerberos e quindi di aggiungere l'autorizzazione CMU-AD.
  1. Abilitare Kerberos nell'istanza di Autonomous Database utilizzando il server Kerberos Microsoft Active Directory.

    Solo i server Kerberos Microsoft Active Directory sono supportati per Kerberos quando si configura l'autenticazione Kerberos con CMU-AD.

    1. Per abilitare l'autenticazione Kerberos per Autonomous Database, è necessario ottenere i file di configurazione Kerberos: krb.conf e il file della tabella delle chiavi di servizio v5srvtab.

      Per generare questi file quando si configura l'autenticazione Kerberos con CMU-AD è necessario il nome host del server. È possibile ottenere il valore dell'host del server dall'attributo PUBLIC_DOMAIN_NAME nella colonna CLOUD_IDENTITY di V$PDBS. Questo valore è diverso dal nome dominio completamente qualificato (FQDN) per un database in un endpoint privato.

      Usare il comando seguente per ottenere il nome host del server:

      SELECT guid ||'/'|| json_value(cloud_identity, '$.PUBLIC_DOMAIN_NAME')
          "KSERVICE/KINSTANCE" FROM v$pdbs;

      È possibile utilizzare un comando simile al seguente per generare il file della tabella delle chiavi di servizio:

      ktpass -princ ORACLE/DATABASE_SERVER_HOST_NAME.DATABASE_SERVER_HOST_DOMAIN@ACTIVE_DIRECTORY_DEFAULT_DOMAIN
                       -pass ACTIVE_DIRECTORY_PASSWORD 
                       -mapuser DATABASE_SERVER_HOST_NAME 
                       -crypto ALL 
                       -ptype KRB5_NT_PRINCIPAL 
                       -out database.keytab

      Ad esempio:

      ktpass -princ ORACLE/user.example.com@example.com 
                       -pass password -mapuser dbexamplekrb 
                       -crypto ALL -ptype KRB5_NT_PRINCIPAL -out database.keytab

      Per ulteriori informazioni su questi file e sui passi necessari per ottenerli, vedere Configurazione dell'autenticazione Kerberos.

    2. Copiare i file di configurazione Kerberos krb.conf e v5srvtab in un bucket nell'area di memorizzazione degli oggetti.

      Questo passo varia a seconda dell'area di memorizzazione degli oggetti utilizzata.

      Se si utilizza l'area di memorizzazione degli oggetti Oracle Cloud Infrastructure, vedere Inserimento dei dati nello storage degli oggetti per i dettagli sul caricamento dei file.

    3. Eseguire DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION per abilitare l'autenticazione esterna Kerberos.

      Ad esempio:

      BEGIN
         DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
             type     => 'KERBEROS',
             params   => JSON_OBJECT('location_uri' value 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
                                     'credential_name' value 'my_credential_name')
         );
      END;
      /
      Nota

      Oracle consiglia di memorizzare i file di configurazione Kerberos in un bucket privato nell'area di memorizzazione degli oggetti.

      In questo esempio, namespace-string è lo spazio di nomi dello storage degli oggetti Oracle Cloud Infrastructure e bucketname è il nome del bucket. Per ulteriori informazioni, vedere Informazioni sugli spazi di nomi dello storage degli oggetti.

      Il valore credential_name utilizzato in questo passo sono le credenziali per l'area di memorizzazione degli oggetti.

      Per ulteriori informazioni, vedere Abilita autenticazione Kerberos su Autonomous Database.

    4. Verificare che Kerberos sia configurato e abilitato.
      SELECT property_value FROM database_properties 
            WHERE property_name='KERBEROS_DIRECTORY';
  2. Abilita e configura CMU-AD su Autonomous Database.
    1. Caricare i file di configurazione CMU, inclusi il file wallet del database, cwallet.sso e il file di configurazione CMU, dsi.ora nell'area di memorizzazione degli oggetti.

      Caricare il file cwallet.sso in modo che la configurazione CMU-AD disponga delle credenziali per l'istanza di Autonomous Database per connettersi all'account del servizio Active Directory.

      Il file di configurazione dsi.ora contiene le informazioni per trovare i server Active Directory.

      Questo passo varia a seconda dell'area di memorizzazione degli oggetti utilizzata.

      Se si utilizza l'area di memorizzazione degli oggetti Oracle Cloud Infrastructure, vedere Inserimento dei dati nello storage degli oggetti per i dettagli sul caricamento dei file.

    2. Eseguire la procedura DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION e passare un URI di posizione con l'argomento JSON params. È necessario inserire i file di configurazione cwallet.sso e dsi.ora nella posizione di storage degli oggetti specificata nel parametro location_uri.

      Ad esempio:

      BEGIN
         DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
             type     => 'CMU',
             params   => JSON_OBJECT('location_uri' value 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
                                     'credential_name' value 'my_credential_name')
         );
      END;
      /

      Oracle consiglia di memorizzare i file di configurazione CMU in un bucket privato nell'area di memorizzazione degli oggetti.

      In questo esempio, namespace-string è lo spazio di nomi dello storage degli oggetti Oracle Cloud Infrastructure e bucketname è il nome del bucket. Per ulteriori informazioni, vedere Informazioni sugli spazi di nomi dello storage degli oggetti.

      Il file credential_name utilizzato in questo passo sono le credenziali per accedere all'area di memorizzazione degli oggetti.

      La creazione di una credenziale per accedere all'area di memorizzazione degli oggetti di Oracle Cloud Infrastructure non è necessaria se si abilitano le credenziali del principal risorsa. Per ulteriori informazioni, consulta la sezione relativa all'uso del principal delle risorse per accedere alle risorse di Oracle Cloud Infrastructure.

      Se location_uri è un URL preautenticato o pre-firmato, non è necessario fornire un credential_name.

      Per ulteriori informazioni, vedere Prerequisiti per la configurazione di CMU con Microsoft Active Directory su Autonomous Database.

    3. Verificare che CMU-AD sia configurato e abilitato.
      SELECT property_value FROM database_properties
            WHERE property_name='CMU_WALLET';
  3. Dopo aver completato i passi 1 e 2, verificare che la configurazione dell'autenticazione Kerberos con CMU-AD sia stata completata.
    1. Eseguire il login all'istanza di Autonomous Database come utente Active Directory in modo che le informazioni SYS_CONTEXT vengano popolate nel file USERENV.
    2. Eseguire una query sul SYS_CONTEXT USERENV.
      SELECT SYS_CONTEXT('USERENV','AUTHENTICATION_METHOD') FROM DUAL;
      
      SYS_CONTEXT('USERENV','AUTHENTICATION_METHOD')                                 
      --------------------------------------------------------------------------------
      KERBEROS_GLOBAL

    Quando l'autenticazione Kerberos è configurata e abilitata senza CMU-AD, questa query restituisce: KERBEROS. Per ulteriori informazioni, vedere Configura autenticazione Kerberos con Autonomous Database.

    Quando l'autenticazione CMU-AD è configurata senza Kerberos, questa query restituisce: PASSWORD_GLOBAL. Per ulteriori informazioni, vedere Prerequisiti per la configurazione di CMU con Microsoft Active Directory su Autonomous Database.

Note per l'utilizzo dell'autenticazione Kerberos con CMU-AD:

  • Non è necessario aggiungere il filtro delle password quando si utilizza l'autenticazione Kerberos con CMU-AD. Per ulteriori informazioni, vedere Prerequisiti per la configurazione di CMU con Microsoft Active Directory su Autonomous Database.

  • L'aggiunta o la rimozione di utenti di Active Directory è supportata, allo stesso modo di CMU con Active Directory quando si utilizza l'autenticazione con password. Per ulteriori informazioni, vedere Aggiungi utenti Microsoft Active Directory su Autonomous Database.

  • Le restrizioni esistenti relative all'autenticazione con gli strumenti integrati di Autonomous Database con CMU con password Active Directory si applicano anche a CMU con Active Directory con autenticazione Kerberos. Per ulteriori informazioni, vedere Tools Restrictions with Active Directory on Autonomous Database.

  • Utilizzare DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION per disabilitare l'autenticazione CMU-AD con Kerberos. Per ulteriori informazioni, vedere DISABLE_EXTERNAL_AUTHENTICATION Procedura.

  • Quando i server CMU-AD si trovano su un endpoint privato, per utilizzare CMU-AD con autenticazione Kerberos, il nome host del server utilizzato per generare la scheda della chiave deve essere impostato sul valore dell'attributo PUBLIC_DOMAIN_NAME nella colonna CLOUD_IDENTITY di V$PDBS. Questo valore è diverso dal nome FQDN per un database di endpoint privati.

Aggiungi ruoli Microsoft Active Directory su Autonomous Database

Per aggiungere ruoli Active Directory, mappare i ruoli globali del database ai gruppi Active Directory con le istruzioni CREATE ROLE o ALTER ROLE e includere la clausola IDENTIFIED GLOBALLY AS.

Per aggiungere ruoli globali per i gruppi Active Directory in Autonomous Database, effettuare le operazioni riportate di seguito.

  1. Eseguire il login come utente ADMIN al database configurato per l'utilizzo di Active Directory (l'utente ADMIN dispone dei privilegi di sistema CREATE ROLE e ALTER ROLE necessari per questi passi).
  2. Impostare l'autorizzazione del database per i ruoli di Autonomous Database con l'istruzione CREATE ROLE o ALTER ROLE. Includere la clausola IDENTIFIED GLOBALLY AS e specificare il DN di un gruppo Active Directory.

    Utilizzare la sintassi seguente per mappare un gruppo di utenti di directory a un ruolo globale del database:

    CREATE ROLE global_role IDENTIFIED GLOBALLY AS 
         'DN_of_an_AD_GROUP_of_WHICH_the_AD_USER_IS_a_MEMBER';

    Ad esempio:

    CREATE ROLE widget_sales_role IDENTIFIED GLOBALLY AS
         'CN=widget_sales_group,OU=sales,DC=production,DC=example,DC=com';

    In questo esempio tutti i membri di widget_sales_group sono autorizzati con il ruolo di database widget_sales_role quando eseguono il login al database.

  3. Utilizzare le istruzioni GRANT per concedere i privilegi o altri ruoli richiesti al ruolo globale.

    Ad esempio:

    GRANT CREATE SESSION TO WIDGET_SALES_ROLE;
    GRANT DWROLE TO WIDGET_SALES_ROLE;

    DWROLE è un ruolo predefinito con privilegi comuni definiti. Per informazioni sull'impostazione dei privilegi comuni per gli utenti di Autonomous Database, vedere Gestisci privilegi utente su Autonomous Database - Connessione con uno strumento client.

  4. Se si desidera associare un ruolo di database esistente a un gruppo Active Directory, utilizzare l'istruzione ALTER ROLE per modificare il ruolo di database esistente per mappare il ruolo a un gruppo Active Directory.

    Utilizzare la seguente sintassi per modificare un ruolo di database esistente per mapparlo a un gruppo Active Directory:

    ALTER ROLE existing_database_role 
       IDENTIFIED GLOBALLY AS 'DN_of_an_AD_GROUP_of_WHICH_the_AD_USER_IS_a_MEMBER';
  5. Se si desidera creare mapping di ruoli globali aggiuntivi per altri gruppi Active Directory, attenersi alla procedura riportata di seguito per ogni gruppo Active Directory.

Per ulteriori informazioni sulla configurazione dei ruoli con Microsoft Active Directory, vedere Configuring Authorization for Centrally Managed Users nella Oracle Database 19c Security Guide o nella Oracle Database 23ai Security Guide.

Aggiungi utenti Microsoft Active Directory su Autonomous Database

Per aggiungere utenti di Active Directory per accedere a un database, mappare gli utenti globali del database ai gruppi o agli utenti di Active Directory con istruzioni CREATE USER o ALTER USER (con clausola IDENTIFIED GLOBALLY AS).

L'integrazione di Autonomous Database con Active Directory funziona mediante il mapping diretto di utenti e gruppi di Microsoft Active Directory a utenti globali e ruoli globali del database Oracle.

Per aggiungere utenti globali per gruppi o utenti Active Directory in Autonomous Database, effettuare le operazioni riportate di seguito.

  1. Eseguire il login come utente ADMIN al database configurato per l'utilizzo di Active Directory (l'utente ADMIN dispone dei privilegi di sistema CREATE USER e ALTER USER necessari per questi passi).
  2. Impostare l'autorizzazione del database per gli utenti di Autonomous Database con le istruzioni CREATE USER o ALTER USER e includere la clausola IDENTIFIED GLOBALLY AS, specificando il DN di un utente o di un gruppo Active Directory.

    Utilizzare la sintassi seguente per mappare un utente di directory a un utente globale del database:

    CREATE USER global_user IDENTIFIED GLOBALLY AS 'DN_of_an_AD_USER';

    Utilizzare la sintassi seguente per mappare un gruppo di directory a un utente globale del database:

    CREATE USER global_user IDENTIFIED GLOBALLY AS
        'DN_of_an_AD_GROUP_of_WHICH_the_AD_USER_IS_a_MEMBER';

    Ad esempio, per mappare un gruppo di directory denominato widget_sales_group nell'unità organizzativa sales del dominio production.example.com a un utente globale del database condiviso denominato WIDGET_SALES:

    CREATE USER widget_sales IDENTIFIED GLOBALLY AS
         'CN=widget_sales_group,OU=sales,DC=production,DC=example,DC=com';
    

    Questo crea un mapping utenti globale condiviso. Il mapping, con l'utente globale widget_sales, è valido per tutti gli utenti del gruppo Active Directory. Pertanto, chiunque nel file widget_sales_group può eseguire il login al database utilizzando le proprie credenziali Active Directory (attraverso il mapping condiviso dell'utente globale widget_sales).

  3. Se si desidera che gli utenti di Active Directory utilizzino un utente di database esistente, ne possiedano lo schema e possiedano i dati esistenti, utilizzare ALTER USER per modificare un utente di database esistente per mappare l'utente a un gruppo o a un utente di Active Directory.
    • Utilizzare la seguente sintassi per modificare un utente di database esistente per mapparlo a un utente di Active Directory:

      ALTER USER existing_database_user IDENTIFIED GLOBALLY AS 'DN_of_an_AD_USER';
    • Utilizzare la seguente sintassi per modificare un utente di database esistente per mapparlo a un gruppo Active Directory:

      ALTER USER existing_database_user 
           IDENTIFIED GLOBALLY AS 'DN_of_an_AD_GROUP_of_WHICH_the_AD_USER_IS_a_MEMBER';
  4. Se si desidera creare mapping utente globali aggiuntivi per altri gruppi o utenti di Active Directory, attenersi alla procedura riportata di seguito per ogni gruppo o utente di Active Directory.

Per ulteriori informazioni sulla configurazione dei ruoli con Microsoft Active Directory, vedere Configuring Authorization for Centrally Managed Users nella Oracle Database 19c Security Guide o nella Oracle Database 23ai Security Guide.

Limitazioni degli strumenti con Active Directory su Autonomous Database

Note per l'utilizzo degli strumenti di Autonomous Database con Active Directory:

Connessione ad Autonomous Database con credenziali utente Active Directory

Dopo che l'utente ADMIN ha completato i passi di configurazione di CMU Active Directory e ha creato ruoli globali e utenti globali, gli utenti eseguono il login al database utilizzando il nome utente e la password di Active Directory.

Nota

Non eseguire il login utilizzando un nome utente globale. I nomi utente globali non dispongono di una password e la connessione con un nome utente globale non riuscirà. Per eseguire il login al database, è necessario disporre di un mapping utenti globale in Autonomous Database. Impossibile eseguire il login al database con solo mapping di ruoli globali.
  1. Per eseguire il login al database utilizzando un nome utente e una password di Active Directory, connettersi come indicato di seguito.
    CONNECT "AD_DOMAIN\AD_USERNAME"/AD_USER_PASSWORD@TNS_ALIAS_OF_THE_AUTONOMOUS_DATABASE;

    Ad esempio:

    CONNECT "production\pfitch"/password@adbname_medium;

    È necessario includere le virgolette doppie quando il dominio Active Directory viene incluso insieme al nome utente, come nell'esempio seguente: "production\pfitch".

    In questo esempio, il nome utente di Active Directory è pfitch nel dominio production. L'utente Active Directory è un membro del gruppo widget_sales_group identificato dal relativo DN 'CN=widget_sales_group,OU=sales,DC=production,DC=example,DC=com'.

Dopo aver configurato CMU con Active Directory su Autonomous Database e aver impostato l'autorizzazione Active Directory, con ruoli globali e utenti globali, è possibile connettersi al database utilizzando uno dei metodi di connessione descritti in Connetti ad Autonomous Database. Quando ci si connette, se si desidera utilizzare un utente di Active Directory, utilizzare le credenziali utente di Active Directory. Ad esempio, specificare un nome utente nel seguente formato: "AD_DOMAIN\AD_USERNAME" (è necessario includere le virgolette doppie) e utilizzare AD_USER_PASSWORD per la password.

Se l'istanza di Autonomous Database è in modalità limitata, questa modalità consente solo agli utenti con il privilegio RESTRICTED SESSION di connettersi al database. L'utente ADMIN dispone di questo privilegio. È possibile utilizzare la modalità di accesso limitato per eseguire task amministrativi quali l'indicizzazione, il caricamento dei dati o altre attività pianificate. Per ulteriori informazioni, vedere Modificare la modalità operativa di Autonomous Database in sola lettura/scrittura o con limitazioni.

Verificare le informazioni sulla connessione utente Active Directory con Autonomous Database

Quando gli utenti eseguono il login al database utilizzando il nome utente e la password di Active Directory, è possibile verificare e controllare l'attività dell'utente.

Ad esempio, quando l'utente pfitch esegue il login:

CONNECT "production\pfitch"/password@exampleadb_medium;

Il nome utente di accesso dell'utente Active Directory (samAccountName) è pfitch e widget_sales_group è il nome del gruppo Active Directory e widget_sales è l'utente globale del database.

Dopo aver eseguito il login al database con pfitch, il comando SHOW USER mostra il nome utente globale:

SHOW USER;

USER is "WIDGET_SALES"

Il comando seguente mostra il DN (Distinguished Name) dell'utente di Active Directory:

SELECT SYS_CONTEXT('USERENV', 'ENTERPRISE_IDENTITY') FROM DUAL;

Ad esempio, è possibile verificare l'identità aziendale di questo utente gestito centralmente:

SQL> SELECT SYS_CONTEXT('USERENV', 'ENTERPRISE_IDENTITY') FROM DUAL;

SYS_CONTEXT('USERENV','ENTERPRISE_IDENTITY')
----------------------------------------------------------------------
cn=Peter Fitch,ou=sales,dc=production,dc=examplecorp,dc=com

Il comando seguente mostra "AD_DOMAIN\AD_USERNAME":

SELECT SYS_CONTEXT('USERENV', 'AUTHENTICATED_IDENTITY') FROM DUAL;

Ad esempio, l'identità utente autenticata di Active Directory viene acquisita e sottoposta ad audit quando l'utente accede al database:

SQL> SELECT SYS_CONTEXT('USERENV', 'AUTHENTICATED_IDENTITY') FROM DUAL;

SYS_CONTEXT('USERENV','AUTHENTICATED_IDENTITY')
----------------------------------------------------------------------
production\pfitch

Per ulteriori informazioni, vedere Verifying the Centrally Managed User Logon Information in Oracle Database 19c Security Guide o Oracle Database 23ai Security Guide.

Rimuovi utenti e ruoli di Active Directory in Autonomous Database

Per rimuovere utenti e ruoli di Active Directory da Autonomous Database, utilizzare i comandi di database standard. Questa operazione non rimuove gli utenti o i gruppi correlati di Active Directory mappati dagli utenti o dai ruoli del database eliminati.

Per rimuovere utenti o ruoli da Autonomous Database, effettuare le operazioni riportate di seguito.

  1. Eseguire il login al database configurato per utilizzare Active Directory come utente a cui è stato concesso il privilegio di sistema DROP USER o DROP ROLE.
  2. Eliminare gli utenti globali o i ruoli globali mappati ai gruppi o agli utenti di Active Directory con l'istruzione DROP USER o DROP ROLE.
    Per ulteriori informazioni, vedere Rimuovi utenti su Autonomous Database.

Disabilita accesso a Active Directory su Autonomous Database

Descrive i passi per rimuovere la configurazione CMU da Autonomous Database (e disabilitare l'accesso LDAP da Autonomous Database ad Active Directory).

Dopo aver configurato l'istanza di Autonomous Database per accedere ad Active Directory CMU, è possibile disabilitare l'accesso come riportato di seguito.

  1. Connettersi ad Autonomous Database come utente ADMIN.
  2. Utilizzare DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION per disabilitare l'autenticazione CMU.
    Nota

    Per eseguire questa procedura, è necessario eseguire il login come utente ADMIN o disporre del privilegio EXECUTE su DBMS_CLOUD_ADMIN.

    Ad esempio:

    BEGIN   
       DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION;
    END;
    /

    Questa operazione disabilita l'autenticazione CMU nell'istanza di Autonomous Database.

Per ulteriori informazioni, vedere DISABLE_EXTERNAL_AUTHENTICATION Procedura.