Per impostazione predefinita, Google Cloud cripta automaticamente i dati quando sono inattivi utilizzando chiavi di crittografia gestite da Google. Se hai requisiti di conformità o normativi specifici relativi alle chiavi che proteggono i tuoi dati, puoi utilizzare le chiavi di crittografia gestite dal cliente (CMEK) per la crittografia a livello di applicazione di Looker (Google Cloud core).
Per ulteriori informazioni su CMEK in generale, incluso quando e perché abilitarla, vedi Cloud Key Management Service documentazione.
Questa pagina illustra come configurare un'istanza di Looker (Google Cloud core) per utilizzare CMEK.
In che modo Looker (Google Cloud core) interagisce con CMEK?
Looker (Google Cloud core) utilizza una singola chiave CMEK (tramite una gerarchia di chiavi secondarie) per proteggere i dati sensibili gestiti dall'istanza di Looker (Google Cloud core). Durante l'avvio, ciascun processo all'interno dell'istanza di Looker effettua una chiamata iniziale a Cloud Key Management Service (KMS) per decriptare la chiave. Durante il normale funzionamento (dopo l'avvio), l'intera istanza di Looker effettua una singola chiamata al KMS circa ogni cinque minuti per verificare che la chiave sia ancora valida.
Quali tipi di istanze Looker (Google Cloud core) supportano CMEK?
Le istanze Looker (Google Cloud core) supportano CMEK quando vengono soddisfatti due criteri:
- I passaggi di configurazione CMEK descritti in questa pagina vengono completati prima della creazione dell'istanza di Looker (Google Cloud core). Non puoi attivare le chiavi di crittografia gestite dal cliente nelle istanze esistenti.
- Le versioni dell'istanza devono essere Enterprise o Embed.
Flusso di lavoro per la creazione di un'istanza di Looker (Google Cloud core) con CMEK
Questa pagina ti guiderà attraverso i seguenti passaggi per configurare CMEK per un'istanza di Looker (Google Cloud core).
- Configura il tuo ambiente.
- Solo per gli utenti di Google Cloud CLI, Terraform e API: crea un account di servizio per ogni progetto che richiede chiavi di crittografia gestite dal cliente, se non è già stato configurato un account di servizio Looker per il progetto.
- Crea un keyring e una chiave e imposta la posizione della chiave. La località è la regione Google Cloud in cui vuoi creare l'istanza di Looker (Google Cloud core).
- Solo per gli utenti di Google Cloud CLI, Terraform e API: copia o annota l'ID chiave (KMS_KEY_ID) e la posizione della chiave, insieme all'ID (KMS_KEYRING_ID) per il mazzo di chiavi. Queste informazioni sono necessarie quando concedi all'account di servizio l'accesso alla chiave.
- Solo utenti di Google Cloud CLI, Terraform e API: concedi l'accesso alla chiave all'account di servizio.
- Vai al tuo progetto e crea un'istanza di Looker (Google Cloud core) con le seguenti opzioni:
- Seleziona la stessa posizione utilizzata dalla chiave di crittografia gestita dal cliente.
- Imposta la versione su Enterprise o Incorpora.
- Attiva la configurazione della chiave gestita dal cliente.
- Aggiungi la chiave di crittografia gestita dal cliente per nome o per ID.
Una volta completati tutti questi passaggi, l'istanza di Looker (Google Cloud core) verrà abilitata con CMEK.
Prima di iniziare
Se non l'hai ancora fatto, assicurati che il tuo ambiente sia configurato per consentirti di seguire le istruzioni riportate in questa pagina. Segui i passaggi di questa sezione per assicurarti che la configurazione sia corretta.
- Nella pagina del selettore dei progetti della console Google Cloud, seleziona o crea un progetto Google Cloud. Nota: se non prevedi di conservare le risorse che crei in questa procedura, crea un progetto invece di selezionarne uno esistente. Una volta completata questa procedura, puoi eliminare il progetto e tutte le relative risorse.
- Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud. Scopri come controllare se la fatturazione è abilitata per un progetto.
- Installa Google Cloud CLI.
Per inizializzare gcloud CLI, esegui il seguente comando:
gcloud init
Abilita l'API Cloud Key Management Service.
Abilita l'API Looker (Google Cloud core).
Ruoli obbligatori
Per informazioni sui ruoli richiesti per la configurazione di CMEK, consulta la pagina Controllo dell'accesso con IAM della documentazione di Cloud Key Management Service.
Per creare un'istanza di Looker (Google Cloud core), assicurati di disporre del ruolo IAM Amministratore di Looker per il progetto in cui è stata creata l'istanza di Looker (Google Cloud core). Per attivare CMEK per l'istanza nella console Google Cloud, assicurati di disporre del ruolo IAM Autore crittografia/decrittografia CryptoKey Cloud KMS sulla chiave in uso per CMEK.
Se devi concedere all'account di servizio Looker l'accesso a una chiave Cloud KMS, devi disporre del ruolo IAM Amministratore Cloud KMS per la chiave in uso.
Crea un account di servizio
Se utilizzi Google Cloud CLI, Terraform o l'API per creare la tua istanza di Looker (Google Cloud core) e non è già stato creato un account di servizio Looker per il progetto Google Cloud in cui risiederà, dovrai creare un account di servizio per quel progetto. Se creerai più di un'istanza di Looker (Google Cloud core) nel progetto, lo stesso account di servizio verrà applicato a tutte le istanze di Looker (Google Cloud core) nel progetto e la creazione dell'account di servizio deve essere eseguita una sola volta. Se usi la console per creare un'istanza, Looker (Google Cloud core) crea automaticamente l'account di servizio e gli concede l'accesso alla chiave CMEK durante la configurazione dell'opzione Utilizza una chiave di crittografia gestita dal cliente.
Per consentire a un utente di gestire gli account di servizio, concedi uno dei seguenti ruoli:
- Utente account di servizio (
roles/iam.serviceAccountUser
): include le autorizzazioni per elencare gli account di servizio, ottenere i dettagli di un account di servizio e rubare l'identità di un account di servizio. - Amministratore account di servizio (
roles/iam.serviceAccountAdmin
): include le autorizzazioni per elencare gli account di servizio e recuperare i dettagli relativi a un account di servizio. Include anche le autorizzazioni per creare, aggiornare ed eliminare gli account di servizio.
Al momento, puoi utilizzare solo i comandi Google Cloud CLI per creare il tipo di account di servizio necessario per le chiavi di crittografia gestite dal cliente. Se utilizzi la console Google Cloud, Looker (Google Cloud core) crea automaticamente questo account di servizio per te.
gcloud
Esegui questo comando per creare l'account di servizio:
gcloud beta services identity create \ --service=looker.googleapis.com \ --project=PROJECT_ID
Sostituisci PROJECT_ID
con il progetto in cui si trova l'istanza di Looker (Google Cloud core).
Questo comando crea l'account di servizio e restituisce il nome dell'account di servizio. Utilizzerai questo nome durante la procedura descritta in Concedere all'account di servizio l'accesso alla chiave.
Dopo aver creato l'account di servizio, attendi qualche minuto per la propagazione dell'account di servizio.
Crea un keyring e una chiave
Puoi creare la chiave nello stesso progetto Google Cloud dell'istanza di Looker (Google Cloud core) o in un progetto utente separato. La posizione del keyring Cloud KMS deve corrispondere alla regione in cui vuoi creare l'istanza di Looker (Google Cloud core). Una chiave per più regioni o per una regione globale non funzionerà. La richiesta di creazione dell'istanza di Looker (Google Cloud core) ha esito negativo se le regioni non corrispondono.
Per creare un keyring e una chiave che soddisfino i due criteri seguenti, segui le istruzioni riportate nelle pagine della documentazione Creare un keyring e Creare una chiave:
- Il campo Posizione keyring deve corrispondere all'regione che imposterai per l'istanza di Looker (Google Cloud core).
- Il campo della chiave Finalità deve essere Crittografia/decrittografia simmetrica.
Per scoprire di più su come ruotare la chiave e creare nuove versioni della chiave, consulta la sezione Ruotare la chiave.
Copia o annota KMS_KEY_ID
e KMS_KEYRING_ID
Se utilizzi Google Cloud CLI, Terraform o l'API per configurare l'istanza di Looker (Google Cloud core), segui le istruzioni riportate nella pagina della documentazione Ottenere un ID risorsa Cloud KMS per individuare gli ID risorsa per il portachiavi e la chiave che hai appena creato. Copia o prendi nota dell'ID (KMS_KEY_ID) e della posizione della chiave, oltre all'ID (KMS_KEYRING_ID) del keyring. Queste informazioni sono necessarie quando concedi all'account di servizio l'accesso alla chiave.
Concedi all'account di servizio l'accesso alla chiave
Devi eseguire questa procedura solo se entrambe le seguenti condizioni sono vere:
- Utilizzi Google Cloud CLI, Terraform o l'API.
- All'account di servizio non è già stato concesso l'accesso alla chiave. Ad esempio, se nello stesso progetto esiste già un'istanza di Looker (Google Cloud core) che utilizza la stessa chiave, non è necessario concedere l'accesso. In alternativa, se l'accesso alla chiave è già stato concesso da qualcun altro, non devi concedere l'accesso.
Per concedere l'accesso all'account di servizio, devi disporre del ruolo IAM Amministratore Cloud KMS per la chiave in uso.
Per concedere l'accesso all'account di servizio:
gcloud
gcloud kms keys add-iam-policy-binding KMS_KEY_ID \ --location=REGION \ --keyring=KMS_KEYRING_ID \ --member=serviceAccount:SERVICE_ACCOUNT_NAME \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter
Sostituisci quanto segue:
- KMS_KEY_ID: l'ID della chiave KMS
- REGION: la regione in cui è creato Looker (Google Cloud core) e la località del keyring
- KMS_KEYRING_ID: l'ID del keyring KMS
- SERVICE_ACCOUNT_NAME: il nome dell'account di servizio restituito quando lo hai creato
Dopo aver concesso il ruolo IAM all'account di servizio, attendi qualche minuto per la propagazione dell'autorizzazione.
Crea un'istanza di Looker (Google Cloud core) con CMEK
Per creare un'istanza con chiavi di crittografia gestite dal cliente nella console Google Cloud, segui prima i passaggi descritti nella sezione Creare un keyring e una chiave, mostrati in precedenza, per creare un keyring e una chiave nella stessa regione che utilizzerai per l'istanza di Looker (Google Cloud core). A questo punto, utilizzando le seguenti impostazioni, segui le istruzioni per creare un'istanza di Looker (Google Cloud core).
Per creare un'istanza di Looker (Google Cloud core) con impostazioni CMEK, seleziona una delle seguenti opzioni:
console
- Assicurati di disporre del ruolo IAM Autore crittografia/decrittografia CryptoKey Cloud KMS sulla chiave in uso per la chiave CMEK.
- Nella sezione Versione della pagina Crea un'istanza, devi selezionare una versione Enterprise o Integrata per utilizzare la CMEK.
- Nella sezione Crittografia della pagina Crea un'istanza, seleziona il pulsante di opzione Chiave di crittografia gestita dal cliente (CMEK). Viene visualizzato il campo a discesa Seleziona una chiave gestita dal cliente.
- Nel campo Seleziona una chiave gestita dal cliente, imposta la chiave che vuoi utilizzare. La chiave deve trovarsi in un portachiavi con una località impostata sulla stessa regione dell'istanza di Looker (Google Cloud core) che stai creando, altrimenti la creazione dell'istanza non andrà a buon fine. Puoi selezionare la chiave tramite uno dei due metodi seguenti:
- Seleziona il nome della chiave dall'elenco a discesa: le chiavi disponibili nel progetto Google Cloud vengono visualizzate in un elenco a discesa. Dopo aver selezionato la chiave, fai clic su OK.
- Inserisci l'ID risorsa della chiave. Fai clic sul testo Non vedi la chiave? Inserisci l'ID risorsa della chiave, visualizzato nella parte inferiore del menu a discesa, nella quale viene visualizzata la finestra di dialogo Inserisci ID risorsa della chiave, in cui puoi inserire l'ID della chiave. Dopo aver inserito l'ID, seleziona Salva.
- Dopo aver selezionato una chiave, viene visualizzato un messaggio che ti chiede di concedere all'account di servizio l'autorizzazione a utilizzare la chiave. Fai clic sul pulsante Concedi.
- Se l'account di servizio non dispone dell'autorizzazione per criptare e decriptare con la chiave selezionata, viene visualizzato un messaggio. In questo caso, fai clic su Concedi per concedere all'account di servizio il ruolo IAM Autore crittografia/decrittografia CryptoKey Cloud KMS per la chiave KMS selezionata.
- Dopo aver completato la configurazione dell'istanza di Looker (Google Cloud core), fai clic su Crea.
gcloud
gcloud looker instances create INSTANCE_NAME \ --project=PROJECT_ID \ --oauth-client-id=OAUTH_CLIENT_ID\ --oauth-client-secret=OAUTH_CLIENT_SECRET \ --kms-key=KMS_KEY_ID --region=REGION \ --edition=EDITION [--consumer-network=CONSUMER_NETWORK --private-ip-enabled --reserved-range=RESERVED_RANGE] [--no-public-ip-enabled] [--public-ip-enabled]
Sostituisci quanto segue:
INSTANCE_NAME
: un nome per l'istanza di Looker (Google Cloud core); non è associato all'URL dell'istanzaPROJECT_ID
: il nome del progetto Google Cloud in cui stai creando l'istanza di Looker (Google Cloud core)OAUTH_CLIENT_ID
eOAUTH_CLIENT_SECRET
: l'ID client e il secret OAuth che hai creato durante la configurazione del client OAuth. Dopo aver creato l'istanza, inserisci l'URL dell'istanza nella sezione URI di reindirizzamento autorizzati del client OAuth.- KMS_KEY_ID: l'ID della chiave KMS
REGION
: la regione in cui è ospitata l'istanza di Looker (Google Cloud core). Le regioni disponibili sono elencate nella pagina della documentazione Località di Looker (Google Cloud core).EDITION
: per abilitare CMEK,EDITION
deve esserecore-embed-annual
ocore-enterprise-annual
CONSUMER_NETWORK
: la tua rete VPC o il VPC condiviso. Deve essere impostato se stai creando un'istanza con IP privato.RESERVED_RANGE
: l'intervallo di indirizzi IP all'interno del VPC in cui Google eseguirà il provisioning di una subnet per la tua istanza di Looker (Google Cloud core). Deve essere impostato se stai creando un'istanza con IP privato.
Puoi includere i seguenti flag:
--private-ip-enabled
attiva l'IP privato.--public-ip-enabled
attiva l'IP pubblico.--no-public-ip-enabled
disattiva l'IP pubblico.
Terraform
Usa il seguente comando Terraform per eseguire il provisioning di un'istanza di Looker (Google Cloud core) con una connessione di rete privata:
Per scoprire come applicare o rimuovere una configurazione Terraform, consulta: Comandi Terraform di base.
L'istanza di Looker (Google Cloud core) è ora abilitata con CMEK.
Visualizzare le informazioni chiave per un'istanza con CMEK abilitato
Dopo aver creato correttamente un'istanza di Looker (Google Cloud core), puoi verificare se la CMEK è abilitata.
Per verificare se CMEK è attivato, seleziona una delle seguenti opzioni:
console
- Nella console Google Cloud, vai alla pagina Istanze Looker.
- Fai clic sul nome di un'istanza per aprire la pagina Dettagli. Se per un'istanza è abilitata la chiave CMEK, la riga Crittografia indica la crittografia utilizzata per l'istanza. Il campo Chiave di crittografia gestita dal cliente (CMEK) mostra l'identificatore della chiave.
gcloud
gcloud looker instances describe INSTANCE_NAME --region=REGION --format config
Sostituisci quanto segue:
INSTANCE_NAME
: un nome per l'istanza di Looker (Google Cloud core); non è associato all'URL dell'istanza- REGION: la regione in cui è stata creata l'istanza
Questo comando dovrebbe restituire un kmsKeyName
, un kmsKeyNameVersion
e un kmsKeyState
per confermare che l'istanza è stata configurata con CMEK.
Utilizzare Cloud External Key Manager (Cloud EKM)
Per proteggere i dati nelle istanze di Looker (Google Cloud core), puoi utilizzare le chiavi che gestisci all'interno di un partner esterno per la gestione delle chiavi supportato. Per saperne di più, consulta la pagina della documentazione relativa a Cloud External Key Manager, che include la sezione Considerazioni.
Quando è tutto pronto per creare una chiave Cloud EKM, consulta la sezione Come funziona della pagina della documentazione di Cloud External Key Manager. Dopo aver creato una chiave, fornisci il nome della chiave quando crei un'istanza di Looker (Google Cloud core).
Google non controlla la disponibilità delle chiavi in un sistema esterno di gestione delle chiavi partner.
Ruota la chiave
Ti consigliamo di ruotare la chiave per promuovere la sicurezza. Ogni volta che la chiave viene ruotata, viene creata una nuova versione. Per scoprire di più sulla rotazione della chiave, consulta la pagina della documentazione Rotazione delle chiavi.
Se ruoti la chiave utilizzata per proteggere l'istanza di Looker (Google Cloud core), la versione della chiave precedente è comunque necessaria per accedere ai backup o alle esportazioni effettuati quando era in uso la versione della chiave. Per questo motivo, Google consiglia di mantenere attiva la versione della chiave precedente per almeno 45 giorni dopo la rotazione per garantire che questi elementi rimangano accessibili. Le versioni della chiave vengono conservate per impostazione predefinita fino a quando non vengono disabilitate o eliminate.
Disattivare e riattivare le versioni delle chiavi
Consulta le seguenti pagine della documentazione:
Se una versione della chiave utilizzata per proteggere un'istanza di Looker (Google Cloud core) viene disattivata, l'istanza di Looker (Google Cloud core) deve interrompere il funzionamento, cancellare tutti i dati sensibili non criptati che potrebbero essere presenti in memoria e attendere che la chiave diventi di nuovo disponibile. La procedura è la seguente:
- La versione della chiave utilizzata per proteggere un'istanza di Looker (Google Cloud core) è disabilitata.
- Entro circa 15 minuti, l'istanza di Looker (Google Cloud core) rileva che la versione della chiave è stata revocata, smette di funzionare e cancella tutti i dati criptati in memoria.
- Quando l'istanza smette di funzionare, le chiamate alle API Looker restituiscono un messaggio di errore.
- Quando l'istanza smette di funzionare, l'interfaccia utente di Looker (Google Cloud core) restituisce un messaggio di errore.
- Se riattivi la versione della chiave, devi attivare manualmente un riavvio dell'istanza.
Se disattivi una versione della chiave e non vuoi attendere che l'istanza di Looker (Google Cloud core) si arresti autonomamente, puoi attivare manualmente un riavvio dell'istanza in modo che l'istanza di Looker (Google Cloud core) rilevi immediatamente la versione della chiave revocata.
Distruzione delle versioni della chiave
Consulta la seguente pagina della documentazione:
Se una versione della chiave utilizzata per contribuire a proteggere un'istanza di Looker (Google Cloud core) viene eliminata, l'istanza di Looker diventa inaccessibile. L'istanza deve essere eliminata e non potrai accedere ai suoi dati.
Risoluzione dei problemi
Questa sezione descrive le operazioni da provare quando ricevi un messaggio di errore durante la configurazione o l'utilizzo di istanze con CMEK abilitato.
Le operazioni di amministrazione di Looker (componente principale di Google Cloud), come la creazione o l'aggiornamento, potrebbero non riuscire a causa di errori di Cloud KMS e di ruoli o autorizzazioni mancanti. I motivi comuni di errore includono una versione della chiave Cloud KMS mancante, una versione della chiave Cloud KMS disabilitata o eliminata, autorizzazioni IAM insufficienti per accedere alla versione della chiave Cloud KMS o che la versione della chiave Cloud KMS si trova in una regione diversa rispetto all'istanza di Looker (Google Cloud core). Utilizza la seguente tabella per la risoluzione dei problemi per diagnosticare e risolvere i problemi più comuni.
Tabella per la risoluzione dei problemi relativi alle chiavi di crittografia gestite dal cliente
Messaggio di errore | Possibili cause | Strategie di risoluzione dei problemi |
Account di servizio per prodotto e progetto non trovato | Il nome dell'account di servizio non è corretto. | Assicurati di aver creato un account di servizio per il progetto utente corretto. |
Impossibile concedere l'accesso all'account di servizio | L'account utente non dispone dell'autorizzazione per concedere l'accesso a questa versione della chiave. | Aggiungi il ruolo Amministratore dell'organizzazione al tuo account utente o di servizio. |
La versione della chiave Cloud KMS viene eliminata | La versione della chiave è stata eliminata. | Se la versione della chiave viene eliminata, non puoi utilizzarla per criptare o decriptare i dati. L'istanza di Looker (Google Cloud core) deve essere eliminata. |
La versione della chiave Cloud KMS è disabilitata | La versione della chiave è disabilitata. | Riattiva la versione della chiave Cloud KMS. |
Autorizzazione insufficiente per utilizzare la chiave Cloud KMS | Il ruolo cloudkms.cryptoKeyEncrypterDecrypter non è presente nell'account utente o di servizio che utilizzi per eseguire operazioni sulle istanze di Looker (principali di Google Cloud) oppure la versione della chiave Cloud KMS non esiste.
|
Aggiungi il ruolo Se il ruolo è già presente nel tuo account, consulta la sezione Creare un keyring e una chiave per scoprire come creare una nuova versione della chiave. Quindi, completa di nuovo i passaggi per la creazione dell'istanza. |
Chiave Cloud KMS non trovata | La versione della chiave non esiste. | Crea una nuova versione della chiave e completa di nuovo la procedura di creazione dell'istanza. Consulta la sezione Creare un keyring e una chiave. |
L'istanza di Looker (Google Cloud core) e la versione della chiave Cloud KMS si trovano in regioni diverse | La versione della chiave Cloud KMS e l'istanza di Looker (Google Cloud core) devono trovarsi nella stessa regione. Non funziona se la versione della chiave Cloud KMS si trova in una regione globale o in più regioni. | Crea una versione della chiave nella stessa regione in cui vuoi creare le istanze e completa di nuovo i passaggi per la creazione delle istanze. Consulta la sezione Creare un keyring e una chiave. |
Passaggi successivi
- Gestire un'istanza di Looker (Google Cloud core) dalla console Google Cloud
- Impostazioni amministratore di Looker (Google Cloud core)