DBMS_CLOUD per gestione accessi

In questa sezione vengono descritti i sottoprogrammi DBMS_CLOUD utilizzati per la gestione degli accessi.

Prerequisiti

Come sviluppatore, puoi utilizzare le procedure DBMS_CLOUD con i database AI autonomi distribuiti su Oracle Public Cloud, Multicloud o Exadata Cloud@Customer.

A seconda della scelta di distribuzione, è necessario soddisfare i seguenti prerequisiti per utilizzare le procedure DBMS_CLOUD con i provider di servizi Amazon S3, Azure Blob Storage e Google Cloud Storage.

Riepilogo dei sottoprogrammi DBMS_CLOUD per Access Management

Sottoprogrammi per la gestione delle credenziali all'interno del package DBMS_CLOUD, inclusa la creazione, l'eliminazione e l'aggiornamento delle credenziali.

Sottoprogramma Descrizione
Procedura CREATE_CREDENTIAL Questa procedura memorizza le credenziali del servizio cloud in Autonomous AI Database.
Procedura DROP_CREDENTIAL Questa procedura rimuove una credenziale esistente da Autonomous AI Database.
Procedura UPDATE_CREDENTIAL Questa procedura aggiorna gli attributi delle credenziali del servizio cloud in Autonomous AI Database.

Procedura CREATE_CREDENTIAL

Questa procedura memorizza le credenziali del servizio cloud in Autonomous AI Database.

Utilizzare le credenziali del servizio cloud memorizzate per accedere al servizio cloud per il caricamento dei dati, per eseguire query sui dati esterni residenti nel cloud o per altri casi quando si utilizzano procedure DBMS_CLOUD con un parametro credential_name.

Sintassi

DBMS_CLOUD.CREATE_CREDENTIAL (
      credential_name   IN VARCHAR2,
      username          IN VARCHAR2,
      password          IN VARCHAR2 DEFAULT NULL);


DBMS_CLOUD.CREATE_CREDENTIAL (
      credential_name IN VARCHAR2,
      user_ocid       IN VARCHAR2,
      tenancy_ocid    IN VARCHAR2,
      private_key     IN VARCHAR2,
      fingerprint     IN VARCHAR2);

Parametri

Parametro Descrizione
credential_name Il nome della credenziale da memorizzare. Il parametro credential_name deve essere conforme alle convenzioni di denominazione degli oggetti Oracle, che non consentono spazi o trattini.
username Gli argomenti username e password insieme specificano le credenziali del servizio cloud. Vedere le note di utilizzo per informazioni su cosa specificare per username e password per i diversi servizi cloud.
password Gli argomenti username e password insieme specificano le credenziali del servizio cloud.
user_ocid Specifica l'OCID dell'utente. Vedere Dove ottenere l'OCID della tenancy e l'OCID dell'utente per informazioni dettagliate su come ottenere l'OCID dell'utente.
tenancy_ocid Specifica l'OCID della tenancy. Vedere Dove ottenere l'OCID della tenancy e l'OCID dell'utente per informazioni dettagliate su come ottenere l'OCID della tenancy.
private_key Specifica la chiave privata generata. Le chiavi private generate con una passphrase non sono supportate. È necessario generare la chiave privata senza una passphrase. Per informazioni dettagliate sulla generazione di una coppia di chiavi in formato PEM, vedere Come generare una chiave di firma API.
fingerprint Specifica un'impronta digitale. Dopo che una chiave pubblica generata è stata caricata nell'account dell'utente, l'impronta digitale viene visualizzata nella console. Utilizzare l'impronta visualizzata per questo argomento. Per ulteriori dettagli, vedere Come ottenere l'impronta digitale della chiave e Come generare una chiave di firma API.

Note sull'uso

Credenziali di Oracle Cloud Infrastructure (token di autenticazione)

Per Oracle Cloud Infrastructure, username è il tuo nome utente Oracle Cloud Infrastructure. password è il token di autenticazione di Oracle Cloud Infrastructure. Vedere Utilizzo dei token di autenticazione.

Ad esempio:

BEGIN
  DBMS_CLOUD.CREATE_CREDENTIAL(
    credential_name => 'DEF_CRED_NAME',
    username => 'adb_user@example.com',
    password => 'password' );
END;
/

Utilizzare le credenziali basate su token di autenticazione durante l'autenticazione delle chiamate allo storage degli oggetti OCI. Per le chiamate a qualsiasi altro tipo di servizio cloud Oracle Cloud Infrastructure, utilizza le credenziali basate su chiave di firma di Oracle Cloud Infrastructure.

Credenziali basate su chiave di firma di Oracle Cloud Infrastructure

Utilizza i parametri correlati alle chiavi di firma di Oracle Cloud Infrastructure, tra cui: user_ocid, tenancy_ocid, private_key e fingerprint con l'autenticazione Oracle Cloud Infrastructure Signing Keys.

Ad esempio:

