Per impostazione predefinita, Cloud Workstations cripta i contenuti dei clienti inattivi. Cloud Workstations gestisce la crittografia per conto tuo 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 Cloud Workstations. L'utilizzo delle chiavi Cloud KMS ti consente di controllare il livello di protezione, la posizione, la pianificazione della rotazione, l'utilizzo e le autorizzazioni di accesso e i limiti crittografici. L'utilizzo di Cloud KMS consente anche di monitorare l'utilizzo delle chiavi, visualizzare i log di controllo e controllare i cicli di vita delle chiavi. Anziché essere di proprietà di Google e gestite da Google, le chiavi di crittografia delle chiavi (KEK) simmetriche che proteggono i tuoi dati sono controllate e gestite da te in Cloud KMS.
Dopo aver configurato le risorse con le chiavi CMEK, l'esperienza di accesso alle risorse di Cloud Workstations è simile all'utilizzo della crittografia predefinita di Google. Per saperne di più sulle opzioni di crittografia, consulta Chiavi di crittografia gestite dal cliente (CMEK).
Per impostazione predefinita, Cloud Workstations utilizza una Google-owned and Google-managed encryption key per criptare le risorse della workstation, come VM e dischi permanenti, quando i dati sono inattivi. 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
Creare i progetti
Nella console Google Cloud , nella pagina del selettore di progetti, seleziona o crea i seguenti Google Cloudprogetti:
Un progetto chiave contiene le risorse Cloud KMS, tra cui un portachiavi 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 delle chiavi e per il progetto delle workstation, ma come best practice ti consigliamo di utilizzare due progetti per la separazione dei compiti.
Verifica che la fatturazione sia attivata per il tuo progetto Cloud. Per ulteriori informazioni, consulta Verificare lo stato di fatturazione dei progetti.
Abilita le API richieste in ogni progetto.
Nel progetto chiave, assicurati di aver attivato l'API Cloud KMS.
Nel tuo progetto workstation, assicurati di aver abilitato le API Cloud KMS e Cloud Workstations.
Installa e inizializza l'interfaccia a riga di comando
gcloud
:Per installare la CLI
gcloud
, vedi Installare la CLIgcloud
e segui le istruzioni per il tuo sistema operativo.Per inizializzare la CLI
gcloud
, vedi Inizializzare la CLIgcloud
o 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, assegna questi ruoli a due persone distinte e chiedi loro di coordinarsi, anziché chiedere all'amministratore di Cloud KMS di essere anche l'amministratore di Cloud Workstations. Per saperne di più, 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 Cloud KMS, chiedi al tuo amministratore di concederti il seguente ruolo in modo che tu possa creare e gestire le risorse Cloud KMS:
Amministratore Cloud KMS (
roles/cloudkms.admin
) nel tuo progetto chiave. -
Se sei l'amministratore di Cloud Workstations, chiedi al tuo amministratore di concederti il seguente ruolo in modo che tu possa creare e aggiornare le workstation:
Amministratore di Cloud Workstations (
roles/workstations.admin
) nel tuo progetto workstation.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Crea chiavi automatizzate e chiave di crittografia
Nel progetto chiave, crea una chiave e salva l'ID risorsa della chiave:
Crea o seleziona un keyring.
Il portachiavi deve trovarsi nella stessa regione del cluster della workstation. Cloud Workstations non supporta le località Cloud KMS multiregionali o globali.
Puoi condividere i portachiavi tra i servizi, ma come best practice ti consigliamo di utilizzare una chiave diversa per ogni risorsa protetta. Vedi separazione dei compiti
Crea una chiave di crittografia simmetrica.
Recupera l'ID risorsa della chiave e salvalo per un passaggio successivo.
Concedere l'accesso alla chiave di crittografia
Cloud Workstations utilizza i seguenti service account per gestire la crittografia delle risorse:
L'agente di servizio Cloud Workstations: Cloud Workstations utilizza questo account per rilevare quando viene eseguita la rotazione della chiave.
Il service account del servizio di chiavi Cloud KMS: Fornirai un account di servizio che Cloud Workstations può utilizzare per accedere alla tua chiave per criptare e decriptare le risorse.
Concedi il ruolo Visualizzatore Cloud KMS all'agente di servizio Cloud Workstations
L'agente del servizio Cloud Workstations consente a Cloud Workstations di svolgere le attività di servizio nel tuo progetto. Quando hai attivato
il servizio Cloud Workstations nel tuo progetto workstation, questo service agent
è stato creato automaticamente. Affinché CMEK funzioni correttamente, devi concedere
all'agente di servizio Cloud Workstations per il tuo progetto workstation il
ruolo Visualizzatore Cloud KMS
(roles/cloudkms.viewer
) sulla chiave Cloud KMS, in modo che
Cloud Workstations possa rilevare rotazione della chiave.
Per recuperare l'agente di servizio Cloud Workstations per il progetto della 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 tuo progetto workstation.L'agente di servizio Cloud Workstations utilizza il seguente formato:
service-$WORKSTATIONS_PROJECT_NUMBER@gcp-sa-workstations.iam.gserviceaccount.com
.Concedi all'agente di servizio Cloud Workstations il ruolo Visualizzatore Cloud KMS (
roles/cloudkms.viewer
) sulla chiave CMEK. In questo modo, Cloud Workstations può rilevare rotazione della chiave e crittografare nuovamente le risorse in base alle esigenze del tuo progetto.gcloud kms keys add-iam-policy-binding \ KEY_NAME \ --keyring=KEY_RING \ --location=LOCATION \ --project=KMS_PROJECT_ID \ --role=roles/cloudkms.viewer \ --member=CLOUD_WORKSTATIONS_SERVICE_AGENT
Sostituisci quanto segue:
KEY_NAME
: il nome della chiave.KEY_RING
: il nome del tuo keyring.LOCATION
: la posizione contenente le chiavi automatizzate.KMS_PROJECT_ID
: l'ID del progetto contenente la chiave.CLOUD_WORKSTATIONS_SERVICE_AGENT
: l'agente di servizio Cloud Workstations ottenuto dal passaggio precedente.
Per informazioni su tutti i flag e i valori possibili, esegui il comando con il flag
--help
.
Configurare un account di servizio chiave Cloud KMS
Cloud Workstations utilizza un account di servizio a tua scelta per eseguire la crittografia e la decrittografia con la chiave gestita dal cliente. Questo account è denominato service account del servizio chiavi Cloud KMS. Puoi scegliere di creare un nuovo account di servizio o utilizzarne uno esistente. I requisiti per questo account sono:
- L'amministratore di Cloud Workstations deve disporre dell'autorizzazione
iam.serviceAccounts.actAs
per questo account di servizio. - Il account di servizio che scegli deve disporre del ruolo
Autore crittografia/decrittografia CryptoKey
Cloud KMS (
roles/cloudkms.cryptoKeyEncrypterDecrypter
) sulla chiave Cloud KMS.
Se vuoi creare un nuovo account di servizio, utilizza il seguente comando:
gcloud iam service-accounts create \ KMS_KEY_SERVICE_ACCOUNT_NAME \ --display-name="Service account for Cloud Workstations CMEK" \ --project=WORKSTATIONS_PROJECT_ID
Sostituisci quanto segue:
KMS_KEY_SERVICE_ACCOUNT_NAME
: il nome del account di servizio.WORKSTATIONS_PROJECT_ID
: l'ID del progetto della tua workstation.
L'account di servizio che hai creato ha un indirizzo email nel seguente formato:
KMS_KEY_SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
.Salva l'indirizzo email del account di servizio per un passaggio successivo.
Per concedere il ruolo Utente service account IAM Amministratore di Cloud Workstations (
roles/iam.serviceAccountUser
) al service account del servizio di gestione delle chiavi Cloud KMS, esegui questo comando:gcloud iam service-accounts add-iam-policy-binding \ KMS_KEY_SERVICE_ACCOUNT_EMAIL \ --member="user:CLOUD_WORKSTATIONS_ADMIN_EMAIL" \ --project=WORKSTATIONS_PROJECT_ID \ --role=roles/iam.serviceAccountUser
Sostituisci quanto segue:
KMS_KEY_SERVICE_ACCOUNT_EMAIL
: l'email del service account del servizio di gestione delle chiavi Cloud KMS.CLOUD_WORKSTATIONS_ADMIN_EMAIL
: l'indirizzo email dell'amministratore di Cloud Workstations.WORKSTATIONS_PROJECT_ID
: l'ID del progetto della tua workstation.
Per concedere all'account di servizio della chiave Cloud KMS il ruolo Autore crittografia/decrittografia CryptoKey Cloud KMS (
roles/cloudkms.cryptoKeyEncrypterDecrypter
) sulla chiave Cloud KMS, esegui il seguente comando:gcloud kms keys add-iam-policy-binding \ KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --project KMS_PROJECT_ID \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter \ --member serviceAccount:KMS_KEY_SERVICE_ACCOUNT_EMAIL\
Sostituisci quanto segue:
KEY_NAME
: il nome della chiave.KEY_RING
: il nome del tuo keyring.LOCATION
: la posizione contenente le chiavi automatizzate.KMS_PROJECT_ID
: l'ID del progetto contenente la chiave.KMS_KEY_SERVICE_ACCOUNT_EMAIL
: l'email del service account del servizio di gestione delle chiavi Cloud KMS.
Per informazioni su tutti i flag e i valori possibili, esegui il comando con il flag
--help
.
Controllare i cluster di workstation
Se non hai cluster di workstation disponibili nella Google Cloud console, chiedi all'amministratore di Cloud Workstations di creare un cluster di workstation per te nella stessa regione del portachiavi Cloud KMS oppure assicurati di disporre di un ruolo IAM Amministratore Cloud Workstations nel progetto in modo da poter creare queste risorse autonomamente.
Utilizzo delle chiavi di crittografia gestite dal cliente
Se non hai ancora creato un cluster di workstation, creane uno utilizzando il comando clusters create
gcloud
della CLI.gcloud workstations clusters create \ WORKSTATIONS_CLUSTER_NAME --region=LOCATION \ --project=WORKSTATIONS_PROJECT_ID
Sostituisci quanto segue:
WORKSTATIONS_CLUSTER_NAME
: il nome del cluster di workstation.LOCATION
: il nome della regione del cluster di workstation.WORKSTATIONS_PROJECT_ID
: l'ID del progetto della tua workstation.
Crea una configurazione della workstation con le impostazioni
encryption_key
.Per creare una configurazione della workstation con il tipo di macchina
e2-standard-2
, il timeout di inattività di3600s
e le risorse della workstation criptate con CMEK, esegui il seguente comando CLIgcloud
: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="KMS_KEY_SERVICE_ACCOUNT_EMAIL" \ --project=WORKSTATIONS_PROJECT_ID
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 del cluster.KMS_PROJECT_ID
: l'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.KMS_KEY_SERVICE_ACCOUNT_EMAIL
: l'email del service account del servizio chiavi Cloud KMS.WORKSTATIONS_PROJECT_ID
: l'ID del progetto della tua workstation.
Dopo aver creato una configurazione della workstation, Cloud KMS cripta i dischi permanenti nel tuo progetto con la chiave Cloud KMS specificata.
Ruotare le chiavi di crittografia gestite dal cliente
Quando hai concesso il ruolo Visualizzatore Cloud KMS all'agente di servizio Cloud Workstations
(roles/cloudkms.viewer
)
per la chiave CMEK, il servizio workstation è in grado di rilevare la rotazione
della chiave e di ricrittografare il disco
home utilizzando
la nuova versione della chiave primaria.
La ri-crittografia viene eseguita dopo l'arresto della workstation. Ogni volta che arresti una workstation criptata, il servizio workstation controlla se la chiave è stata ruotata. Se la chiave è stata ruotata, il servizio workstation crea uno snapshot del disco home della workstation ed elimina il disco. La volta successiva che avvii la workstation, il servizio workstation crea un nuovo disco dallo snapshot utilizzando la nuova versione della chiave primaria.
Quote di Cloud KMS e Cloud Workstations
Quando utilizzi CMEK in Cloud Workstations, i tuoi progetti possono consumare le quote per le richieste crittografiche di Cloud KMS. Ad esempio, i repository criptati con CMEK possono consumare queste quote per ogni caricamento o download. Le operazioni di crittografia e decrittografia che utilizzano le chiavi CMEK influiscono sulle quote di Cloud KMS solo se utilizzi chiavi hardware (Cloud HSM) o esterne (Cloud EKM). Per ulteriori informazioni, consulta Quote di Cloud KMS.
Chiavi esterne
Puoi utilizzare Cloud External Key Manager (Cloud EKM) per criptare i dati all'interno di 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, la workstation non può essere avviata.
Per ulteriori considerazioni sull'utilizzo di chiavi esterne, consulta Cloud External Key Manager.
Passaggi successivi
- Scopri di più sulle chiavi di crittografia gestite dal cliente.
- Scopri che cos'è la crittografia.