Per impostazione predefinita, Google Cloud cripta automaticamente i dati quando sono at-rest 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 saperne di più su CMEK in generale, incluso quando e perché abilitarla, consulta la documentazione di Cloud Key Management Service.
Questa pagina descrive 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, ogni 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 a KMS circa ogni cinque minuti per verificare che la chiave sia ancora valida.
Quali tipi di istanze di Looker (Google Cloud core) supportano CMEK?
Le istanze di Looker (Google Cloud core) supportano CMEK quando vengono soddisfatti due criteri:
- I passaggi di configurazione di CMEK descritti in questa pagina vengono completati prima della creazione dell'istanza di Looker (Google Cloud core). Non puoi abilitare le chiavi di crittografia gestite dal cliente sulle istanze esistenti.
- Le versioni delle istanze 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 l'ambiente.
- Solo utenti di Google Cloud CLI, Terraform e API:crea un service account per ogni progetto che richiede chiavi di crittografia gestite dal cliente, se un account di servizio Looker non è già stato configurato per il progetto.
- Crea una chiave automatizzata 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 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) del portachiavi. Queste informazioni sono necessarie quando concedi all'account di servizio l'accesso alla chiave.
- Solo utenti di Google Cloud CLI, Terraform e API:concedi all'account di servizio l'accesso alla chiave.
- 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 Embed.
- Attiva la configurazione della chiave gestita dal cliente.
- Aggiungi la chiave di crittografia gestita dal cliente per nome o ID.
Una volta completati tutti questi passaggi, CMEK verrà abilitata per l'istanza di Looker (Google Cloud core).
Prima di iniziare
Se non l'hai ancora fatto, assicurati che il tuo ambiente sia configurato in modo da poter seguire le istruzioni riportate in questa pagina. Segui i passaggi descritti in questa sezione per assicurarti che la configurazione sia corretta.
- Nella console Google Cloud , nella pagina di selezione del progetto, 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 già 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 verificare se la fatturazione è abilitata per un progetto.
- Installa Google Cloud CLI.
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init
Abilita l'API Cloud Key Management Service.
Abilita l'API Looker (Google Cloud core).
Ruoli obbligatori
Per comprendere i ruoli richiesti per la configurazione di CMEK, visita 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 viene creata l'istanza di Looker (Google Cloud core). Per attivare CMEK per l'istanza all'interno della Google Cloud console, assicurati di disporre del ruolo IAM Utilità di crittografia/decrittografia CryptoKey di Cloud KMS sulla chiave utilizzata 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 l'istanza di Looker (Google Cloud core) e non è già stato creato un account di servizio Looker per il progetto Google Cloud in cui risiederà, devi creare un account di servizio per il progetto. Se intendi creare più di un'istanza di Looker (Google Cloud core) nel progetto, lo stesso account di servizio si applica a tutte le istanze di Looker (Google Cloud core) in quel progetto e la creazione del account di servizio deve essere eseguita una sola volta. Se utilizzi la console per creare un'istanza, Looker (Google Cloud core) crea automaticamente il account di servizio e gli concede l'accesso alla chiave CMEK mentre configuri l'opzione Utilizza una chiave di crittografia gestita dal cliente.
Per consentire a un utente di gestire i service account, concedi uno dei seguenti ruoli:
- Utente service account (
roles/iam.serviceAccountUser
): include le autorizzazioni per elencare i service account, ottenere dettagli su un account di servizio e impersonare un account di servizio. - Amministratore service account (
roles/iam.serviceAccountAdmin
): include le autorizzazioni per elencare i service account e ottenere dettagli su 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.
gcloud
Esegui questo comando per creare il 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 il account di servizio e restituisce il nome del account di servizio. Utilizzi questo nome del account di servizio durante la procedura descritta in Concedere al account di servizio l'accesso alla chiave.
Dopo aver creato il account di servizio, attendi qualche minuto per la propagazione.
Creare una chiave automatizzata 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 portachiavi Cloud KMS deve corrispondere alla regione in cui vuoi creare l'istanza di Looker (Google Cloud core). Una chiave multiregionale o globale non funzionerà. La richiesta di creazione dell'istanza di Looker (Google Cloud core) non va a buon fine se le regioni non corrispondono.
Segui le istruzioni riportate nelle pagine di documentazione Creare chiavi automatizzate e Creare una chiave per creare chiavi automatizzate e una chiave che soddisfino i due criteri seguenti:
- Il campo Posizione del portachiavi deve corrispondere alla regione che imposterai per l'istanza di Looker (Google Cloud core).
- Il campo della chiave Finalità deve essere Crittografia/decrittografia simmetrica.
Consulta la sezione Ruotare la chiave per scoprire come ruotare la chiave e creare nuove versioni della 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 nella pagina di documentazione Recuperare un ID risorsa Cloud KMS per individuare gli ID risorsa del portachiavi e della chiave che hai appena creato. Copia o annota l'ID chiave (KMS_KEY_ID) e la posizione della chiave, insieme all'ID (KMS_KEYRING_ID) del portachiavi. Queste informazioni sono necessarie quando concedi all'account di servizio l'accesso alla chiave.
Concedi al account di servizio l'accesso alla chiave
Devi eseguire questa procedura solo se si verificano entrambe le seguenti condizioni:
- Stai utilizzando Google Cloud CLI, Terraform o l'API.
- Al 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 concederlo.
Per concedere l'accesso al account di servizio, devi disporre del ruolo IAM Amministratore Cloud KMS per la chiave in uso.
Per concedere l'accesso al 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 viene creato Looker (Google Cloud core) e la posizione del portachiavi
- KMS_KEYRING_ID: l'ID delle chiavi automatizzate KMS
- SERVICE_ACCOUNT_NAME: il nome del account di servizio restituito quando hai creato il service account
Dopo aver concesso il ruolo IAM al account di servizio, attendi alcuni minuti 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 portachiavi e una chiave, mostrata in precedenza, per creare un portachiavi e una chiave nella stessa regione che utilizzerai per l'istanza di Looker (Google Cloud core). Successivamente, 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 le impostazioni CMEK, seleziona una delle seguenti opzioni:
console
- Assicurati di disporre del ruolo IAM Autore crittografia/decrittografia CryptoKey Cloud KMS sulla chiave utilizzata per CMEK.
- Nella sezione Edizione della pagina Crea un'istanza, devi selezionare un'edizione Enterprise o Embed per utilizzare CMEK.
- Nella sezione Crittografia della pagina Crea un'istanza, seleziona il pulsante di opzione Chiave di crittografia gestita dal cliente (CMEK). Viene visualizzato un 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 la cui 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 in uno dei seguenti due modi:
- Seleziona il nome della chiave dall'elenco a discesa:le chiavi disponibili nel tuo 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 tua chiave? Inserisci l'ID risorsa della chiave, che viene visualizzato nella parte inferiore del menu a discesa.Viene visualizzata una 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 l'autorizzazione al account di servizio per utilizzare la chiave. Fai clic sul pulsante Concedi.
- Se il 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 sulla chiave KMS selezionata.
- Una volta terminata 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 OAuth e il segreto OAuth che hai creato quando hai configurato il client OAuth. Una volta creata l'istanza, inserisci il relativo URL 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 di documentazione Località di Looker (Google Cloud core).EDITION
: per attivare CMEK,EDITION
deve esserecore-embed-annual
ocore-enterprise-annual
CONSUMER_NETWORK
: la tua rete VPC o il tuo VPC condiviso. Deve essere impostato se stai creando un'istanza di connessioni private (PSA).RESERVED_RANGE
: l'intervallo di indirizzi IP all'interno del VPC in cui Google eseguirà il provisioning di una subnet per l'istanza di Looker (Google Cloud core). Deve essere impostato se stai creando un'istanza di connessioni private (PSA).
Puoi includere i seguenti flag:
--private-ip-enabled
consente le connessioni private.--public-ip-enabled
consente connessioni sicure pubbliche.--no-public-ip-enabled
disattiva le connessioni sicure pubbliche.
Terraform
Utilizza la seguente risorsa Terraform per eseguire il provisioning di un'istanza di Looker (Google Cloud core) Enterprise con una connessione di rete privata:
Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.
La tua istanza di Looker (Google Cloud core) ora è abilitata con CMEK.
Visualizzare le informazioni sulla chiave per un'istanza abilitata per CMEK
Una volta creata correttamente un'istanza di Looker (Google Cloud core), puoi verificare se CMEK è abilitata.
Per verificare se CMEK è abilitata, 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 CMEK, una 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 da te gestite in un partner di gestione delle chiavi esterne supportato. Per saperne di più, consulta la pagina di documentazione di Cloud External Key Manager, inclusa la sezione Considerazioni.
Quando è tutto pronto per creare una chiave Cloud EKM, consulta la sezione Come funziona della pagina di 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 di gestione delle chiavi esterno partner.
Ruota la chiave
Ti consigliamo di ruotare la chiave per aumentare 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 di documentazione Rotazione delle chiavi.
Se ruoti la chiave utilizzata per proteggere l'istanza di Looker (Google Cloud core), la versione precedente della chiave è comunque necessaria per accedere ai backup o alle esportazioni eseguiti quando era in uso. Per questo motivo, Google consiglia di mantenere abilitata la versione precedente della chiave per almeno 45 giorni dopo la rotazione per garantire che questi elementi rimangano accessibili. Le versioni della chiave vengono conservate per impostazione predefinita finché non vengono disabilitate o eliminate.
Disabilitare e riabilitare le versioni della chiave
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 potrebbe avere in memoria e attendere che la chiave torni 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, interrompe il funzionamento e cancella tutti i dati criptati in memoria.
- Dopo l'interruzione del funzionamento dell'istanza, le chiamate alle API Looker restituiscono un messaggio di errore.
- Dopo l'interruzione del funzionamento dell'istanza, 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 disabiliti una versione della chiave e non vuoi attendere l'arresto automatico dell'istanza di Looker (Google Cloud core), puoi attivare manualmente il riavvio dell'istanza in modo che 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 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 abilitate a CMEK.
Le operazioni di amministratore di Looker (Google Cloud core), 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 disattivata o eliminata, autorizzazioni IAM insufficienti per accedere alla versione della chiave Cloud KMS o la versione della chiave Cloud KMS in una regione diversa dall'istanza Looker (Google Cloud core). Utilizza la seguente tabella per la risoluzione dei problemi per diagnosticare e risolvere i problemi comuni.
Tabella per la risoluzione dei problemi relativi alle chiavi di crittografia gestite dal cliente
Messaggio di errore | Possibili cause | Strategie per la risoluzione dei problemi |
Account di servizio per prodotto e per progetto non trovato | Il nome del account di servizio non è corretto. | Assicurati di aver creato un account di servizio per il progetto utente corretto. |
Impossibile concedere l'accesso al 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 utente o account di servizio. |
La versione della chiave Cloud KMS viene eliminata | La versione della chiave viene 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'utente o nel account di servizio che utilizzi per eseguire operazioni sulle istanze di Looker (Google Cloud core) oppure la versione della chiave Cloud KMS non esiste.
|
Aggiungi il ruolo VAI ALLA PAGINA DEGLI ACCOUNT IAM 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 di creazione dell'istanza. |
La chiave Cloud KMS non è stata trovata | La versione della chiave non esiste. | Crea una nuova versione della chiave e completa di nuovo i passaggi per la creazione dell'istanza. Consulta la sezione Creare chiavi automatizzate 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 multiregionale. | Crea una versione della chiave nella stessa regione in cui vuoi creare le istanze e completa di nuovo i passaggi di creazione dell'istanza. Consulta la sezione Creare chiavi automatizzate e una chiave. |
Passaggi successivi
- Amministra un'istanza di Looker (Google Cloud core) dalla Google Cloud console
- Impostazioni di amministrazione di Looker (Google Cloud core)