Cripta le risorse della workstation utilizzando CMEK

Per impostazione predefinita, Cloud Workstations utilizza una chiave di proprietà di Google e gestita da Google per criptare le risorse della workstation, come VM e dischi permanenti, quando i dati sono at-rest. Se hai requisiti normativi o di conformità specifici relativi alle chiavi che proteggono i tuoi dati, puoi utilizzare le chiavi di crittografia gestite dal cliente (CMEK) utilizzando Cloud Key Management Service (Cloud KMS).

Per ulteriori informazioni su CMEK in generale, incluso quando e perché abilitarla, consulta la documentazione di Cloud KMS.

Prima di iniziare

Crea i tuoi progetti

  1. Nella pagina del selettore dei progetti della console Google Cloud, seleziona o crea due progetti Google Cloud:

    • Un progetto chiave contiene le risorse Cloud KMS, compresi un keyring e una chiave di crittografia simmetrica.

    • Un progetto di workstation contiene workstation criptate con una chiave CMEK.

    Puoi utilizzare lo stesso progetto per il progetto chiave e per quello delle workstation, ma come best practice, ti consigliamo di utilizzare due progetti per la separazione dei compiti.

  2. Verifica che la fatturazione sia attivata per il tuo progetto Cloud. Scopri come controllare se la fatturazione è abilitata su un progetto.

  3. Abilita le API richieste in ogni progetto.

  4. Assicurati di installare e inizializzare l'interfaccia a riga di comando di gcloud. Per inizializzare l'interfaccia a riga di comando gcloud, esegui questo comando:

    gcloud init
    

Ruoli obbligatori

Anche se puoi concedere i ruoli Amministratore Cloud KMS e Amministratore Cloud Workstations alla stessa persona, ti consigliamo di seguire il principio del privilegio minimo quando assegni i ruoli. Come best practice, concedi questi ruoli a due persone separate e chiedi loro di coordinarsi, invece di chiedere a Cloud KMS di essere anche il tuo amministratore Cloud Workstations. Per ulteriori informazioni, consulta le best practice per la sicurezza e l'utilizzo sicuro di IAM.

Per ottenere le autorizzazioni necessarie per configurare CMEK, chiedi all'amministratore di concederti i seguenti ruoli IAM:

  • Se sei l'amministratore di Cloud KMS, chiedi all'amministratore di concederti il ruolo seguente in modo da poter creare e gestire le risorse di Cloud KMS: Amministratore Cloud KMS (roles/cloudkms.admin) nel tuo progetto chiave.
  • Se sei l'amministratore di Cloud Workstations, chiedi all'amministratore di concederti il ruolo seguente in modo da poter creare e aggiornare le workstation: Amministratore Cloud Workstations (roles/workstations.admin) sul tuo progetto workstation.

Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Crea keyring e chiave di crittografia

Nel progetto chiave, crea una chiave e salva l'ID risorsa della chiave:

  1. Crea o seleziona un keyring.

    Puoi condividere i keyring tra i servizi, ma come best practice, ti consigliamo di utilizzare una chiave diversa per ogni risorsa protetta. Consulta la separazione dei compiti.

  2. Crea una chiave di crittografia simmetrica.

    Assicurati di creare la chiave CMEK e la configurazione della workstation nella stessa regione.

  3. Recupera l'ID risorsa della chiave e salvalo per un passaggio successivo.

Controlla le configurazioni di workstation

Se non sono disponibili configurazioni di workstation nella console Google Cloud, chiedi all'amministratore di Cloud Workstations di creare una configurazione workstation per te oppure assicurati di disporre di un ruolo IAM Amministratore di Cloud Workstations nel progetto, in modo da poter creare queste risorse autonomamente.

Utilizzo delle chiavi di crittografia gestite dal cliente

Per utilizzare una CMEK in una configurazione di workstation, attiva CMEK dalla console Google Cloud o dall'interfaccia a riga di comando gcloud.

Console

