Configura CMEK per Cloud Logging

Questo documento descrive come configurare e gestire chiavi di crittografia gestite dal cliente (CMEK) per Cloud Logging per soddisfare le tue esigenze le esigenze di conformità della tua organizzazione. Puoi configurare CMEK come impostazione delle risorse predefinita per organizzazione, una cartella, o entrambe le cose. Se configurato, Cloud Logging garantisce che tutti i nuovi bucket di log nell'organizzazione o nella cartella sono criptate con una chiave gestita dal cliente.

Panoramica

Per impostazione predefinita, Cloud Logging cripta i contenuti archiviati inattivi dei clienti. I dati archiviati nei bucket di log da Logging vengono criptati utilizzando chiavi di crittografia delle chiavi, tramite un processo noto come crittografia envelope. L'accesso ai dati di logging richiede l'accesso alle chiavi di crittografia della chiave, che Google gestisce le offerte per te senza che tu debba fare nulla.

La tua organizzazione può disporre di normative, conformità o livello avanzato requisiti di crittografia che la nostra crittografia at-rest predefinita non fornisce. Per soddisfare i requisiti della tua organizzazione, invece di lasciare che sia Google a gestire chiavi di crittografia che proteggono i tuoi dati, puoi configurare CMEK e gestire la crittografia.

Per informazioni specifiche su CMEK, inclusi vantaggi e limitazioni, consulta Chiavi di crittografia gestite dal cliente.

Quando configuri CMEK come impostazione delle risorse predefinita Logging, nuovi bucket di log nell'organizzazione o nella cartella vengono criptati automaticamente con la chiave configurata. Tuttavia, puoi modificare quella chiave o creare bucket di log e specificare una chiave diversa. Per ulteriori informazioni, vedi Configura una CMEK per i bucket di log.

Prerequisiti

Per iniziare, completa i seguenti passaggi:

  1. Esistono alcune limitazioni quando utilizzi CMEK. Prima di creare un bucket di log con CMEK abilitata, esamina le Limitazioni.

  2. Install the Google Cloud CLI, then initialize it by running the following command:

    gcloud init

    Questa guida fornisce istruzioni utilizzando Google Cloud CLI.

  3. Trova gli identificatori per l'organizzazione o la cartella per la quale vuoi abilitare CMEK:

    • ORGANIZATION_ID è l'identificatore numerico univoco del Organizzazione Google Cloud per la quale stai abilitando CMEK. Non è necessario questo valore se prevedi di configurare solo CMEK per . Per informazioni su come ottenere questo identificatore, consulta Recupero dell'ID organizzazione.
    • FOLDER_ID è l'identificatore numerico univoco del Cartella Google Cloud per cui stai abilitando CMEK. Non è necessario questo valore se prevedi di configurare solo CMEK per di un'organizzazione. Per informazioni sull'utilizzo delle cartelle, vedi Creazione e gestione delle cartelle.
  4. Per ottenere le autorizzazioni necessarie per creare le chiavi, chiedi all'amministratore di concederti Ruolo IAM Amministratore Cloud KMS (roles/cloudkms.admin) per il progetto o una risorsa padre. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

    Potresti anche riuscire a ottenere le autorizzazioni richieste tramite la ruoli o altri ruoli predefiniti ruoli.

  5. Assicurati di disporre delle seguenti autorizzazioni di Cloud Logging per organizzazione:

    • logging.settings.get
    • logging.settings.update
  6. Abilita l'API Cloud KMS per il progetto Google Cloud che esegue Cloud KMS.

  7. Crea un keyring e le chiavi per il Progetto Google Cloud che esegue Cloud KMS.

    Cloud Logging consente di utilizzare una chiave da qualsiasi regione. Tuttavia, quando crei un bucket di log, la località del bucket deve corrispondono alla posizione della chiave. Per informazioni sulle regioni supportate, consulta le seguenti risorse:

    Se configuri CMEK come impostazione delle risorse predefinita per Logging utilizzando i passaggi di questo documento, i nuovi bucket di log creati nell'organizzazione o nella cartella configurato automaticamente per CMEK. Inoltre, poiché la posizione il bucket di log deve corrispondere alla località della chiave, dopo la configurazione CMEK come impostazione della risorsa predefinita, non puoi creare bucket di log nella regione global.

  8. Identifica i valori per i seguenti parametri Cloud KMS:

    • KMS_PROJECT_ID è l'identificatore alfanumerico univoco, composto dal nome del tuo progetto Google Cloud e da una sequenza assegnato del progetto Google Cloud in esecuzione di Cloud KMS. Per informazioni su come ottenere questo identificatore, vedi Identificazione dei progetti.
    • KMS_KEY_LOCATION è il nome della chiave Cloud KMS regione.
    • KMS_KEY_RING è il keyring di Cloud KMS .
    • KMS_KEY_NAME con il nome della chiave Cloud KMS. Il formato è il seguente: projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KEYRING/cryptoKeys/KEY

