Gestire le credenziali

È possibile creare credenziali, elencare le credenziali o eliminare le credenziali in Autonomous Database.

Crea credenziali per accedere ai servizi cloud

Per accedere ai servizi nel cloud, ad esempio l'area di memorizzazione degli oggetti cloud, è innanzitutto necessario creare le credenziali in Autonomous Database.

  1. Creare e memorizzare le credenziali utilizzando la procedura DBMS_CLOUD.CREATE_CREDENTIAL. Ad esempio:
    SET DEFINE OFF
    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'DEF_CRED_NAME',
        username => 'adb_user@example.com',
        password => 'password',
        comments => 'credential to access object store'
      );
    END;
    /

    Questa operazione memorizza le credenziali nel database in formato cifrato. È possibile utilizzare qualsiasi nome per il nome della credenziale. Tenere presente che questo passo è necessario una sola volta a meno che le credenziali dell'area di memorizzazione degli oggetti non vengano modificate. Dopo aver memorizzato le credenziali, è possibile utilizzare lo stesso nome di credenziale per tutti i caricamenti dati.

    Per informazioni dettagliate sui parametri, vedere CREATE_CREDENTIAL Procedura.

    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.

    Nota

    Alcuni strumenti come SQL*Plus e SQL Developer utilizzano il carattere E commerciale (&) come carattere speciale. Se la password contiene il carattere E commerciale, utilizzare il comando SET DEFINE OFF in tali strumenti, come illustrato nell'esempio per disabilitare il carattere speciale e creare correttamente la credenziale.
  2. Con la credenziale creata nel Passo 1, è possibile accedere all'area di memorizzazione degli oggetti o ad altre risorse cloud da Autonomous Database utilizzando una procedura come DBMS_CLOUD.COPY_DATA, DBMS_CLOUD.EXPORT_DATA, DBMS_CLOUD_PIPELINE se si utilizza una pipeline di dati o altre procedure che richiedono le credenziali DBMS_CLOUD.

Creare le credenziali per accedere ai servizi cloud in Cloud Shell

Utilizzare Cloud Shell per eseguire uno script che crea le credenziali native OCI e il token di autenticazione in Autonomous Database.

Per creare le credenziali utilizzando il package DBMS_CLOUD, vedere Crea credenziali per accedere ai servizi cloud e Procedura CREATE_CREDENTIAL.

Informazioni sullo script Crea credenziale Cloud Shell

Eseguire lo script Create Credential Cloud Shell nello strumento per sviluppatori Cloud Shell per generare gli script delle credenziali da eseguire in Autonomous Database.

Utilizzare lo script Crea credenziale, adb-create-cred.sh, per creare nuove credenziali o riutilizzare le credenziali native OCI esistenti, inclusa una coppia di chiavi RSA con un'impronta digitale. Le credenziali vengono fornite all'utente sotto forma di script, oci_native_credential.sql e oci_native_credential.json, che possono essere eseguiti in Autonomous Database. Viene eseguito il backup delle credenziali esistenti se vengono create nuove credenziali.

Utilizzare lo script adb-create-cred.sh per eseguire gli script delle credenziali generate nell'Autonomous Database oppure uscire dal programma ed eseguire gli script nel database con uno strumento o una utility compatibili con SQL o JSON di propria scelta. Per ulteriori informazioni ed esempi, vedere Esempio: creazione di credenziali native OCI ed Esempio: creazione di credenziali native OCI ed esecuzione in Autonomous Database.

Facoltativamente, adb-create-cred.sh viene utilizzato per creare le credenziali del token di autenticazione/Swift. Oracle consiglia di utilizzare le credenziali native OCI. Tuttavia, se si desidera creare una credenziale Token/Swift di autenticazione, questa è supportata da questo script shell. Per i dettagli, vedere Crea token di autenticazione utilizzato per le credenziali Swift.

Nota

Se non si dispone dell'accesso allo strumento per sviluppatori Cloud Shell, creare le credenziali native OCI senza utilizzare lo script adb-create-cred.sh. Per i dettagli, vedere Crea credenziali native Oracle Cloud Infrastructure.

Esempio: Crea credenziali native OCI

In questo esempio viene utilizzato Cloud Shell per eseguire lo script Crea credenziale per creare gli script delle credenziali native OCI.