Concedi al tuo account di servizio Compute Engine e all'agente di servizio Compute Engine il ruolo Autore crittografia/decrittografia CryptoKey di Cloud KMS e il ruolo Visualizzatore Cloud KMS:

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

    Vai a Gestione delle chiavi

  2. Fai clic sul nome del keyring che contiene la chiave.

  3. Seleziona la casella di controllo relativa alla chiave che vuoi utilizzare.

    La scheda Autorizzazioni viene visualizzata sotto forma di riquadro.

  4. Nella finestra di dialogo Aggiungi membri, specifica l'indirizzo email dell'account di servizio Compute Engine e dell'agente di servizio Compute Engine a cui stai concedendo l'accesso.

  5. Nel menu a discesa Seleziona un ruolo, seleziona Autore crittografia/decrittografia CryptoKey Cloud KMS.

  6. Fai clic su Aggiungi un altro ruolo.

  7. Nel menu a discesa Seleziona un ruolo, seleziona Visualizzatore Cloud KMS.

  8. Fai clic su Salva.

Per abilitare CMEK dalla console Google Cloud:

  1. Segui i passaggi per creare una configurazione di workstation.

  2. Quando specifichi la configurazione della macchina, cerca la sezione Opzioni avanzate.

  3. Fai clic su expand_more Espandi altro e seleziona Utilizza chiave di crittografia gestita dal cliente (CMEK).

    1. Nel campo Seleziona una chiave gestita dal cliente, seleziona la chiave di crittografia gestita dal cliente che hai creato nel tuo progetto chiave.

      Se la chiave che hai creato non è elencata, fai clic su Inserisci la chiave manualmente per selezionare la chiave in base all'ID risorsa, quindi inserisci l'ID risorsa annotato in precedenza.

    2. Nel campo Account di servizio, seleziona l'account di servizio utilizzato dalla chiave.

  4. Completa gli altri passaggi per creare la configurazione della workstation.

  5. Crea, avvia e avvia la configurazione della workstation per criptare i dischi permanenti nel progetto con la chiave Cloud KMS specificata.

gcloud

