Cripta le risorse della workstation utilizzando CMEK

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

Per ulteriori informazioni su CMEK in generale, inclusi quando e perché abilitarla, vedi il Documentazione di Cloud KMS.

Prima di iniziare

Crea i tuoi progetti

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

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

    • Un progetto workstation contiene workstation criptate con una Chiave CMEK.

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

  2. Verifica che la fatturazione sia attivata per il tuo progetto Cloud. Scopri come verifica che la fatturazione sia abilitata su progetto.

  3. Abilita le API richieste in ogni progetto.

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

    gcloud init
    

Ruoli obbligatori

Anche se puoi concedere Amministratore Cloud KMS e Cloud Workstations Admin alla stessa persona, consigliamo di seguire il principio del privilegio minimo nell'assegnazione dei ruoli. Come migliore assegnare questi ruoli a due persone separate e farle coordinare, anziché chiedere a Cloud KMS di essere Amministratore Cloud Workstations. Per ulteriori informazioni, vedi best practice per la sicurezza e utilizzando IAM in modo sicuro.

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

  • Se sei l'amministratore di Cloud KMS, chiedi all'amministratore di concederti il ruolo seguente in modo che tu possa creare e gestire le risorse di Cloud KMS: Amministratore Cloud KMS (roles/cloudkms.admin) sul tuo progetto chiave.
  • Se sei l'amministratore Cloud Workstations, chiedi all'amministratore di concederti il ruolo seguente in modo che tu possa 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 la ruoli o altri ruoli predefiniti ruoli.

Crea keyring e chiave di crittografia

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

  1. Crea o seleziona un key ring.

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

  2. Crea un chiave di crittografia simmetrica.

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

  3. Recuperare l'ID risorsa della chiave e salvarlo per un passaggio successivo.

Controlla le configurazioni di workstation

Se non sono disponibili configurazioni di workstation nel Console Google Cloud, chiedi all'amministratore di Cloud Workstations di creare un configurazione workstation per te o assicurati di avere Amministratore Cloud Workstations ruolo IAM sul 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 dal Console Google Cloud o gcloud CLI.

Console

Concedi al tuo account di servizio Compute Engine e all'agente di servizio Compute Engine il servizio Cloud KMS Ruolo Autore crittografia/decrittografia CryptoKey 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 Account di servizio Compute Engine e 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 Crea una configurazione di workstation.

  2. Quando specifichi la tua macchina configurazione, 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 chiave manualmente per seleziona la chiave in base all'ID risorsa, quindi inserisci l'ID risorsa che hai annotato in precedenza.

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

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

  5. Crea, avvia e avvia la configurazione della workstation per criptare gli oggetti 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 abilita CMEK specificando la chiave la configurazione della workstation:

  1. Concedi all'account di servizio KMS e all'agente di servizio Compute Engine per il progetto delle workstation Cloud KMS Ruolo Autore crittografia/decrittografia CryptoKey (roles/cloudkms.cryptoKeyEncrypterDecrypter) sulla chiave CMEK. In questo modo il servizio Compute Engine può creare usando 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 la chiave suonano.
    • KEY_RING: il nome del tuo keyring.
    • WORKSTATIONS_PROJECT_NUMBER: il valore automatico identificatore numerico univoco generato, incluso come prima parte dell'account di servizio predefinito progetto workstation.
    • KMS_PROJECT_ID: ID progetto, una stringa univoca utilizzata per differenziare 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 --help flag.

  2. Per recuperare l'account di servizio di gestione delle workstation per la tua workstation usa questo comando:

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

    Sostituisci WORKSTATIONS_PROJECT_ID con le tue workstation dell'ID progetto.

  3. Concedi all'account di servizio di gestione delle workstation per il tuo progetto la Ruolo Visualizzatore Cloud KMS (roles/cloudkms.viewer) sulla chiave CMEK. Ciò consente al servizio di workstation di rilevare rotazione della chiave e criptare nuovamente le risorse in base alle esigenze del 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 la chiave suonano.
    • KEY_RING: il nome del tuo keyring.
    • WORKSTATIONS_MANAGEMENT_SERVICE_ACCOUNT: il valore l'account di servizio di gestione delle workstation ottenuto dal passaggio precedente.
    • KMS_PROJECT_ID: l'ID progetto, una stringa univoca utilizzata per differenziare il tuo progetto chiave Cloud KMS da tutti gli altri in in Google Cloud.

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

  4. Facoltativo:se non hai ancora creato un cluster di workstation, creane uno utilizzando per la creazione di cluster Comando interfaccia a riga di comando 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: il valore automatico identificatore numerico univoco generato, incluso come prima parte dell'account di servizio predefinito 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 criptate con CMEK, esegui questo comando dell'interfaccia a riga di comando di 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 del 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 differenziare 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: il valore automatico identificatore numerico univoco generato, incluso come prima parte dell'account di servizio predefinito progetto workstation

    Dopo aver creato una configurazione di workstation, Cloud KMS cripta dei dischi permanenti nel progetto con il Cloud KMS specificato chiave.

Quote di Cloud KMS e Cloud Workstations

Quando usi CMEK in Cloud Workstations, i tuoi progetti possono consumare richieste crittografiche di Cloud KMS quotas. Ad esempio, i repository criptati con CMEK possono utilizzare queste quote per ogni caricamento o download. Le operazioni di crittografia e decriptazione utilizzando Le chiavi CMEK influiscono sulle quote di Cloud KMS solo se utilizzi hardware (Cloud HSM) o chiavi esterne (Cloud EKM). Per ulteriori informazioni, vedi Quote di Cloud KMS.

Chiavi esterne

Puoi utilizzare Cloud External Key Manager (Cloud EKM) per criptare i dati all'interno di a Google Cloud utilizzando chiavi esterne che gestisci.

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

Per ulteriori considerazioni sull'uso di chiavi esterne, consulta Gestore di chiavi esterne Cloud.

Passaggi successivi