Abilita CMEK per un'organizzazione o una cartella

Una volta completati i passaggi prerequisiti, segui questi passaggi: istruzioni per abilitare CMEK per la tua organizzazione Google Cloud.

Determinare l'ID account di servizio

Per determinare l'ID account di servizio associato all'organizzazione o alla cartella per cui verrà applicata la CMEK, esegui questo comando: gcloud logging settings describe :

CARTELLA

 gcloud logging settings describe --folder=FOLDER_ID

ORGANIZZAZIONE

gcloud logging settings describe --organization=ORGANIZATION_ID

L'esecuzione del comando precedente genera un account di servizio per l'organizzazione una cartella, se non ne esiste già una, e restituisce l'ID nel campo kmsServiceAccountId. Di seguito viene illustrata una risposta di esempio al comando precedente quando un dell'organizzazione specificata:

kmsServiceAccountId: cmek-p12345@gcp-sa-logging.iam.gserviceaccount.com
name: organizations/ORGANIZATION_ID/settings

In questo esempio, il valore di SERVICE_ACCT_NAME è cmek-p12345.

Esegui il processo di provisioning solo una volta per risorsa. Esecuzione di describe restituisce più volte lo stesso valore per kmsServiceAccountId .

Se non puoi utilizzare Google Cloud CLI, esegui Metodo API Cloud Logging getSettings.

Assegna il ruolo Autore crittografia/decrittografia

Per utilizzare CMEK, concedi all'account di servizio l'autorizzazione a utilizzare a Cloud KMS assegnandole Autore crittografia/decrittografia CryptoKey Cloud KMS di servizio all'account di servizio:

gcloud

gcloud kms keys add-iam-policy-binding \
--project=KMS_PROJECT_ID \
--member serviceAccount:SERVICE_ACCT_NAME@gcp-sa-logging.iam.gserviceaccount.com \
--role roles/cloudkms.cryptoKeyEncrypterDecrypter \
--location=KMS_KEY_LOCATION \
--keyring=KMS_KEY_RING \
KMS_KEY_NAME

Imposta le variabili nel comando come segue:

  • Sostituisci SERVICE_ACCT_NAME con il valore serviceAccountId determinato nel passaggio precedente.

  • Sostituisci le altre variabili con i valori definiti nella passaggi prerequisito.

Console

  1. Apri il browser Cloud Key Management Service Key nella console Google Cloud.
    Apri il browser delle chiavi Cloud KMS
  2. Fai clic sul nome del keyring contenente la chiave desiderata.

  3. Seleziona la casella di controllo della chiave desiderata.

    La scheda Autorizzazioni diventa disponibile.

  4. Nella finestra di dialogo Aggiungi membri, specifica l'indirizzo email Account di servizio Logging a cui stai concedendo l'accesso.

  5. Nel menu a discesa Seleziona un ruolo, seleziona CryptoKey Cloud KMS strumento di crittografia/decrittografia.

  6. Fai clic su Aggiungi.

Configura i criteri dell'organizzazione

Logging supporta i criteri dell'organizzazione che possono richiedere CMEK e può limitare le CryptoKey Cloud KMS utilizzabili Protezione CMEK:

  • Quando logging.googleapis.com è nell'elenco dei servizi del criterio Deny per la vincolo constraints/gcp.restrictNonCmekServices, Logging si rifiuta di creare nuovi bucket definiti dall'utente non protetti da CMEK. Tuttavia, questo vincolo non impedisce a Cloud Logging di creare _Required e _Default di bucket di log, creati quando viene eseguito un Il progetto Google Cloud è stato creato.

  • Quando viene applicato constraints/gcp.restrictCmekCryptoKeyProjects, Il logging crea risorse protette da CMEK che protetta da una CryptoKey da un progetto, una cartella o un'organizzazione consentiti.