L'esempio seguente concede un ruolo IAM che fornisce l'accesso a una chiave Cloud KMS e quindi abilita CMEK specificando questa chiave nella configurazione della workstation:

  1. Concedi all'account di servizio KMS e all'agente di servizio Compute Engine per il progetto delle tue workstation il ruolo Cloud KMS crittografia/decrittografia CryptoKey (roles/cloudkms.cryptoKeyEncrypterDecrypter) sulla chiave CMEK. Ciò consente al servizio Compute Engine di creare risorse criptate nel progetto utilizzando la chiave CMEK specificata.

      gcloud kms keys add-iam-policy-binding KEY_NAME \
        --location LOCATION \
        --keyring KEY_RING \
        --member serviceAccount:WORKSTATIONS_PROJECT_NUMBER-compute@developer.gserviceaccount.com \
        --role roles/cloudkms.cryptoKeyEncrypterDecrypter \
        --project KMS_PROJECT_ID
    
      gcloud kms keys add-iam-policy-binding KEY_NAME \
        --location LOCATION \
        --keyring KEY_RING \
        --member serviceAccount:service-WORKSTATIONS_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com \
        --role roles/cloudkms.cryptoKeyEncrypterDecrypter \
        --project KMS_PROJECT_ID
    

    Sostituisci quanto segue:

    • KEY_NAME: il nome della chiave.
    • LOCATION: il nome della regione in cui hai creato il keyring.
    • KEY_RING: il nome del tuo keyring.
    • WORKSTATIONS_PROJECT_NUMBER: l'identificatore numerico univoco generato automaticamente, incluso come prima parte dell'account di servizio predefinito di Compute Engine del progetto workstation.
    • KMS_PROJECT_ID: ID progetto, una stringa univoca utilizzata per distinguere il tuo progetto Cloud KMS da tutti gli altri in Google Cloud.

    Per informazioni su tutti i flag e sui possibili valori, esegui il comando con il flag --help.

  2. Per recuperare l'account di servizio di gestione delle workstation per il progetto di workstation, utilizza il seguente comando:

    gcloud beta services identity create --service=workstations.googleapis.com \
        --project=WORKSTATIONS_PROJECT_ID
    

    Sostituisci WORKSTATIONS_PROJECT_ID con l'ID del progetto delle workstation.

  3. Concedi all'account di servizio di gestione delle workstation per il tuo progetto il ruolo Visualizzatore Cloud KMS (roles/cloudkms.viewer) sulla chiave CMEK. In questo modo il servizio di workstation può rilevare rotazione della chiave e ricriptare le risorse secondo necessità nel tuo progetto.

    gcloud kms keys add-iam-policy-binding KEY_NAME \
        --location LOCATION \
        --keyring KEY_RING \
        --member WORKSTATIONS_MANAGEMENT_SERVICE_ACCOUNT \
        --role roles/cloudkms.viewer \
        --project KMS_PROJECT_ID
    

    Sostituisci quanto segue:

    • KEY_NAME: il nome della chiave.
    • LOCATION: il nome della regione in cui hai creato il keyring.
    • KEY_RING: il nome del tuo keyring.
    • WORKSTATIONS_MANAGEMENT_SERVICE_ACCOUNT: l'account di servizio di gestione delle workstation ottenuto nel passaggio precedente.
    • KMS_PROJECT_ID: l'ID progetto, una stringa univoca utilizzata per distinguere il tuo progetto chiave Cloud KMS da tutti gli altri in Google Cloud.

    Per informazioni su tutti i flag e sui possibili valori, esegui il comando con il flag --help.

  4. Facoltativo:se non hai ancora creato un cluster di workstation, creane uno utilizzando il comando dell'interfaccia a riga di comando clusters create gcloud.

    gcloud workstations clusters create \
        WORKSTATIONS_CLUSTER_NAME --region=LOCATION \
        --project=WORKSTATIONS_PROJECT_NUMBER
    

    Sostituisci quanto segue:

    • WORKSTATIONS_CLUSTER_NAME: il nome del cluster di workstation.
    • LOCATION: il nome della regione per il cluster di workstation.
    • WORKSTATIONS_PROJECT_NUMBER: l'identificatore numerico univoco generato automaticamente, incluso come prima parte dell'account di servizio predefinito di Compute Engine del progetto workstation
  5. Supponendo che tu abbia già creato un cluster, crea una configurazione di workstation con impostazioni encryption_key.

    Per creare una configurazione di workstation con tipo di macchina e2-standard-2, timeout di inattività di 3600s e risorse di workstation con crittografia CMEK, esegui il seguente comando dell'interfaccia a riga di comando gcloud:

    gcloud workstations configs create WORKSTATIONS_CONFIG_NAME \
      --cluster=WORKSTATIONS_CLUSTER_NAME \
      --region=LOCATION \
      --machine-type="e2-standard-2" \
      --idle-timeout=3600 \
      --kms-key="projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME" \
      --kms-key-service-account="WORKSTATIONS_PROJECT_NUMBER-compute@developer.gserviceaccount.com" \
      --project=WORKSTATIONS_PROJECT_NUMBER
    

    Sostituisci quanto segue:

    • WORKSTATIONS_CONFIG_NAME: il nome della configurazione della workstation.
    • WORKSTATIONS_CLUSTER_NAME: il nome del cluster di workstation.
    • LOCATION: il nome della regione per il cluster.
    • KMS_PROJECT_ID: ID progetto, una stringa univoca utilizzata per distinguere il tuo progetto da tutti gli altri in Google Cloud.
    • KEY_RING: il nome del tuo keyring.
    • KEY_NAME: il nome della chiave.
    • WORKSTATIONS_PROJECT_NUMBER: l'identificatore numerico univoco generato automaticamente, incluso come prima parte dell'account di servizio predefinito di Compute Engine del progetto workstation

    Dopo aver creato una configurazione di workstation, Cloud KMS cripta i dischi permanenti nel tuo progetto con la chiave Cloud KMS specificata.

Quote di Cloud KMS e Cloud Workstations

Quando utilizzi CMEK in Cloud Workstations, i tuoi progetti possono utilizzare le quote delle richieste di crittografia di Cloud KMS. Ad esempio, i repository criptati con CMEK possono utilizzare queste quote per ogni caricamento o download. Le operazioni di crittografia e decriptazione che utilizzano le chiavi CMEK influiscono sulle quote di Cloud KMS solo se utilizzi chiavi hardware (Cloud HSM) o esterne (Cloud EKM). Per maggiori informazioni, consulta Quote di Cloud KMS.

Chiavi esterne

Puoi utilizzare Cloud External Key Manager (Cloud EKM) per criptare i dati in Google Cloud utilizzando chiavi esterne che gestisci.

Quando utilizzi una chiave Cloud EKM, Google non ha alcun controllo sulla disponibilità della chiave gestita esternamente. Se la chiave non è più disponibile, non sarà possibile avviare la workstation.

Per ulteriori considerazioni sull'uso di chiavi esterne, consulta Cloud External Key Manager.

Passaggi successivi