Nesta página, descrevemos como usar o consultor do Storage Intelligence para identificar e criptografar novamente objetos que violam a política padrão de chave de criptografia gerenciada pelo cliente (CMEK) de um bucket.
Quando você define uma chave padrão do Cloud KMS em um bucket, o Cloud Storage criptografa novos objetos com essa chave, a menos que sua solicitação de upload especifique uma chave diferente. No entanto, o Cloud Storage não recriptografa automaticamente os objetos que você enviou antes de definir a chave padrão. Esses objetos permanecem criptografados com o método de criptografia original. Para mais informações sobre os métodos de criptografia disponíveis, consulte Opções de criptografia de dados.
O consultor do Storage Intelligence mostra a descoberta Os objetos violam as políticas de bucket de CMEK padrão quando um bucket com uma chave padrão do Cloud Key Management Service (Cloud KMS) contém objetos que não estão criptografados com CMEK. Uma descoberta é uma anomalia ou lacuna de configuração de segurança detectada nas métricas e nos metadados de objetos que precisa da sua atenção. Para uma visão geral do consultor do Storage Intelligence, consulte Sobre o consultor do Storage Intelligence. Para ver uma lista completa de descobertas, consulte o catálogo de referência de descobertas.
Limites que acionam uma descoberta
Quando você ativa o Storage Intelligence, o Cloud Storage avalia automaticamente os metadados de criptografia no nível do bucket e do objeto no projeto, na pasta ou na organização. O consultor do Storage Intelligence gera uma descoberta quando um bucket atende aos dois critérios a seguir:
- O bucket tem uma chave padrão do Cloud KMS, o que significa que o campo
encryption.defaultKmsKeyNameestá definido e o campoencryption.defaultEncryptionTypeéCMEK. - O bucket contém pelo menos um objeto em que o campo de metadados
encryptionTypenão éCMEK, comoGMEKouCSEK.
As descobertas iniciais de referência aparecem em até 48 horas após a ativação do Storage Intelligence e são atualizadas a cada 24 horas. Para reduzir o volume de alertas, o consultor do Storage Intelligence agrega violações no nível do objeto por bucket no painel. É possível consultar metadados de criptografia no nível do objeto em conjuntos de dados do Storage Insights.
Responder a uma descoberta
Para responder à descoberta, identifique os objetos afetados em cada bucket e criptografe-os novamente com a chave padrão do Cloud KMS do bucket:
Veja os detalhes da descoberta para identificar os buckets afetados e copie o nome do recurso da chave padrão do KMS de cada bucket.
Opcional: para ver a lista de objetos no bucket que não estão criptografados com CMEK, consulte o conjunto de dados do Storage Insights no BigQuery. Se você não tiver configurado um conjunto de dados vinculado, consulte Configurar conjuntos de dados do 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;
Substitua:
DATASET_NAME: o nome do conjunto de dados vinculado do Storage Insights no BigQuery.BUCKET_NAME: o nome do bucket afetado.
Use a tabela a seguir para selecionar o método de criptografia para seus objetos ativos:
Cenário Ação recomendada Detalhes Os objetos ativos afetados usam criptografia padrão ( GMEK)Criptografar novamente objetos criptografados com GMEK em grande escala usando operações em lote do Storage Exportar arquivos de manifesto CSV de objetos ativos GMEKafetados do BigQuery e executar um job de operações em lote do Storage para reescrever os objetos com a chave padrão do Cloud KMS do bucket.Os objetos ativos afetados usam chaves de criptografia fornecidas pelo cliente ( CSEK)Criptografar novamente objetos criptografados com CSEK usando a Google Cloud CLI Como o Google Cloud não armazena chaves de criptografia fornecidas pelo cliente ( CSEK), as operações em lote do Storage não podem descriptografar objetos criptografados com CSEK. Use o comandogcloud storage objects updatepara reescrever objetos criptografados com CSEK com a chave padrão do Cloud KMS do bucket.Depois de criptografar novamente todos os objetos não compatíveis em um bucket, a descoberta será removida desse bucket durante o próximo ciclo de atualização de 24 horas. No entanto, a descoberta permanece ativa nos seguintes casos até que você ou o Cloud Storage exclua permanentemente as versões de objeto retidas:
- Controle de versão de objeto: quando você reescreve um objeto ativo,
o Cloud Storage retém o objeto original não compatível como uma
versão não atual. Para limpar a descoberta, exclua as versões não atuais do objeto ou configure uma regra de
Deletedo Gerenciamento do ciclo de vida de objetos. - Exclusão reversível: quando você reescreve ou exclui um objeto, o Cloud Storage mantém a versão original não compatível em um estado de exclusão reversível até que a duração da retenção da exclusão reversível do bucket expire.
- Controle de versão de objeto: quando você reescreve um objeto ativo,
o Cloud Storage retém o objeto original não compatível como uma
versão não atual. Para limpar a descoberta, exclua as versões não atuais do objeto ou configure uma regra de
Criptografar novamente objetos criptografados com GMEK em grande escala usando operações em lote do Storage
Para criptografar novamente objetos GMEK ativos em grande escala, exporte arquivos de manifesto CSV do BigQuery e execute um job de operações em lote do Storage:
Execute a seguinte consulta
EXPORT DATAno BigQuery para criar um manifesto CSV usando conjuntos de dados do 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;
Substitua:
DESTINATION_BUCKET: o nome do bucket do Cloud Storage em que você quer armazenar os arquivos de manifesto CSV exportados.DATASET_NAME: o nome do conjunto de dados vinculado do Storage Insights no BigQuery.BUCKET_NAME: o nome do bucket afetado.
Conclua os pré-requisitos das operações em lote do Storage e peça ao administrador para conceder o papel de criptografador/descriptografador de CryptoKey do Cloud KMS (
roles/cloudkms.cryptoKeyEncrypterDecrypter) na chave padrão do Cloud KMS do bucket para os dois agentes de serviço a seguir:- O agente de serviço de operações em lote do Storage
(
service-PROJECT_NUMBER@gcp-sa-storagebatchoperations.iam.gserviceaccount.com) - O agente de serviço do Cloud Storage
(
service-PROJECT_NUMBER@gs-project-accounts.iam.gserviceaccount.com)
Substitua
PROJECT_NUMBERpelo número do projeto que contém o bucket.- O agente de serviço de operações em lote do Storage
(
Execute o comando
gcloud storage batch-operations jobs createpara criar um job de operações em lote do Storage usando o arquivo de manifesto e criptografar novamente os objetos com a chave padrão do Cloud KMS do bucket. Para verificar a configuração do job antes de modificar objetos, inclua a 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"
Substitua:
JOB_NAME: um ID exclusivo para o job em lote, comoupdate-encryption-to-cmek-job.BUCKET_NAME: o nome do bucket afetado.DESTINATION_BUCKET: o nome do bucket que contém os arquivos de manifesto exportados.DEFAULT_KMS_KEY: o nome do recurso da chave padrão do Cloud KMS do bucket, no formatoprojects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/CRYPTO_KEY.
Criptografar novamente objetos criptografados com CSEK usando a Google Cloud CLI
Como o Google Cloud não armazena chaves de criptografia fornecidas pelo cliente (CSEK),
as operações em lote do Storage não podem descriptografar objetos criptografados com CSEK. Para criptografar novamente
objetos criptografados com CSEK com a chave padrão do Cloud KMS do bucket, execute o
comando gcloud storage objects update com as flags --decryption-keys
e --encryption-key:
gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME \ --decryption-keys=DECRYPTION_KEY \ --encryption-key=DEFAULT_KMS_KEY
Substitua:
BUCKET_NAME: o nome do bucket afetado.OBJECT_NAME: o nome do objeto criptografado por CSEK que você quer criptografar novamente. Para atualizar vários objetos em um único comando, use caracteres curinga de URI ou a flag--read-paths-from-stdin(-I).DECRYPTION_KEY: a chave AES-256 codificada em base64 RFC 4648 que criptografa o objeto.DEFAULT_KMS_KEY: o nome do recurso da chave padrão do Cloud KMS do bucket, no formatoprojects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/CRYPTO_KEY.
A seguir
- Principais tarefas:
- Confira outras descobertas:
- Criptografar novamente objetos que violam as regras de criptografia aplicadas
- Otimizar o uso de dados de armazenamento Coldline e Archive Storage
- Melhorar o desempenho mitigando erros de solicitação com limitação de taxa
- Identificar o consumo de armazenamento acima da tendência
- Gerenciar a saída de dados entre regiões
- Analisar o catálogo de referência de descobertas
- Conceitos relacionados: