Utilizza il principal risorsa per accedere alle risorse di Oracle Cloud Infrastructure

Puoi utilizzare un principal risorsa di Oracle Cloud Infrastructure con Autonomous AI Database. L'utente o l'amministratore della tenancy definiscono i criteri di Oracle Cloud Infrastructure e un gruppo dinamico che consente di accedere alle risorse di Oracle Cloud Infrastructure con un principal risorsa. Non è necessario creare un oggetto credenziale e Autonomous AI Database crea e protegge le credenziali del principal risorsa utilizzate per accedere alle risorse Oracle Cloud Infrastructure specificate.

Informazioni sull'uso del principal risorsa per accedere alle risorse di Oracle Cloud Infrastructure

Puoi utilizzare un principal risorsa per autenticare e accedere alle risorse di Oracle Cloud Infrastructure.

Un principal risorsa è costituito da un token di sessione temporaneo e da credenziali sicure che consentono al database di autenticarsi in altri servizi Oracle Cloud Infrastructure. Utilizzando un principal risorsa per accedere AI servizi, il token memorizzato con le credenziali in Autonomous AI Database è valido solo per le risorse alle quali è stato concesso l'accesso al gruppo dinamico.

Per utilizzare Resource Principal, l'utente o l'amministratore della tenancy definiscono i criteri di Oracle Cloud Infrastructure e un gruppo dinamico che consente di accedere alle risorse Oracle Cloud Infrastructure con un principal risorsa. Non è necessario creare un oggetto credenziale e Autonomous AI Database crea e protegge le credenziali del principal risorsa utilizzate per accedere alle risorse Oracle Cloud Infrastructure specificate.

Ad esempio, durante l'utilizzo di Autonomous AI Database potresti voler utilizzare le risorse Oracle Cloud Infrastructure per effettuare le operazioni riportate di seguito.

  • Accedere ai dati da un bucket di storage degli oggetti, eseguire alcune operazioni sui dati, quindi scrivere di nuovo i dati modificati nel bucket di storage degli oggetti.
  • Accedi ai tuoi vault, chiavi o segreti.

  • Elenca le richieste di lavoro o elenca gli errori delle richieste di lavoro.

Quando si utilizza il database, si esegue l'autenticazione e si accede al database come utente del database. Un utente di Autonomous AI Database non dispone di un'identità Oracle Cloud Infrastructure Identity and Access Management (IAM), pertanto come utente di Autonomous AI Database non è possibile utilizzare le credenziali del database per accedere AI servizi Oracle Cloud Infrastructure. Senza un principal risorsa, è necessario ottenere le credenziali per accedere alle risorse di Oracle Cloud Infrastructure e creare un oggetto credenziale per accedere a una risorsa da Autonomous AI Database.

Un principal risorsa consente alle risorse di essere autorizzate a eseguire azioni sui servizi Oracle Cloud Infrastructure. Ogni risorsa ha la propria identità e la risorsa esegue l'autenticazione utilizzando i certificati aggiunti. Questi certificati vengono creati automaticamente, assegnati alle risorse e ruotati, evitando la necessità di creare e gestire le proprie credenziali per accedere alla risorsa.

Autonomous AI Database ti consente di utilizzare un principal risorsa per eseguire l'autenticazione nelle API di Oracle Cloud Infrastructure utilizzando le seguenti interfacce:

  • Procedure e funzioni DBMS_CLOUD che accettano un argomento delle credenziali
  • API SDK Oracle Cloud Infrastructure PL/SQL

Quando esegui l'autenticazione utilizzando un principal risorsa, Autonomous AI Database fornisce un metodo sicuro per accedere alle risorse di Oracle Cloud Infrastructure.

Per impostare un principal risorsa in Autonomous AI Database sono necessari diversi passi:

Quando esegui l'autenticazione utilizzando un principal risorsa, non è necessario creare e gestire le credenziali per accedere alle risorse Oracle Cloud Infrastructure. Autonomous AI Database rende disponibile il principal delle risorse e protegge automaticamente il principal delle risorse.

Eseguire i prerequisiti per utilizzare il principal risorsa con Autonomous AI Database

Prima di effettuare una chiamata a una risorsa Oracle Cloud Infrastructure utilizzando un principal risorsa, un amministratore della tenancy Oracle Cloud Infrastructure deve creare criteri, gruppi dinamici e regole Oracle Cloud Infrastructure che definiscono i privilegi del principal risorsa.

Prima di utilizzare un principal risorsa con Autonomous AI Database, eseguire i passi riportati di seguito.

  1. Crea un gruppo dinamico Oracle Cloud Infrastructure.
    1. Nella console di Oracle Cloud Infrastructure fare clic su Identità e sicurezza e fare clic su Gruppi dinamici
    2. Fare clic su Crea gruppo dinamico e immettere un nome, una descrizione e una regola oppure utilizzare Costruzione guidata regole per aggiungere una regola.
    3. Fare clic su Crea.

    Le risorse che soddisfano i criteri della regola sono membri del gruppo dinamico. Quando si definisce una regola per un gruppo dinamico, considerare quale risorsa avrà accesso ad altre risorse.

    Ad esempio, si consideri gli esempi riportati di seguito.

    • Consente a un'istanza di Autonomous AI Database specifica di accedere a una risorsa.

      Autonomous AI Database viene specificato nel parametro resource.id con un OCID:

      resource.id = 'your_Autonomous_Database_instance_OCID'

      È necessario aggiungere un nome di dominio quando la tenancy utilizza un dominio di Identity. Ad esempio:

      resource.id = 'identity_domain_name/your_Autonomous_Database_instance_OCID'
    • Consenti tutti i database AI autonomi in un compartimento.

      I database AI autonomi vengono specificati nel parametro resource.type e il compartimento viene identificato da un OCID specificato nel parametro resource.compartment.id:

      ALL {resource.type = 'autonomousdatabase', resource.compartment.id = 'your_Compartment_OCID'}
    • Consenti tutte le risorse nel compartimento

      Il tipo di risorsa identificato dall'OCID, specificato nel parametro resource.compartment.id:

      ALL
              {resource.compartment.id='your_Compartment_OCID'}

    Per ulteriori informazioni sulla creazione di un gruppo dinamico e sulla creazione di regole per aggiungere risorse al gruppo, vedere Gestione dei gruppi dinamici.

  2. Scrivere istruzioni dei criteri per il gruppo dinamico per abilitare l'accesso alle risorse di Oracle Cloud Infrastructure.
    1. Nella console di Oracle Cloud Infrastructure fare clic su Identità e sicurezza e fare clic su Criteri.
    2. Per scrivere i criteri per un gruppo dinamico, fare clic su Crea criterio e immettere un nome e una descrizione.
    3. Utilizzare Costruzione guidata criteri per creare un criterio.

      Ad esempio, per creare un criterio che consenta l'accesso all'area di memorizzazione degli oggetti di Oracle Cloud Infrastructure per gestire bucket e oggetti nell'area di memorizzazione degli oggetti in una tenancy:

      Allow dynamic-group Example5 to manage buckets in tenancy
      Allow dynamic-group Example5 to manage objects in tenancy

      È necessario aggiungere un nome di dominio quando la tenancy utilizza un dominio di Identity. Ad esempio:

      Allow dynamic-group identity_domain_name/Example5 to manage buckets in tenancy
      Allow dynamic-group identity_domain_name/Example5 to manage objects in tenancy
    4. Fare clic su Crea.
Nota

Il token del principal risorsa viene memorizzato nella cache per due ore. Pertanto, se si modifica il criterio o il gruppo dinamico, è necessario attendere due ore per visualizzare l'effetto delle modifiche.

Per ulteriori informazioni sui criteri, vedere Funzionamento dei criteri e Gestione dei criteri.

Consenti al principal delle risorse di accedere alle risorse di Oracle Cloud Infrastructure

Eseguire i passi riportati di seguito per abilitare il principal risorsa in Autonomous AI Database.

Come prerequisito, configurare i gruppi dinamici e i criteri. Per ulteriori informazioni, vedere Eseguire i prerequisiti per utilizzare il principal risorsa con Autonomous AI Database.

