Gestire le chiavi di cifratura master in Azure Key Vault

Autonomous Database supporta chiavi TDE (Transparent Data Encryption) gestite dal cliente che risiedono in Azure Key Vault.

Prerequisiti per l'uso delle chiavi di cifratura gestite dal cliente in Azure Key Vault

Descrive i passi dei prerequisiti per utilizzare le chiavi di cifratura master gestite dal cliente in Autonomous Database che risiedono in Azure Key Vault.

Limitazioni
  • Azure Key Vault è supportato solo nelle aree commerciali.
  • Azure Key Vault non è supportato negli standby Autonomous Data Guard tra più region.
  • Le forme e le dimensioni delle chiavi supportate sono le seguenti:

    • RSA 2048, 3072 e 4096
    • EC-P256, EC-P256K, EC-P384, EC-P521

Attenersi alla procedura seguente:

  1. Crea un'istanza di Autonomous Database che utilizza l'impostazione della chiave di cifratura predefinita Cifra utilizzando una chiave gestita da Oracle. Per ulteriori informazioni, vedere Eseguire il provisioning di un'istanza di Autonomous Database.
    Nota

    Le impostazioni delle chiavi di cifratura per le chiavi gestite dal cliente in Azure Key Vault non sono disponibili durante il processo di creazione. Le opzioni sono disponibili dopo il provisioning, quando si modifica l'istanza.
  2. Creare un vault di chiavi Azure con una chiave master TDE (Transparent Data Encryption).

    Per ulteriori informazioni, vedere Informazioni su Azure Key Vault.

  3. Abilitare l'autenticazione del principal del servizio Azure con la directory Azure tenant_id per consentire all'istanza di Autonomous Database di accedere a Azure Key Vault.
    1. Ottenere l'ID tenant di Microsoft Azure Active Directory.
    2. Connettersi all'istanza come amministratore.
    3. Abilita il principal del servizio Azure con DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTH. Il valore di azure_tenantid è l'ID della directory di Azure ottenuto nel passo precedente.
      Ad esempio:
      BEGIN
       DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTH(
               provider => 'AZURE',
               params   => JSON_OBJECT('azure_tenantid' value 'azure_directoryID'));
       END;
       /

      Ciò consente l'autenticazione del principal del servizio Azure e crea un'applicazione Azure per Autonomous Database sul portale Azure. Per ulteriori informazioni, vedere Abilita principal servizio di Azure.

  4. Fornire il consenso dell'applicazione Azure per accedere alle risorse Azure da Autonomous Database.
    1. Su Autonomous Database, query CLOUD_INTEGRATIONS.

      Ad esempio:

      SELECT * FROM CLOUD_INTEGRATIONS;
      
      PARAM_NAME        PARAM_VALUE
      --------------- ------------------------------------------------------------------------------------------------------------------------------------------
      azure_tenantid    29...eb
      azure_consent_url https://login.microsoftonline.com/f8...5a/oauth2/v2.0/authorize?client_id=d4f5...d5&response_type=code&scope=User.read
      azure_app_name    ADBS_APP_OCID1.AUTONOMOUSDATABASE...

      La vista CLOUD_INTEGRATIONS è disponibile per l'utente ADMIN o per un utente con ruolo DWROLE.

    2. In un browser aprire l'URL del consenso di Azure specificato dal parametro azure_consent_url.

      Ad esempio, copiare azure_consent_url dai risultati della query e immettere l'URL nel browser:

      https://login.microsoftonline.com/f8...5a/oauth2/v2.0/authorize?client_id=d4f5...d5&response_type=code&scope=User.read

      Viene visualizzata la pagina Autorizzazioni richieste con una richiesta di consenso simile a quella riportata di seguito.

      Segue la descrizione di azure_consent.png
      Descrizione dell'immagine azure_consent.png
  5. Ottenere il nome dell'applicazione Azure.
    1. Su Autonomous Database, query CLOUD_INTEGRATIONS.

      Ad esempio:

      SELECT * FROM CLOUD_INTEGRATIONS;
    2. Copiare il valore client_id incluso nel file consent_url.
      PARAM_NAME        PARAM_VALUE
      --------------- ------------------------------------------------------------------------------------------------------------------------------------------
      azure_tenantid    29...eb
      azure_consent_url https://login.microsoftonline.com/f8...5a/oauth2/v2.0/authorize?client_id=d4f5...d5&response_type=code&scope=User.read
      azure_app_name    ADBS_APP_OCID1.AUTONOMOUSDATABASE...
    3. Cerca su client_id nel portale di Azure. L'ID applicazione viene visualizzato in Microsoft Entra ID.
    4. Copiare l'ID applicazione. Questo valore viene utilizzato nei passi successivi per consentire a questa applicazione di accedere alle chiavi in Azure Key Vault.
  6. Assegnare i ruoli necessari all'applicazione Azure per accedere a Key Vault di Azure.
    1. Nel portale di Azure, passare ai criteri di accesso per Azure Key Vault.

      Viene visualizzata la lista delle applicazioni con accesso a questo vault.

    2. Nella pagina Criteri di accesso, fare clic su + Crea per creare un criterio di accesso per consentire all'applicazione di accedere a questo vault di chiavi.
    3. Per le autorizzazioni nella pagina Crea un criterio di accesso, selezionare tutte le autorizzazioni chiave, tra cui le operazioni di gestione delle chiavi, le operazioni di crittografia, le operazioni con chiave privilegiata e le operazioni con criteri di rotazione, quindi fare clic su Successivo.
    4. Per Principal, cercare il nome dell'applicazione.
    5. Selezionare il nome dell'applicazione visualizzato e fare clic su Successivo.
    6. Per Applicazione (facoltativo), selezionare Successivo.
    7. Per Rivedi + crea, rivedere i dettagli dei criteri e fare clic su Crea.
    8. Nella pagina dei dettagli di Azure Key Vault fare clic su Aggiorna e cercare il nome dell'applicazione. È incluso nella lista visualizzata delle applicazioni con l'autorizzazione ad accedere alle chiavi in questo Key Vault di Azure.

    Per ulteriori informazioni, vedere Assegnare un criterio di accesso a Key Vault.

