Per impostazione predefinita, Google Cloud cripta automaticamente i dati at-rest utilizzando chiavi di crittografia gestite da Google. 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) per la crittografia a livello di applicazione di Looker (Google Cloud core).
Per saperne di più su CMEK in generale, inclusi quando e perché abilitare questa funzionalità, consulta la documentazione di Cloud Key Management Service.
Questa pagina illustra come configurare un'istanza di Looker (Google Cloud Core) per utilizzare CMEK.
Come interagisce Looker (Google Cloud Core) con CMEK?
Looker (core Google Cloud) 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 esegue una chiamata iniziale al 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 ogni cinque minuti circa per verificare che la chiave sia ancora valida.
Quali tipi di istanze di Looker (Google Cloud Core) supportano CMEK?
Le istanze Looker (Google Cloud Core) supportano CMEK quando vengono soddisfatti due criteri:
- La procedura di configurazione CMEK descritta in questa pagina è stata completata prima della creazione dell'istanza di Looker (Google Cloud Core). Non puoi abilitare 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 illustra i passaggi seguenti per configurare CMEK per un'istanza di Looker (Google Cloud Core).
- Configura il tuo ambiente.
- Solo per gli utenti dell'interfaccia a riga di comando e dell'API gcloud: crea un account di servizio per ogni progetto che richiede chiavi di crittografia gestite dal cliente.
- Crea un keyring e una chiave e imposta la posizione della chiave. La località corrisponde alla regione di Google Cloud.
- Solo per gli utenti dell'interfaccia a riga di comando e dell'API gcloud: copia o prendi nota dell'ID chiave (KMS_KEY_ID) e della posizione della chiave, oltre all'ID (KMS_KEYRING_ID) per il keyring. Queste informazioni sono necessarie per concedere all'account di servizio l'accesso alla chiave.
- Solo per gli utenti dell'interfaccia a riga di comando e dell'API gcloud: concedi all'account di servizio l'accesso alla chiave.
- Vai a un 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 per ID.
Una volta completati tutti questi passaggi, l'istanza di Looker (Google Cloud Core) verrà abilitata con CMEK.
Prima di iniziare
Se non lo hai già fatto, assicurati che il tuo ambiente sia configurato in modo da consentirti di seguire le istruzioni riportate in questa pagina. Segui i passaggi in questa sezione per assicurarti che la configurazione sia corretta.
- Nella console di Google Cloud Console, nella pagina del selettore progetti, 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. Al termine di questi passaggi, puoi eliminare il progetto e rimuovere le risorse associate.
- Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud. Scopri come verificare se la fatturazione è abilitata per un progetto.
- Assicurati di disporre del ruolo Amministratore Looker sul tuo account utente.
- Installa Google Cloud CLI.
Per inizializzare l'interfaccia a riga di comando gcloud, esegui il comando seguente:
gcloud init
Abilitare l'API Cloud Key Management Service.
Abilitare l'API Looker (Google Cloud Core).
Crea un account di servizio
Se utilizzi l'interfaccia alla gcloud CLI o l'API per creare un'istanza di Looker (Google Cloud Core), devi creare un account di servizio per ciascun progetto Google Cloud che richiede chiavi di crittografia gestite dal cliente. Se vuoi creare più istanze Looker (Google Cloud Core) in un progetto, lo stesso account di servizio si applica a tutte le istanze Looker (Google Cloud Core) nel progetto e la creazione dell'account di servizio deve essere eseguita una sola volta. Se utilizzi la console per creare un'istanza, Looker (Google Cloud Core) crea automaticamente l'account di servizio quando scegli per la prima volta 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 dettagli su un account di servizio e impersonare un account di servizio. - Amministratore account di servizio (
roles/iam.serviceAccountAdmin
): include le autorizzazioni per elencare gli account di servizio e ottenere dettagli su un account di servizio. Sono incluse anche le autorizzazioni per creare, aggiornare ed eliminare gli account di servizio.
Attualmente, puoi utilizzare i comandi gcloud CLI solo 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
gcloud beta services identity create \ --service=looker.googleapis.com \ --project=PROJECT_ID
Il comando precedente restituisce il nome di un account di servizio. Puoi utilizzare questo nome per l'account di servizio durante la procedura descritta in Concedere all'account di servizio l'accesso alla chiave.
Crea un keyring e un keyring
Nota:puoi utilizzare una chiave gestita esternamente con CMEK utilizzando il servizio Cloud EKM per rendere la chiave disponibile tramite Cloud KMS.
Puoi creare la chiave nello stesso progetto Google Cloud dell'istanza di Looker (Google Cloud Core) o in un progetto utente separato. La località del keyring del Cloud KMS deve corrispondere all'area geografica in cui vuoi creare l'istanza di Looker (Google Cloud Core). Una chiave a più regioni o globale non funziona. La richiesta di creazione dell'istanza di Looker (Google Cloud Core) non riesce se le regioni non corrispondono.
Segui le istruzioni riportate nelle pagine della documentazione Creazione di un keyring e Creazione di una chiave per creare un keyring e una chiave che soddisfino i due criteri seguenti:
- Il campo Posizione del keyring deve corrispondere alla regione che imposti per l'istanza di Looker (Google Cloud Core).
- Il campo Finalità della chiave deve essere Cripta/decriptazione simmetrica.
Consulta la sezione Ruota la chiave per scoprire di più sulla rotazione della chiave e sulla creazione di nuove versioni della chiave.
Copia o prendi nota dei KMS_KEY_ID
e dei KMS_KEYRING_ID
Se utilizzi gcloud o l'API per configurare la tua istanza di Looker (Google Cloud Core), segui le istruzioni nella pagina della documentazione Ottieni un ID risorsa di Cloud KMS per individuare gli ID delle risorse per il keyring e la chiave che hai appena creato. Copia o prendi nota dell'ID chiave (KMS_KEY_ID) e della posizione della chiave, oltre all'ID (KMS_KEYRING_ID) per il keyring. 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 utilizzi l'interfaccia a riga di comando gcloud o l'API. Per SERVICE_ACCOUNT_NAME
, utilizza il nome dell'account di servizio restituito al momento della creazione dell'account di servizio.
Per concedere l'accesso all'account di servizio:
gcloud
gcloud Cloud KMS keys add-iam-policy-binding KMS_KEY_ID \ --location=GCP_REGION \ --keyring=KMS_KEYRING_ID \ --member=serviceAccount:SERVICE_ACCOUNT_NAME \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter
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 innanzitutto i passaggi descritti nella sezione Creare un keyring e una chiave, mostrato in precedenza, per creare un keyring e una chiave nella stessa regione che utilizzerai per l'istanza di Looker (Google Cloud Core). Utilizzando le impostazioni seguenti, segui le istruzioni per creare un'istanza di Looker (Google Cloud Core) nella pagina della documentazione Creare un'istanza di Looker (Google Cloud Core) dalla console Google Cloud:
console
- Nella sezione Edizione della pagina Crea un'istanza, devi selezionare un'edizione Enterprise o Embed 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 a discesa Seleziona una chiave gestita dal cliente.
- Nel campo Seleziona una chiave gestita dal cliente, imposta la chiave da utilizzare. La chiave deve trovarsi in un keyring con un percorso impostato sulla stessa regione dell'istanza di Looker (Google Cloud Core) che stai creando, altrimenti la creazione dell'istanza avrà esito negativo. 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 il token, fai clic su OK.
- Inserisci l'ID risorsa della chiave: fai clic sul testo Non vedi la chiave? Inserisci l'ID risorsa della chiave, che viene visualizzato nella parte inferiore del menu a discesa.Verrà visualizzata una finestra di dialogo Inserisci l'ID risorsa della chiave, dove 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 al tuo account di servizio l'autorizzazione a utilizzare la chiave. Fai clic sul pulsante Concedi.
- Se l'account di servizio non è autorizzato a criptare/decriptare con la chiave selezionata, viene visualizzato un messaggio. In questo caso, fai clic su Concedi all'account di servizio per assegnare il
roles/cloudkms.cryptoKeyEncrypterDecrypter
ruolo IAM sulla 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
Per abilitare CMEK, devi assegnare--edition
a core-embed-annual
o core-enterprise-annual
.
Ora la tua istanza di Looker (Google Cloud Core) è abilitata con CMEK.
Visualizza le informazioni chiave per un'istanza abilitata per CMEK
Dopo aver creato correttamente un'istanza di Looker (Google Cloud Core), puoi controllare se CMEK è abilitata.
console
- Nella console Google Cloud, vai alla pagina Istanze Looker.
- Fai clic sul nome di un'istanza per aprire la pagina Dettagli in questione. Se per un'istanza è abilitata la chiave di crittografia gestita dal cliente, 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
Questo comando dovrebbe restituire kmsKeyName
, kmsKeyNameVersion
e kmsKeyState
per confermare che l'istanza sia 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 supportato per la gestione delle chiavi. Per ulteriori informazioni, consulta la pagina della documentazione relativa a 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 partner di gestione delle chiavi esterno.
Ruota la chiave
Potresti voler ruotare la chiave per promuovere la sicurezza. Ogni volta che la chiave viene ruotata, ne viene creata una nuova versione. Per saperne di più sulla rotazione della chiave, consulta la pagina della documentazione Rotazione delle chiavi.
Se esegui la rotazione della chiave utilizzata per proteggere la tua istanza di Looker (Google Cloud Core), la versione precedente è ancora necessaria per accedere ai backup o alle esportazioni effettuate quando la versione della chiave 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 tali elementi rimangano accessibili. Le versioni della chiave vengono conservate per impostazione predefinita finché non vengono disattivate o eliminate.
Disabilita e riattiva 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) è disabilitata, l'istanza di Looker (Google Cloud Core) deve arrestarsi, cancellare tutti i dati sensibili non criptati in memoria e attendere fino a quando la chiave non diventa nuovamente 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.
- Una volta che l'istanza smette di funzionare, le chiamate alle API Looker restituiscono un messaggio di errore.
- Una volta che 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 disabiliti una versione della chiave e non vuoi attendere l'arresto autonomo dell'istanza di Looker (Google Cloud Core), puoi attivare manualmente il riavvio dell'istanza in modo che questa rilevi la versione della chiave revocata immediatamente.
Eliminazione delle versioni delle chiavi
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 relativi dati.
Risolvere i problemi
Questa sezione descrive gli elementi da provare quando ricevi un messaggio di errore durante la configurazione o l'utilizzo delle istanze abilitate per CMEK.
Le operazioni dell'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. Tra i motivi più comuni ci sono 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 una versione della chiave Cloud KMS che si trova in una regione diversa rispetto all'istanza di Looker (Google Cloud Core). Utilizza la seguente tabella di 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 per la risoluzione dei problemi |
Account di servizio per prodotto non trovato per progetto | 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 è autorizzato a concedere l'accesso a questa versione della chiave. | Aggiungi il ruolo Amministratore dell'organizzazione sul tuo account utente o di servizio. |
La versione della chiave Cloud KMS è stata 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 | Ruolo cloudkms.cryptoKeyEncrypterDecrypter mancante nell'account utente o di servizio utilizzato per eseguire operazioni sulle istanze Looker (Google Cloud Core) oppure la versione della chiave Cloud KMS non esiste.
|
Aggiungi il ruolo VAI ALLA PAGINA ACCOUNT ACCOUNT Se il ruolo è già presente sul tuo account, consulta la sezione Creazione di un keyring e di una chiave per informazioni su 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 i passaggi per la creazione dell'istanza. Consulta la sezione Creazione di un keyring e di una chiave. |
L'istanza di Looker (Google Cloud Core) e la versione della chiave Cloud KMS si trovano in aree geografiche 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 o più regioni globali. | Crea una versione della chiave nella stessa regione in cui vuoi creare le istanze e completa di nuovo i passaggi per la creazione dell'istanza. Consulta la sezione Creazione di un keyring e di una chiave. |
Passaggi successivi
- Amministrare un'istanza di Looker (Google Cloud Core) dalla console Google Cloud
- Amministrare un'istanza di Looker (Google Cloud Core) da Looker