Per saperne di più su CMEK e criteri dell'organizzazione, vedi Criteri dell'organizzazione CMEK.

Quando esiste un criterio dell'organizzazione che specifica un vincolo CMEK, assicurati che questi vincoli siano coerenti le impostazioni predefinite delle risorse per un'organizzazione o una cartella. Inoltre, se prevedi di modificare le impostazioni predefinite delle risorse, prima di aggiornare le impostazioni predefinite delle risorse, rivedere e, se necessario, aggiornare i criteri dell'organizzazione.

Per visualizzare o configurare i criteri dell'organizzazione, segui questi passaggi:

  1. Nella console Google Cloud, vai alla pagina Criteri dell'organizzazione:

    Vai a Criteri dell'organizzazione

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo IAM e Console di amministrazione.

  2. Seleziona la tua organizzazione.
  3. Verifica e, se necessario, aggiorna i vincoli specifici di CMEK.

    Per informazioni su come modificare un criterio dell'organizzazione, consulta Creazione e modifica delle norme.

Configura Cloud Logging con la chiave Cloud KMS

Per configurare CMEK come impostazione delle risorse predefinita per Logging, esegui questo comando gcloud logging settings update :

CARTELLA

gcloud logging settings update \
    --folder=FOLDER_ID \
    --kms-location=KMS_KEY_LOCATION \
    --kms-key-name=KMS_KEY_NAME \
    --kms-keyring=KMS_KEY_RING \
    --kms-project=KMS_PROJECT_ID

Il comando precedente aggiorna le impostazioni predefinite delle risorse per archiviare informazioni sulla chiave Cloud KMS. Devi assicurarti che posizione di archiviazione predefinita della cartella è impostato sul valore KMS_KEY_LOCATION. Se non hai impostato la posizione di archiviazione predefinita o se il relativo valore la località non corrisponde al valore di KMS_KEY_LOCATION, aggiungi quanto segue al comando precedente:

--storage-location = KMS_KEY_LOCATION

Il flag --storage-location ti consente di impostare o aggiornare il posizione predefinita per l'archiviazione della cartella.

ORGANIZZAZIONE

gcloud logging settings update \
    --organization=ORGANIZATION_ID \
    --kms-location=KMS_KEY_LOCATION \
    --kms-key-name=KMS_KEY_NAME \
    --kms-keyring=KMS_KEY_RING \
    --kms-project=KMS_PROJECT_ID

Il comando precedente aggiorna le impostazioni predefinite delle risorse per archiviare informazioni sulla chiave Cloud KMS. Devi assicurarti che posizione di archiviazione predefinita per l'organizzazione è impostato sul valore di KMS_KEY_LOCATION. Se non hai impostato la posizione di archiviazione predefinita o se il relativo valore la località non corrisponde al valore di KMS_KEY_LOCATION, aggiungi quanto segue al comando precedente:

--storage-location = KMS_KEY_LOCATION

Il flag --storage-location ti consente di impostare o aggiornare il una posizione di archiviazione predefinita per l'organizzazione.

Dopo l'applicazione della chiave, i nuovi bucket di log nell'organizzazione o nella cartella sono configurati per criptare i dati at-rest utilizzando questa chiave. Puoi anche cambiare chiavi per singoli bucket di log. Non puoi creare bucket di log in regione global perché devi utilizzare una chiave region corrisponde all'ambito regionale dei tuoi dati.

Se non puoi utilizzare Google Cloud CLI, esegui Metodo API Cloud Logging updateSettings.

Verifica l'abilitazione della chiave

Per verificare di aver abilitato correttamente CMEK per un'organizzazione o per creare una cartella, esegui questo comando gcloud logging settings describe :

CARTELLA

gcloud logging settings describe --folder=FOLDER_ID

ORGANIZZAZIONE

gcloud logging settings describe --organization=ORGANIZATION_ID

Il comando precedente restituisce il nome della chiave Cloud KMS:

kmsKeyName: KMS_KEY_NAME
kmsServiceAccountId: SERVICE_ACCT_NAME@gcp-sa-logging.iam.gserviceaccount.com

Se il campo kmsKeyName è compilato, la CMEK è abilitata per il dell'organizzazione o della cartella.

Esegui il routing dei log nelle destinazioni supportate

  • Puoi configurare i bucket di log di Cloud Logging per criptare i dati con CMEK. Quando configuri CMEK come impostazione delle risorse predefinita per un'organizzazione o una cartella, i nuovi bucket di log nell'organizzazione o nella cartella usano automaticamente CMEK. Puoi modificare la chiave questi bucket di log e puoi creare bucket di log che utilizzano un'architettura Chiave KMS rispetto a quella specificata dalle impostazioni delle risorse predefinite.

    Per informazioni sulla CMEK applicata ai bucket di log, incluse informazioni su come modificare e le relative limitazioni quando abiliti CMEK su un bucket di log, consulta Configura una CMEK per i bucket di log.

  • Cloud Storage supporta CMEK per i log di routing. Per istruzioni su come per configurare CMEK per Cloud Storage, vedi Utilizzo delle chiavi di crittografia gestite dal cliente.

    Se i dati vengono persi a causa dell'indisponibilità della chiave durante il routing dei dati dei log a Cloud Storage, puoi copiare i log in blocco retroattivamente a Cloud Storage, quando questi log sono archiviati anche in un bucket di log. Per maggiori dettagli, consulta Copiare voci di log.

  • Per impostazione predefinita, BigQuery cripta i contenuti archiviati inattivi dei clienti. Per i dettagli, vedi Protezione dei dati con le chiavi di Cloud Key Management Service.

  • Per impostazione predefinita, Pub/Sub cripta i contenuti archiviati inattivi dei clienti. Per Per maggiori dettagli, consulta Configurazione della crittografia dei messaggi.

Gestisci la chiave Cloud KMS

Le seguenti sezioni spiegano come modificare, revocare l'accesso o disattivare i tuoi Chiave Cloud KMS.

Modifica la chiave Cloud KMS

Per modificare la chiave Cloud KMS associata a un'organizzazione o a un cartella, crea una chiave e aggiorna le impostazioni CMEK con il nuovo nome della chiave Cloud KMS:

CARTELLA

gcloud logging settings update \
    --folder=FOLDER_ID
    --kms-key-name=NEW_KMS_KEY_NAME
    --kms-location=NEW_KMS_KEY_LOCATION \
    --kms-keyring=NEW_KMS_KEY_RING \
    --kms-project=NEW_KMS_PROJECT_ID

Devi assicurarti che posizione di archiviazione predefinita della cartella è impostato sul valore KMS_KEY_LOCATION. Se non hai impostato la posizione di archiviazione predefinita o se il relativo valore la località non corrisponde al valore di KMS_KEY_LOCATION, aggiungi quanto segue al comando precedente:

--storage-location = NEW_KMS_KEY_LOCATION

ORGANIZZAZIONE

gcloud logging settings update \
    --organization=ORGANIZATION_ID
    --kms-key-name=NEW_KMS_KEY_NAME
    --kms-location=NEW_KMS_KEY_LOCATION \
    --kms-keyring=NEW_KMS_KEY_RING \
    --kms-project=NEW_KMS_PROJECT_ID

Devi assicurarti che posizione di archiviazione predefinita per l'organizzazione è impostato sul valore di KMS_KEY_LOCATION. Se non hai impostato la posizione di archiviazione predefinita o se il relativo valore la località non corrisponde al valore di KMS_KEY_LOCATION, aggiungi quanto segue al comando precedente:

--storage-location = NEW_KMS_KEY_LOCATION

Revoca l'accesso alla chiave Cloud KMS

Puoi revocare l'accesso di Logging alla chiave Cloud KMS rimuovendo l'account di servizio configurato l'autorizzazione IAM per quella chiave.

Se rimuovi l'accesso di Logging a una chiave, l'operazione potrebbe richiedere fino un'ora affinché la modifica abbia effetto.

Per revocare l'accesso di Logging alla chiave Cloud KMS, esegui questo comando di Google Cloud CLI:

gcloud kms keys remove-iam-policy-binding \
    --project=KMS_PROJECT_ID \
    --member serviceAccount:SERVICE_ACCT_NAME@gcp-sa-logging.iam.gserviceaccount.com \
    --role roles/cloudkms.cryptoKeyEncrypterDecrypter \
    --location=KMS_KEY_LOCATION \
    --keyring=KMS_KEY_RING \
    KMS_KEY_NAME

Disattiva CMEK

La disabilitazione di CMEK per un'organizzazione o una cartella rimuove l'applicazione dei criteri CMEK solo per operazioni future; tutte le configurazioni applicate in precedenza rimangono invariate.

Per disattivare CMEK su una risorsa in cui è configurata come CMEK predefinita della risorsa, esegui questo comando di Google Cloud CLI:

CARTELLA

gcloud logging settings update --folder=FOLDER_ID --clear-kms-key

ORGANIZZAZIONE

gcloud logging settings update --organization=ORGANIZATION_ID --clear-kms-key

Se vuoi eliminare la chiave, consulta Eliminazione e ripristino delle versioni delle chiavi.

Considerazioni rotazione della chiave Cloud KMS

Cloud Logging non ruota automaticamente la crittografia per i file temporanei di ripristino di emergenza quando la chiave Cloud KMS associate all'organizzazione o alle cartelle Google Cloud. Recupero esistente continuano a utilizzare la versione della chiave con cui sono stati creati. Nuovi dei file di ripristino utilizzano la versione attuale della chiave primaria.

Limitazioni

Le seguenti sono limitazioni note quando configurare CMEK come impostazione delle risorse predefinita per Logging.

File di ripristino di emergenza non disponibile

Una chiave Cloud KMS è considerata disponibile e accessibile Logging quando entrambe le seguenti condizioni sono vere:

  • La chiave sia abilitata.
  • L'account di servizio Logging ha eseguito la crittografia e la decriptazione le autorizzazioni sulla chiave.

Se Logging perde l'accesso alla chiave Cloud KMS, Logging non è in grado di scrivere file temporanei di ripristino di emergenza e le query smetteranno di funzionare per gli utenti. Le prestazioni delle query potrebbero rimanere anche dopo il ripristino dell'accesso alla chiave.

Ciò potrebbe influire anche sul routing dei log a Cloud Storage perché Logging non è in grado di scrivere file temporanei per agevolare il routing. Se si verifica un errore durante la crittografia o la decriptazione dei dati, viene inviata una notifica al progetto Google Cloud contenente Chiave Cloud KMS.

Disponibilità della libreria client

Le librerie client di Logging non forniscono metodi per configurare CMEK.

Riduzione dovuta all'indisponibilità della chiave Cloud EKM

Quando utilizzi una chiave Cloud EKM, Google non ha alcun controllo sulle della chiave gestita esternamente nel sistema di gestione delle chiavi esterno e il sistema partner di Google.

Se CMEK è configurata come impostazione di risorsa predefinita per un'organizzazione oppure una cartella, se una chiave gestita esternamente non è disponibile, Cloud Logging riprova continuamente ad accedere alla chiave. Cloud Logging memorizza inoltre nel buffer i dati di log in entrata per un massimo di un'ora. Dopo un'ora, se Cloud Logging non è ancora in grado di accedere all'interfaccia esterna e la chiave gestita, Cloud Logging inizia a eliminare i dati.

Se CMEK viene applicata a un bucket di log e se una chiave gestita esternamente non è disponibile, Cloud Logging continua ad archiviare i log nei bucket di log, ma gli utenti non potranno accedere a quei dati.

Per ulteriori informazioni, consulta la documentazione di Cloud External Key Manager considerazioni e potenziali alternative quando si utilizzano chiavi esterne.

Limitazioni dei bucket di log

Per le limitazioni quando utilizzi CMEK con i bucket di log, vedi Limitazioni.

Quote

Per maggiori dettagli sui limiti di utilizzo di Logging, consulta Quote e limiti.

Risolvere gli errori di configurazione

Per informazioni sulla risoluzione degli errori di configurazione CMEK, vedi Risolvi gli errori relativi a CMEK e impostazioni predefinite.