BEGIN
   DBMS_CLOUD.CREATE_CREDENTIAL (
       credential_name => 'OCI_KEY_CRED',
       user_ocid       => 'ocid1.user.oc1..aaaaaaaauq54mi7zdyfhw33ozkwuontjceel7fok5nq3bf2vwetkpqsoa',
       tenancy_ocid    => 'ocid1.tenancy.oc1..aabbbbbbaafcue47pqmrf4vigneebgbcmmoy5r7xvoypicjqqge32ewnrcyx2a',
       private_key     => 'MIIEogIBAAKCAQEAtUnxbmrekwgVac6FdWeRzoXvIpA9+0r1.....wtnNpESQQQ0QLGPD8NM//JEBg=',
       fingerprint     => 'f2:db:f9:18:a4:aa:fc:94:f4:f6:6c:39:96:16:aa:27');
END;
/

Le chiavi private generate con una passphrase non sono supportate. È necessario generare la chiave privata senza una passphrase. Per ulteriori informazioni, vedere Come generare una chiave di firma API.

Credenziali Amazon Web Services (AWS)

Se i file di origine risiedono in Amazon S3 o si sta chiamando un'API AWS, username è l'ID della chiave di accesso AWS e password è la chiave di accesso segreta AWS. Vedere AWS Identity and Access Management.

Credenziali Microsoft Azure

Se i file di origine risiedono in Azure Blob Storage o si sta richiamando un'API di Azure, username è il nome dell'account di storage di Azure e password è una chiave di accesso dell'account di storage di Azure. Vedere Informazioni sugli account di storage di Azure.

Amazon S3-CompatibleCredentials

Servizio Informazioni sulle credenziale
Archiviazione Google Cloud

Se i file di origine risiedono in Google Cloud Storage o si stanno chiamando API di Google Cloud Storage, è necessario impostare un progetto Google predefinito e ottenere una chiave HMAC per creare credenziali per fornire URL compatibili con Google Cloud Storage S3. Utilizzare l'ID chiave HMAC come nome utente e il segreto HMAC come password.

Per ulteriori informazioni, vedere Projects e HMAC Keys.

Gestire la credenziale DBMS_CLOUD per l'autenticazione nello storage degli oggetti C3

È possibile utilizzare la procedura DBMS_CLOUD.CREATE_CREDENTIAL per fornire ad Autonomous AI Database le informazioni di autenticazione necessarie per connettersi al bucket di storage degli oggetti C3. Utilizza i parametri correlati alla chiave di firma di Oracle Cloud Infrastructure, tra cui user_ocid, tenancy_ocid, private_key e fingerprint con l'autenticazione Oracle Cloud Infrastructure Signing Keys.

Di seguito sono riportati alcuni esempi.

BEGIN
  DBMS_CLOUD.CREATE_CREDENTIAL (
    credential_name => 'OBJECT_STORAGE_CREDENTIAL',
    user_ocid       => 'ocid1.user.oc1..abcdedfxxxxx',
    tenancy_ocid    => 'ocid1.tenancy.oc1..abcdefxyyyyyy',
    private_key     => 'MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDku_Rest_of_PrivateKey_no_spaces_no_newlines',
    fingerprint     => '3d:ba:f9:aa:bb:cc:dd:ee:ff:gg:hh:ii:jj:xa:xb:xc'
  );
END;
/

Procedura DROP_CREDENTIAL

Questa procedura rimuove una credenziale esistente da Autonomous AI Database.

Sintassi

DBMS_CLOUD.DROP_CREDENTIAL (
   credential_name     IN VARCHAR2);

Parametri

Parametro Descrizione
credential_name Il nome della credenziale da rimuovere.

Procedura UPDATE_CREDENTIAL

Questa procedura aggiorna un attributo con un nuovo valore per un valore credential_name specificato.

Utilizzare le credenziali memorizzate per il caricamento dei dati, per eseguire query sui dati esterni residenti nel cloud o ovunque si utilizzino le procedure DBMS_CLOUD con un parametro credential_name.

Sintassi

DBMS_CLOUD.UPDATE_CREDENTIAL (
    credential_name   IN VARCHAR2,
    attribute         IN VARCHAR2,
    value             IN VARCHAR2);

Parametri

Parametro Descrizione
credential_name Nome della credenziale da aggiornare.
attribute

Nome dell'attributo da aggiornare.

Per una credenziale di tipo nome utente/password, i valori attribute validi sono: USERNAME e PASSWORD.

Per ulteriori informazioni, vedere Procedura CREDENTIAL.

value Il nuovo valore dell'attributo specificato.

Note sull'uso

Esempi

BEGIN
  DBMS_CLOUD.UPDATE_CREDENTIAL(
     credential_name => 'OBJ_STORE_CRED',
     attribute => 'PASSWORD',
     value => 'password');
END;
/
BEGIN
  DBMS_CLOUD.UPDATE_CREDENTIAL(
     credential_name => 'ARN_CRED',
     attribute => 'aws_role_arn',
     value => 'NEW_AWS_ARN');
END;
/

Contenuto correlato