Per abilitare un principal risorsa in Autonomous AI Database:

  1. L'utente ADMIN abilita il principal risorsa per l'istanza di Autonomous AI Database.

    Ad esempio:

    EXEC DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL();
    
    PL/SQL procedure successfully completed. 
    
    Per ulteriori informazioni, vedere ENABLE_RESOURCE_PRINCIPAL Procedure.

    In questo modo vengono create le credenziali OCI$RESOURCE_PRINCIPAL.

  2. (Facoltativo) Questo passo è obbligatorio solo se si desidera concedere l'accesso alla credenziale del principal risorsa a un utente del database diverso dall'utente ADMIN. L'utente ADMIN abilita il principal risorsa per un utente di database specificato.

    Ad esempio:

    EXEC DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL(username => 'adb_user');
    
    PL/SQL procedure successfully completed. 
    

    Ciò consente all'utente adb_user di accedere alle credenziali OCI$RESOURCE_PRINCIPAL.

    Se si desidera che l'utente specificato disponga dei privilegi per abilitare il principal risorsa per altri utenti, impostare il parametro grant_option su TRUE.

    Ad esempio:

    BEGIN
    DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL(
         username => 'adb_user',
         grant_option => TRUE);
    END;
    /

    Dopo aver eseguito questo comando, adb_user può abilitare il principal risorsa per un altro utente. Ad esempio, se si esegue la connessione come adb_user, è possibile eseguire il comando seguente:

    EXEC DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL(username => 'adb_user2');
    
    Per ulteriori informazioni, vedere ENABLE_RESOURCE_PRINCIPAL Procedure.
  3. Verificare che la credenziale del principal risorsa sia abilitata.

    Ad esempio, l'utente ADMIN esegue una query sulla vista DBA_CREDENTIALS:

    SELECT owner, credential_name FROM dba_credentials 
            WHERE credential_name = 'OCI$RESOURCE_PRINCIPAL' AND owner = 'ADMIN'; 
    
    OWNER  CREDENTIAL_NAME
    -----  ----------------------
    ADMIN  OCI$RESOURCE_PRINCIPAL 
    

    Ad esempio, come utente non ADMIN eseguire una query sulla vista ALL_TAB_PRIVS:

    SELECT grantee, table_name, grantor FROM ALL_TAB_PRIVS
       WHERE grantee = 'ADB_USER' 
            AND table_name = 'OCI$RESOURCE_PRINCIPAL' 
            AND table_schema = 'ADMIN';
    
    GRANTEE   TABLE_NAME                GRANTOR
    --------- -----------------------   -------------
    ADB_USER  OCI$RESOURCE_PRINCIPAL    ADMIN

L'abilitazione del principal risorsa in un'istanza di Autonomous AI Database è un'operazione una tantum. Non è necessario abilitare di nuovo il principal risorsa, a meno che non si esegua DBMS_CLOUD_ADMIN.DISABLE_RESOURCE_PRINCIPAL per disabilitare il principal risorsa.

Disabilita principal risorsa in Autonomous AI Database

Mostra i passi per disabilitare il principal risorsa per tutti gli utenti di Autonomous AI Database o per un utente specificato.

  1. Per disabilitare il principal risorsa per tutti gli utenti, come utente ADMIN, eseguire il comando seguente:
    EXEC DBMS_CLOUD_ADMIN.DISABLE_RESOURCE_PRINCIPAL();

    In questo modo viene rimossa la credenziale OCI$RESOURCE_PRINCIPAL.

  2. Verificare che la credenziale del principal risorsa sia disabilitata.

    Ad esempio:

    SELECT owner, credential_name FROM dba_credentials 
            WHERE credential_name = 'OCI$RESOURCE_PRINCIPAL' AND owner = 'ADMIN';
    
    No rows selected
    

Per rimuovere l'accesso alla credenziale del principal risorsa per un utente di database specificato, includere il parametro username. Ciò nega l'accesso utente specificato alla credenziale OCI$RESOURCE_PRINCIPAL.

Ad esempio:

EXEC DBMS_CLOUD_ADMIN.DISABLE_RESOURCE_PRINCIPAL(username => 'ADB_USER');

Per ulteriori informazioni, vedere DISABLE_RESOURCE_PRINCIPAL Procedure.

Utilizzare il principal risorsa con DBMS_CLOUD

Quando specifichi le credenziali del principal delle risorse con chiamate DBMS_CLOUD, il database autentica le richieste di Oracle Cloud Infrastructure per te e il database fornisce le credenziali per accedere alle risorse di Oracle Cloud Infrastructure.

Se non lo si è già fatto, eseguire i passi dei prerequisiti necessari:

Per utilizzare una procedura DBMS_CLOUD con le credenziali del principal risorsa:

  1. Utilizzare una procedura o una funzione DBMS_CLOUD e specificare OCI$RESOURCE_PRINCIPAL come nome della credenziale.

    Ad esempio, puoi accedere a Oracle Cloud Infrastructure Object Storage utilizzando un principal risorsa:

    CREATE TABLE CHANNELS
       (channel_id CHAR(1),
        channel_desc VARCHAR2(20),
        channel_class VARCHAR2(20)
       );
    /
    
    BEGIN
     DBMS_CLOUD.COPY_DATA(
        table_name =>'CHANNELS',
        credential_name =>'OCI$RESOURCE_PRINCIPAL',
        file_uri_list =>'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/channels.txt',
        format => json_object('delimiter' value ',')
     );
    END;
    /
    

Se si confrontano i passi necessari per accedere allo storage degli oggetti come mostrato in Crea credenziali e copia dati in una tabella esistente, notare che il passo 1, la creazione delle credenziali non è necessaria quando si utilizza il principal risorsa perché si utilizza la credenziale OCI$RESOURCE_PRINCIPAL definita dal sistema.