Utilizzo delle chiavi di crittografia gestite dal cliente

Per impostazione predefinita, Vertex AI Workbench cripta i contenuti inattivi dei clienti. Vertex AI Workbench gestisce la crittografia per tuo conto senza che tu debba fare altro. Questa opzione è denominata Crittografia predefinita di Google.

Se vuoi controllare le tue chiavi di crittografia, puoi utilizzare le chiavi di crittografia gestite dal cliente (CMEK) in Cloud KMS con servizi integrati con CMEK, tra cui Vertex AI Workbench. L'utilizzo delle chiavi Cloud KMS ti consente di controllare il livello di protezione, la località, la pianificazione della rotazione, le autorizzazioni di utilizzo e di accesso e i limiti crittografici. Con Cloud KMS puoi inoltre visualizzare gli audit log e controllare i cicli di vita delle chiavi. Invece di Google, sei tu ad avere la proprietà e la gestione delle chiavi di crittografia della chiave (KEK) simmetriche che proteggono i tuoi dati. Puoi controllare e gestire queste chiavi in Cloud KMS.

Dopo aver configurato le risorse con le CMEK, l'esperienza di accesso alle risorse di Vertex AI Workbench è simile all'utilizzo della crittografia predefinita di Google. Per saperne di più sulle opzioni di crittografia, consulta Chiavi di crittografia gestite dal cliente (CMEK).

Questa pagina descrive alcuni vantaggi e limitazioni specifici dell'utilizzo di CMEK con i notebook gestiti e mostra come configurare una nuova istanza di notebook gestiti per utilizzare CMEK.

Vantaggi di CMEK

In generale, CMEK è più utile se hai bisogno del controllo completo sulle chiavi utilizzate per criptare i tuoi dati. Con CMEK, puoi gestire le chiavi in Cloud Key Management Service. Ad esempio, puoi ruotare o disattivare una chiave oppure configurare una pianificazione di rotazione utilizzando l'API Cloud KMS.

Quando esegui un'istanza di blocchi note gestiti, l'istanza viene eseguita in un'infrastruttura di calcolo gestita da Google. Quando abiliti CMEK per un'istanza di blocchi note gestiti, Vertex AI Workbench utilizza la chiave che specifichi, anziché una chiave gestita da Google, per criptare i tuoi dati utente.

La chiave CMEK non cripta i metadati, come il nome e la regione dell'istanza, associati all'istanza di Managed Notebooks. I metadati associati alle istanze dei blocchi note gestiti sono sempre criptati utilizzando il meccanismo di crittografia predefinito di Google.

Limitazioni di CMEK

Per ridurre la latenza ed evitare casi in cui le risorse dipendono da servizi distribuiti su più domini di errore, Google consiglia di proteggere le istanze di notebook gestiti regionali con chiavi nella stessa località.

  • Puoi criptare le istanze di notebook gestiti regionali utilizzando chiavi nella stessa località o nella località globale. Ad esempio, puoi criptare i dati utente nella regione us-west1 utilizzando una chiave in us-west1 o global.
  • La configurazione di CMEK per i notebook gestiti non configura automaticamente CMEK per altri prodotti Google Cloud che utilizzi. Per utilizzare CMEK per criptare i dati in altri prodotti Google Cloud , devi completare una configurazione aggiuntiva.

Configura CMEK per l'istanza di notebook gestiti

Le sezioni seguenti descrivono come creare un portachiavi e una chiave in Cloud Key Management Service, concedere al account di servizio le autorizzazioni di crittografia e decrittografia per la chiave e creare un'istanza di blocchi note gestiti che utilizza CMEK.

Prima di iniziare

Ti consigliamo di utilizzare una configurazione che supporti la separazione dei compiti. Per configurare CMEK per i blocchi note gestiti, puoi utilizzare due progetti Google Cloud separati:

  • Un progetto Cloud KMS: un progetto per la gestione della chiave di crittografia
  • Un progetto notebook gestiti: un progetto per accedere alle istanze notebook gestiti e interagire con altri prodotti Google Cloud necessari per il tuo caso d'uso

In alternativa, puoi utilizzare un singolo progetto Google Cloud . A tal fine, utilizza lo stesso progetto per tutte le attività seguenti.