Eseguire adb-create-cred.sh per generare gli script delle credenziali, oci_native_cred.sql e oci_native_cred.json. Lo script adb-create-cred.sh cerca le credenziali esistenti, se trovate vi viene chiesto se si desidera riutilizzarle o se si desidera creare nuove credenziali. A seconda della decisione presa, gli script delle credenziali generate includono credenziali nuove o esistenti. Scaricare lo script delle credenziali native OCI o copiarlo per eseguirlo direttamente nel database utilizzando qualsiasi strumento o utility SQL o JSON.

Nota

Per una lista di argomenti supportati dallo script Crea credenziale, immettere adb-create-cred.sh --help.

In questo esempio, gli script delle credenziali native OCI vengono generati per la tenancy senza eseguirli nel database. Vedere Esempio: creazione di credenziali native OCI ed esecuzione in Autonomous Database, per un esempio di esecuzione dello script delle credenziali native OCI nel database.

  1. Accedere alla tenancy, selezionare l'icona Strumenti di sviluppo e fare clic su Cloud Shell dall'elenco a discesa.
  2. Eseguire lo script adb-create-cred.sh.
  3. Immettere y per riutilizzare le credenziali esistenti nello script delle credenziali native OCI generato.


    Segue la descrizione di cs_existing.png
    Descrizione dell'immagine cs_existing.png

    Se si sceglie di creare nuove credenziali e si decide dopo aver sovrascritto le credenziali che si desidera utilizzare le credenziali sovrascritte, tornare alla directory in cui si trova il backup e riutilizzarle. Il nome o la cartella del file di backup ha un suffisso con la seguente sintassi: _bkp_YYYYMMDD_abc. Ad esempio, questo file di backup è stato creato il 06 giugno 2024: _bkp_20240603_woT.

  4. Immettere n per uscire dallo script senza eseguire lo script delle credenziali native OCI nel database.
  5. Il programma esce e visualizza il nome della credenziale nativa OCI e il comando per visualizzarla.


    Segue la descrizione di cs_exit_script.png
    Descrizione dell'immagine cs_exit_script.png

    Scaricare lo script delle credenziali native OCI o copiarlo ed eseguirlo direttamente nel database utilizzando qualsiasi strumento SQL.

Esempio: crea credenziali native OCI ed esegui in Autonomous Database

In questo esempio viene utilizzato lo script Crea credenziali per creare uno script delle credenziali native OCI eseguito in Autonomous Database.

Prima di eseguire lo script, considerare quanto segue:
  • (Facoltativo) Fornire l'area del database, il compartimento e il nome del database per evitare che lo script esegua la ricerca del database. Sebbene queste opzioni non siano necessarie, possono risparmiare tempo di elaborazione, soprattutto sulle tenancy che si estendono su una moltitudine di compartimenti e database autonomi.
  • Lo script presuppone che il database si trovi nell'area di origine. Se si trova in un'area diversa, è necessario passare l'argomento del nome dell'area, --region, durante l'esecuzione dello script.
  • Se non si fornisce il compartimento (--compartment) o il nome del database (--database), lo script cerca possibili candidati e richiede di effettuare una selezione dalle liste di possibili compartimenti e database.
  • Per elencare le opzioni disponibili, immettere -h o --help.

Nell'esempio seguente, lo script Crea credenziale nativa OCI, adb-create-cred.sh, viene utilizzato per generare uno script di credenziale con credenziali esistenti ed eseguire lo script in un database specificato.

L'area, il compartimento e il nome del database vengono passati come argomenti allo script. L'opzione --database richiede sia --region che --compartment. Se si specifica solo --database senza questi valori, l'opzione viene ignorata.

Viene inoltre fornito il nome utente utilizzato per la connessione al database insieme a un nome per la credenziale creata.
Nota

