Crittografa di nuovo gli oggetti che violano le policy della CMEK predefinita del bucket

Questa pagina descrive come utilizzare l'advisor di Storage Intelligence per identificare e crittografare nuovamente gli oggetti che violano la policy della chiave di crittografia gestita dal cliente (CMEK) predefinita di un bucket.

Quando imposti una chiave Cloud KMS predefinita su un bucket, Cloud Storage cripta i nuovi oggetti con quella chiave, a meno che la richiesta di caricamento non specifichi una chiave diversa. Tuttavia, Cloud Storage non esegue automaticamente la nuova crittografia degli oggetti esistenti che hai caricato prima di impostare la chiave predefinita. Questi oggetti rimangono criptati con il metodo di crittografia originale. Per saperne di più sui metodi di crittografia disponibili, consulta Opzioni di crittografia dei dati.

L'advisor di Storage Intelligence mostra il risultato Gli oggetti violano le policy dei bucket CMEK predefinite quando un bucket con una chiave Cloud Key Management Service (Cloud KMS) predefinita contiene oggetti non criptati con CMEK. Un risultato è un'anomalia o una lacuna nella configurazione della sicurezza rilevata dalle metriche e dai metadati degli oggetti che richiede la tua attenzione. Per una panoramica di Storage Intelligence Advisor, consulta Informazioni su Storage Intelligence Advisor. Per un elenco completo dei risultati, consulta il catalogo di riferimento dei risultati.

Soglie che attivano un risultato

Quando attivi Storage Intelligence, Cloud Storage valuta automaticamente i metadati di crittografia a livello di bucket e di oggetto nel progetto, nella cartella o nell'organizzazione. L'advisor di Storage Intelligence genera un risultato quando un bucket soddisfa entrambi i seguenti criteri:

I risultati della baseline iniziale vengono visualizzati entro 48 ore dall'attivazione di Storage Intelligence e vengono aggiornati ogni 24 ore. Per ridurre il volume degli avvisi, l'advisor di Storage Intelligence aggrega le violazioni a livello di oggetto per bucket nella dashboard. Puoi eseguire query sui metadati di crittografia a livello di oggetto nei set di dati di Storage Insights.

Rispondi a un risultato

Per rispondere al risultato, identifica gli oggetti interessati in ogni bucket e criptali nuovamente con la chiave Cloud KMS predefinita del bucket:

  1. Visualizza i dettagli del risultato per identificare i bucket interessati e copia il nome della risorsa della chiave KMS predefinita di ogni bucket.

  2. (Facoltativo) Per visualizzare l'elenco degli oggetti nel bucket che non sono crittografati con CMEK, esegui una query sul set di dati di Storage Insights in BigQuery. Se non hai configurato un set di dati collegato, consulta Configura i set di dati Storage Insights.

    SELECT
      bucket,
      name,
      encryptionType
    FROM
      `DATASET_NAME.object_attributes_latest_snapshot_view`
    WHERE
      bucket = 'BUCKET_NAME'
      AND encryptionType != 'CMEK'
      AND timeDeleted IS NULL
      AND softDeleteTime IS NULL;

    Sostituisci quanto segue:

    • DATASET_NAME: il nome del set di dati collegato a Storage Insights in BigQuery.
    • BUCKET_NAME: il nome del bucket interessato.
  3. Utilizza la tabella seguente per selezionare il metodo di nuova crittografia per i tuoi oggetti live:

    Scenario Azione consigliata Dettagli
    Gli oggetti attivi interessati utilizzano la crittografia standard (GMEK) Crittografa di nuovo gli oggetti criptati con GMEK su larga scala utilizzando le operazioni batch di archiviazione Esporta i file manifest CSV degli oggetti GMEK attivi interessati da BigQuery ed esegui un job di operazioni batch di archiviazione per riscrivere gli oggetti con la chiave Cloud KMS predefinita del bucket.
    Gli oggetti attivi interessati utilizzano chiavi di crittografia fornite dal cliente (CSEK) Crittografa nuovamente gli oggetti criptati con CSEK utilizzando Google Cloud CLI Poiché Google Cloud non archivia le chiavi di crittografia fornite dal cliente (CSEK), le operazioni batch di archiviazione non possono decriptare gli oggetti criptati con CSEK. Utilizza il comando gcloud storage objects update per riscrivere gli oggetti criptati con CSEK con la chiave Cloud KMS predefinita del bucket.

    Dopo aver criptato nuovamente tutti gli oggetti non conformi in un bucket, il risultato viene cancellato per quel bucket durante il successivo ciclo di aggiornamento di 24 ore. Tuttavia, il risultato rimane attivo nei seguenti casi finché tu o Cloud Storage non eliminate definitivamente le versioni degli oggetti conservati:

Crittografa di nuovo gli oggetti criptati con GMEK su larga scala utilizzando le operazioni batch di archiviazione

Per criptare nuovamente gli oggetti GMEK attivi su larga scala, esporta i file manifest CSV da BigQuery ed esegui un job di operazioni batch di archiviazione:

  1. Esegui la seguente query EXPORT DATA in BigQuery per creare un manifest CSV utilizzando i set di dati di Storage Insights:

    EXPORT DATA OPTIONS(
      uri='gs://DESTINATION_BUCKET/manifests/objects_violating_default_policies_*.csv',
      format='CSV',
      overwrite=true,
      header=true
    ) AS
    SELECT
      bucket,
      name
    FROM
      `DATASET_NAME.object_attributes_latest_snapshot_view`
    WHERE
      bucket = 'BUCKET_NAME'
      AND encryptionType = 'GMEK'
      AND timeDeleted IS NULL
      AND softDeleteTime IS NULL;

    Sostituisci quanto segue:

    • DESTINATION_BUCKET: il nome del bucket Cloud Storage in cui vuoi archiviare i file manifest CSV esportati.
    • DATASET_NAME: il nome del set di dati collegato a Storage Insights in BigQuery.
    • BUCKET_NAME: il nome del bucket interessato.
  2. Completa i prerequisiti per le operazioni batch di archiviazione e chiedi all'amministratore di concedere il ruolo Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter) sulla chiave Cloud KMS predefinita del bucket a entrambi i seguenti agenti di servizio:

    • L'agente di servizio per le operazioni batch di archiviazione (service-PROJECT_NUMBER@gcp-sa-storagebatchoperations.iam.gserviceaccount.com)
    • Il service agent Cloud Storage (service-PROJECT_NUMBER@gs-project-accounts.iam.gserviceaccount.com)

    Sostituisci PROJECT_NUMBER con il numero del progetto che contiene il bucket.

  3. Esegui il comando gcloud storage batch-operations jobs create per creare un job di operazioni batch di archiviazione utilizzando il file manifest e cripta nuovamente gli oggetti con la chiave Cloud KMS predefinita del bucket. Per verificare la configurazione del job prima di modificare gli oggetti, includi il flag --dry-run:

    gcloud storage batch-operations jobs create JOB_NAME \
      --bucket="BUCKET_NAME" \
      --manifest-location="gs://DESTINATION_BUCKET/manifests/objects_violating_default_policies_*.csv" \
      --rewrite-object="kms-key=DEFAULT_KMS_KEY"

    Sostituisci quanto segue:

    • JOB_NAME: un ID univoco per il job batch, ad esempio update-encryption-to-cmek-job.
    • BUCKET_NAME: il nome del bucket interessato.
    • DESTINATION_BUCKET: il nome del bucket che contiene i file manifest esportati.
    • DEFAULT_KMS_KEY: il nome della risorsa della chiave Cloud KMS predefinita del bucket, nel formato projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/CRYPTO_KEY.

Crittografa di nuovo gli oggetti criptati con CSEK utilizzando Google Cloud CLI

Poiché Google Cloud non archivia le chiavi di crittografia fornite dal cliente (CSEK), le operazioni batch di archiviazione non possono decriptare gli oggetti criptati con CSEK. Per criptare nuovamente gli oggetti criptati con CSEK con la chiave Cloud KMS predefinita del bucket, esegui il comando gcloud storage objects update con i flag --decryption-keys e --encryption-key:

gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME \
  --decryption-keys=DECRYPTION_KEY \
  --encryption-key=DEFAULT_KMS_KEY

Sostituisci quanto segue:

  • BUCKET_NAME: il nome del bucket interessato.
  • OBJECT_NAME: il nome dell'oggetto criptato con CSEK che vuoi criptare nuovamente. Per aggiornare più oggetti con un unico comando, utilizza i caratteri jolly URI o il flag --read-paths-from-stdin (-I).
  • DECRYPTION_KEY: la chiave AES-256 codificata in base64 RFC 4648 che cripta l'oggetto.
  • DEFAULT_KMS_KEY: il nome della risorsa della chiave Cloud KMS predefinita del bucket, nel formato projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/CRYPTO_KEY.

Passaggi successivi