Configura il progetto Cloud KMS

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Cloud KMS API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Cloud KMS API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  8. Configura il progetto di notebook gestiti

    1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
    2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

      Roles required to select or create a project

      • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
      • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

      Go to project selector

    3. Verify that billing is enabled for your Google Cloud project.

    4. Enable the Notebooks API.

      Roles required to enable APIs

      To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

      Enable the API

    5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

      Roles required to select or create a project

      • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
      • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

      Go to project selector

    6. Verify that billing is enabled for your Google Cloud project.

    7. Enable the Notebooks API.

      Roles required to enable APIs

      To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

      Enable the API

    8. Configura Google Cloud CLI

      Gcloud CLI è obbligatoria per alcuni passaggi di questa pagina e facoltativa per altri.

      Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il seguente comando:

      gcloud init

      Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

      Creare una chiave automatizzata e una chiave

      Quando crei una chiave automatizzata e una chiave, tieni presente i seguenti requisiti:

      • Quando scegli la posizione del keyring, utilizza global o la posizione in cui si troverà l'istanza dei notebook gestiti.

      • Assicurati di creare il keyring e la chiave nel tuo progetto Cloud KMS.

      Per creare un portachiavi e una chiave, consulta la pagina Creare chiavi di crittografia simmetrica.

      Concedere le autorizzazioni per i blocchi note gestiti

      Se configuri l'istanza con l'accesso per un singolo utente, devi concedere al progetto dell'istanza Managed Notebooks l'autorizzazione a criptare e decriptare i dati utilizzando la tua chiave. Concedi questa autorizzazione all'agente di servizio del tuo progetto. L'indirizzo email di questo agente di servizio ha il seguente aspetto:

      service-NOTEBOOKS_PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com

      Sostituisci NOTEBOOKS_PROJECT_NUMBER con il numero di progetto per il progetto dell'istanza di Managed Notebooks.

      Prendi nota dell'indirizzo email del tuo agente di servizio. Lo utilizzerai nei passaggi successivi per concedere l'autorizzazione del progetto all'istanza di notebook gestiti per criptare e decriptare i dati utilizzando la tua chiave. Puoi concedere l'autorizzazione utilizzando la console Google Cloud o Google Cloud CLI.

      Console

      1. Nella console Google Cloud , vai alla pagina Gestione delle chiavi.

        Vai a Gestione chiavi

      2. Seleziona il tuo progetto Cloud KMS.

      3. Fai clic sul nome del keyring che hai creato in Creare un keyring e una chiave. Viene visualizzata la pagina Dettagli portachiavi.

      4. Seleziona la casella di controllo per la chiave che hai creato in Creare un keyring e una chiave. Se un riquadro informazioni con il nome della chiave non è già aperto, fai clic su Mostra riquadro informazioni.

      5. Nel riquadro informazioni, fai clic su  Aggiungi membro. Si apre la finestra di dialogo Aggiungi membri a "KEY_NAME". In questa finestra di dialogo, procedi nel seguente modo:

        1. Nel campo Nuovi membri, inserisci l'indirizzo email dell'agente di servizio che hai annotato nella sezione precedente.

        2. Nell'elenco Seleziona un ruolo, fai clic su Cloud KMS e poi seleziona il ruolo Autore crittografia/decrittografia CryptoKey Cloud KMS.

        3. Fai clic su Salva.

      gcloud

      1. Esegui questo comando per concedere all'agente di servizio l'autorizzazione a criptare e decriptare i dati utilizzando la tua chiave:

        gcloud kms keys add-iam-policy-binding KEY_NAME \
            --keyring=KEY_RING_NAME \
            --location=REGION \
            --project=KMS_PROJECT_ID \
            --member=serviceAccount:EMAIL_ADDRESS \
            --role=roles/cloudkms.cryptoKeyEncrypterDecrypter
        

        Sostituisci quanto segue:

        • KEY_NAME: il nome della chiave che hai creato in Crea un portachiavi e una chiave
        • KEY_RING_NAME: le chiavi automatizzate che hai creato in Creare chiavi automatizzate e chiave
        • REGION: la regione in cui hai creato il portachiavi
        • KMS_PROJECT_ID: l'ID del tuo progetto Cloud KMS
        • EMAIL_ADDRESS: l'indirizzo email del service agent che hai annotato nella sezione precedente

      Crea un'istanza di notebook gestiti con CMEK

      Dopo aver concesso all'istanza di blocchi note gestiti l'autorizzazione a criptare e decriptare i dati utilizzando la chiave, puoi creare un'istanza di blocchi note gestiti che cripta i dati utilizzando questa chiave. Segui questa procedura:

      1. Nella console Google Cloud , vai alla pagina Blocchi note gestiti.

        Vai a Notebook gestiti

      2. Fai clic su  Nuovo notebook.

      3. Nel campo Nome notebook, inserisci un nome per l'istanza.

      4. Fai clic sull'elenco Regione e seleziona una regione per l'istanza.

      5. Fai clic su Impostazioni avanzate.

      6. Nella sezione Crittografia disco, seleziona Chiave di crittografia gestita dal cliente (CMEK).

      7. Fai clic su Seleziona una chiave gestita dal cliente.

        • Se la chiave gestita dal cliente che vuoi utilizzare è presente nell'elenco, selezionala.

        • Se la chiave gestita dal cliente che vuoi utilizzare non è presente nell'elenco, inserisci l'ID risorsa della chiave gestita dal cliente. L'ID risorsa per la chiave gestita dal cliente ha il seguente aspetto:

            projects/NOTEBOOKS_PROJECT_NUMBER/locations/global/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME

          Sostituisci quanto segue:

      8. Completa il resto della finestra di dialogo Crea un notebook gestito in base alle tue esigenze.

      9. Fai clic su Crea.

      10. Vertex AI Workbench crea un'istanza di notebook gestiti in base alle proprietà specificate e la avvia automaticamente. Quando l'istanza è pronta per l'uso, Vertex AI Workbench attiva un link Apri JupyterLab.

      Passaggi successivi