Per impostazione predefinita, Google Cloud cripta automaticamente i dati quando sono in stato 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é attivarlo, consulta la documentazione di Cloud Key Management Service.
Questa pagina illustra la procedura per configurare un'istanza di Looker (Google Cloud core) per l'utilizzo di 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 contribuire a 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 attivare le chiavi di crittografia gestite dal cliente nelle istanze esistenti.
- Le versioni delle istanze devono essere Enterprise o Incorpora.
Flusso di lavoro per la creazione di un'istanza di Looker (Google Cloud core) con CMEK
Questa pagina illustra i passaggi che seguono per configurare CMEK per un'istanza di Looker (Google Cloud core).
- Configura l'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 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 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 per concedere 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 località 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 ID.
Una volta completati tutti questi passaggi, l'istanza di Looker (Google Cloud core) verrà attivata 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 descritti in questa sezione per assicurarti che la configurazione sia corretta.
- Nella Google Cloud console, nella pagina di selezione del progetto, seleziona o crea un Google Cloud progetto. 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.
- Assicurati che la fatturazione sia attivata per il tuo Google Cloud progetto. Scopri come verificare se la fatturazione è abilitata in 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 conoscere i 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 Utilità di crittografia/decrittografia CryptoKey di 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 sulla 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 un account di servizio Looker non è già stato creato per il Google Cloud progetto in cui risiederà, devi creare un account di servizio per quel progetto. Se prevedi di creare 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) del progetto e la creazione dell'account di servizio dovrà essere eseguita una sola volta. Se utilizzi la console per creare un'istanza, Looker (Google Cloud core) crea automaticamente l'account di servizio e gli concede l'accesso alla chiave CMEK quando configuri l'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 ottenere i dettagli di un account di servizio. Sono incluse 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 il seguente 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 risiede l'istanza di Looker (Google Cloud core).
Questo comando crea l'account di servizio e restituisce il nome dell'account di servizio. Utilizza 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 sua propagazione.
Creare una chiave automatizzata e una chiave
Puoi creare la chiave nello stesso Google Cloud progetto 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 un mazzo di chiavi e Creare una chiave per creare un mazzo di chiavi e una chiave che soddisfino i seguenti due criteri:
- Il campo Posizione 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.
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 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 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 per concedere all'account di servizio l'accesso alla chiave.
Concedi all'account di servizio l'accesso alla chiave
Devi eseguire questa procedura solo se si verificano entrambe le seguenti condizioni:
- 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 sulla 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 è stato creato Looker (Google Cloud core) e la posizione del portachiavi
- KMS_KEYRING_ID: l'ID della raccolta di chiavi 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 Google Cloud console, 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). 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 un campo del menu 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 utilizzando uno dei seguenti due metodi:
- 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 la finestra di dialogo Inserisci l'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.
- Una volta completata 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 Google Cloud progetto 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 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 attivare 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 della VPC in cui Google eseguirà il provisioning di una sottorete per l'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
disabilita l'IP pubblico.
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 attivata con CMEK.
Visualizzare le informazioni chiave per un'istanza abilitata per CMEK
Dopo aver creato correttamente un'istanza di Looker (Google Cloud core), puoi verificare se CMEK è abilitato.
Per verificare se CMEK è attivato, seleziona una delle seguenti opzioni:
console
- Nella Google Cloud console, vai alla pagina Istanze Looker.
- Fai clic sul nome di un'istanza per aprire la pagina Dettagli. Se per un'istanza è abilitata la crittografia 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 ulteriori informazioni, consulta la pagina della 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 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 di gestione delle chiavi partner esterno.
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 delle chiavi, consulta la pagina di documentazione Rotazione delle chiavi.
Se ruoti la chiave utilizzata per proteggere la tua istanza di Looker (Google Cloud core), la versione precedente della chiave è comunque necessaria per accedere ai backup o alle esportazioni eseguite quando era in uso. 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 delle chiavi vengono conservate per impostazione predefinita finché non vengono disattivate 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 Looker (core di Google Cloud) rileva che la versione della chiave è stata revocata, smette di funzionare ed elimina 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 proteggere un'istanza di Looker (Google Cloud core) viene distrutta, 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 disattivata o distrutta, 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 (core di Google Cloud). 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 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 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'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 di creazione dell'istanza. |
Chiave Cloud KMS non 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 per la creazione delle istanze. 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)