Usa chiavi di cifratura gestite dal cliente in Autonomous Database con Azure Key Vault

Mostra i passi per cifrare Autonomous Database utilizzando le chiavi di cifratura master gestite dal cliente che risiedono in Azure Key Vault.

Attenersi alla procedura seguente:

  1. Eseguire i passi necessari dei prerequisiti della chiave master gestita dal cliente. Vedere Prerequisiti per l'uso delle chiavi di cifratura gestite dal cliente in Azure Key Vault.
  2. Nella pagina Dettagli, nell'elenco a discesa Altre azioni, selezionare Gestisci chiave di cifratura.
    Nota

    Se si stanno già utilizzando chiavi TDE (Transparent Data Encryption) gestite dal cliente memorizzate in Azure Key Vault e si desidera ruotare le chiavi, seguire questi passi e selezionare una chiave diversa (selezionare una chiave diversa dalla chiave TDE principale attualmente selezionata).

  3. Nella pagina Gestisci chiave di cifratura selezionare Cifra utilizzando una chiave gestita dal cliente.
  4. Nell'elenco a discesa Tipo di chiave selezionare Microsoft Azure.
  5. Nel campo URI del vault immettere l'URI di Azure Vault.
    1. Nel portale di Azure, passare a Key Vault di Azure.
    2. Selezionare la pagina Panoramica di Azure Key Vault e copiare l'URI Vault visualizzato.
    3. Immettere l'URI Azure Vault copiato nel campo URI vault nella pagina Gestisci chiave di cifratura di Autonomous Database.
  6. Nel campo Nome chiave immettere il nome del campo Nome chiave Azure.
    1. Nel portale di Azure, passare a Key Vault di Azure e selezionare Keys. Viene visualizzato un elenco di chiavi per questo vault.
    2. Nell'elenco delle chiavi visualizzate copiare il nome della chiave che si desidera utilizzare.
    3. Immettere il nome della chiave Azure copiato nel campo Nome chiave nella pagina Gestisci chiave di cifratura di Autonomous Database.
  7. Fare clic su Salva.

Lo stato del ciclo di vita passa a Aggiornamento. Al termine della richiesta, in Stato del ciclo di vita viene visualizzato Disponibile.

Al termine della richiesta, nella console di Oracle Cloud Infrastructure, le informazioni chiave vengono visualizzate nella pagina Informazioni su Autonomous Database sotto l'intestazione Cifratura. Quest'area mostra la chiave di cifratura è chiave gestita dal cliente (Microsoft Azure) e visualizza l'URI del vault e il nome chiave.

Ad esempio:
Segue la descrizione di sec_az_results.png
Descrizione dell'immagine sec_az_results.png