Per una lista di argomenti supportati dallo script Crea credenziale, immettere adb-create-cred.sh --help.
  1. Accedere alla tenancy, selezionare l'icona Strumenti di sviluppo e fare clic su Cloud Shell dall'elenco a discesa.
  2. Eseguire lo script adb-create-cred.sh, inclusi gli argomenti utilizzati per individuare il database, connettersi al database e un nome di credenziale specificato dall'utente.
  3. Sono state trovate chiavi API e impronta digitale esistenti. Immettere y per riutilizzarli negli script delle credenziali generate.


    Segue la descrizione di cs_existing_keys.png
    Descrizione dell'immagine cs_existing_keys.png

    Se si sceglie di creare nuove credenziali e si decide dopo aver sovrascritto le credenziali che si desidera utilizzare le credenziali sovrascritte, è possibile tornare alla directory in cui si trova il backup e riutilizzarle. Il nome o la cartella del file di backup ha un suffisso con la seguente sintassi: _bkp_YYYYMMDD_abc. Ad esempio, questo file di backup è stato creato il 06 giugno 2024: _bkp_20240603_woT.

  4. Immettere y per eseguire lo script delle credenziali creato, oci_native_credential.sql, nel database specificato con gli argomenti dell'area, del compartimento e del database.
  5. File wallet non trovato, pertanto è stato impostato. Se è stato trovato un file wallet, viene chiesto se si desidera riutilizzarlo o impostarne uno nuovo. Immettere la password per il nome utente ADMIN fornito. Il nome utente e la password vengono utilizzati per connettersi al database.


    Segue la descrizione di cs_pass.png
    Descrizione dell'immagine cs_pass.png

    Nota

    Se si dispone di un endpoint privato di Autonomous Database in una rete cloud virtuale, lo script adb-create-cred.sh genera gli script SQL e JSON. Tuttavia, non esegue i passi necessari per accedere all'endpoint privato di Autonomous Database. Viene invece richiesto di eseguire cat ~/oci_native_credential.sql per copiare il codice SQL in qualsiasi strumento SQL a cui si ha accesso tramite un bastion o un host Jump.

  6. Il login è riuscito e la credenziale MYOCICRED è stata creata nel database specificato. Le credenziali esistenti vengono eliminate e le nuove credenziali vengono create. Immettere n per non eseguire le credenziali in un altro database. Lo script esiste e fornisce il percorso per lo script oci_native_credential.sql creato.


    Nota

    Se la connessione ad Autonomous Database non riesce, è possibile eseguire cat ~/oci_native_credential.sql e copiare l'istruzione SQL per eseguirla direttamente nel database utilizzando qualsiasi strumento SQL.

Crea token di autenticazione utilizzato per le credenziali Swift

Se si desidera creare una credenziale Token/Swift di autenticazione, anche se Oracle consiglia di utilizzare le credenziali native OCI, includere l'argomento --all quando si esegue lo script per generare le credenziali native OCI e la credenziale Token/Swift di autenticazione.

Ad esempio:
adb-create-cred.sh --all

Quando si utilizza questo flag, lo script chiede se si desidera includere un token di autenticazione. Se si risponde y, la chiave del token di autenticazione viene generata e caricata nel profilo OCI e vengono creati gli script oci_auth_token_credential.sql e auth_token.tok.

Sono disponibili 2 opzioni che è possibile utilizzare per visualizzare la chiave token di autenticazione:
  • Eseguire lo script oci_auth_token_credential.sql da Cloud Shell per creare la chiave token di autenticazione nel database. La chiave token di autenticazione è il valore del parametro password per DBMS_CLOUD_CREATE_CREDENTIAL.
  • Visualizzare auth_token.tok da Cloud Shell. Il token di autorizzazione è il valore token.

Elenca credenziali

DBMS_CLOUD consente di memorizzare le credenziali utilizzando la procedura DBMS_CLOUD.CREATE_CREDENTIAL. È possibile elencare le credenziali dalla vista ALL_CREDENTIALS.

Ad esempio, per elencare le credenziali, eseguire il comando seguente:

SELECT credential_name, username, comments FROM all_credentials;

CREDENTIAL_NAME                                            USERNAME    
---------------------------–-----------------------------  --------------------
COMMENTS
---------------------------–-----------------------------  --------------------
ADB_TOKEN                                                  user_name@example.com
{"comments":"Created via DBMS_CLOUD.create_credential"}
DEF_CRED_NAME                                              user_name@example.com
{"comments":"Created via DBMS_CLOUD.create_credential"}
 

Vedere ALL_CREDENTIALS.

Elimina credenziali

DBMS_CLOUD consente di memorizzare le credenziali utilizzando la procedura DBMS_CLOUD.CREATE_CREDENTIAL. È possibile rimuovere le credenziali con DBMS_CLOUD.DROP_CREDENTIAL.

Ad esempio, per rimuovere la credenziale denominata DEF_CRED_NAME, eseguire il comando seguente:

BEGIN
   DBMS_CLOUD.DROP_CREDENTIAL('DEF_CRED_NAME');
END;

Per ulteriori informazioni sulle procedure e sui parametri DBMS_CLOUD, vedere DBMS_CLOUD Sottoprogrammi e API REST.