Resolver erros de CMEK e de configuração padrão

Este documento descreve como encontrar e mitigar erros comuns de configuração do CMEK e como identificar erros que ocorrem ao definir o local de recurso padrão.

Resolver problemas ao definir o local de recurso padrão

Você tenta atualizar o local de armazenamento padrão de uma organização ou pasta, mas o comando falha com um erro semelhante ao seguinte:

ERROR: (gcloud.logging.settings.update) INVALID_ARGUMENT: The KMS key location must match the storage location. Received KMS key location: us-central1, storage location: us-west1
- '@type': type.googleapis.com/google.rpc.DebugInfo
  detail: '[ORIGINAL ERROR] generic::invalid_argument: The KMS key location must match
    the storage location. Received KMS key location: us-central1, storage location:
    us-west1 [google.rpc.error_details_ext] { message: "The KMS key location must
    match the storage location. Received KMS key location: us-central1, storage location:
    us-west1" }'

Para resolver esse erro, defina o local de armazenamento padrão da organização ou pasta para corresponder ao local da chave do Cloud Key Management Service para a organização ou pasta.

Resolver problemas do CMEK

Conforme você configura a CMEK, o projeto Trusted Cloud que contém a chave do Cloud KMS é notificado sobre problemas relacionados. Por exemplo, as atualizações falharão quando KMS_KEY_NAME for inválido, quando a conta de serviço associada não tiver o papel Criptografador/descriptografador de CryptoKey do Cloud Key Management Service necessário ou quando o acesso à chave estiver desativado.

Depois de configurar o CMEK, pelo menos uma das seguintes ações ocorre:

  • Você recebeu uma notificação do Cloud Logging sobre problemas de acesso à CMEK.

  • Você percebe que o CMEK não está ativado para os buckets de registro _Default e _Required quando você cria novos projetos Trusted Cloud na sua organização ou em uma pasta.

  • Você recebe erros ao ler de buckets de registro com a CMEK ativada ou se tentar criar ou atualizar buckets de registro.

A notificação fornece informações sobre a falha e contém etapas que você pode seguir para minimizar o problema:

Erro Recomendação
Permissão de chave criptográfica negada

A conta de serviço do Logging associada ao projeto Trusted Cloud não tem permissões do IAM suficientes para operar na chave do Cloud KMS especificada. Siga as instruções do erro ou consulte os seguintes documentos:

A chave criptográfica está desativada A chave do Cloud KMS especificada foi desativada. Siga as instruções no erro para reativar a chave.
A chave criptográfica foi destruída

A chave do Cloud KMS especificada foi destruída. Siga as instruções ou consulte os seguintes documentos:

Identificar o projeto que contém a chave do Cloud KMS

Para identificar o ID do projeto Trusted Cloud que contém a chave de criptografia usada por um bucket de registros, pasta ou organização, faça o seguinte:

PROJETO

gcloud logging settings describe --project=PROJECT_ID

Antes de executar o comando, substitua PROJECT_ID pelo ID do projeto que contém o bucket de registro.

PASTA

gcloud logging settings describe --folder=FOLDER_ID

Antes de executar o comando, substitua FOLDER_ID pelo ID da pasta.

ORGANIZAÇÃO

gcloud logging settings describe --organization=ORGANIZATION_ID

Antes de executar o comando, substitua ORGANIZATION_ID pelo ID da organização.

O comando anterior retorna informações semelhantes a estas:

kmsServiceAccountId: KMS_SERVICE_ACCT_NAME@gcp-sa-logging.s3ns-system.iam.gserviceaccount.com
loggingServiceAccountId: SERVICE_ACCT_NAME@gcp-sa-logging.s3ns-system.iam.gserviceaccount.com

Para organizações e pastas, o seguinte campo também é retornado:

kmsKeyName: projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KMS_KEY_RING/cryptoKeys/KEY

O valor do campo kmsKeyName inclui o projeto Trusted Cloud que armazena a chave.

Verificar a usabilidade de chaves

Para verificar a usabilidade da chave, execute o seguinte comando para listar todas as chaves:

gcloud kms keys list \
--location=KMS_KEY_LOCATION \
--keyring=KMS_KEY_RING

Esse comando retorna informações sobre cada chave em formato tabular. A primeira linha de saída é uma lista de nomes de coluna:

NAME PURPOSE ...

Verifique se a chave do Cloud KMS está listada na saída do comando como ENABLED, e se a finalidade da chave é a criptografia simétrica: a coluna PURPOSE precisa conter ENCRYPT_DECRYPT e a coluna PRIMARY_STATE precisa conter ENABLED.

Se necessário, crie uma nova chave.

Verificar a configuração das permissões

As contas de serviço associadas às configurações da CMEK da organização precisam ter o papel Criptografador/Descriptografador de CryptoKey do Cloud KMS para a chave configurada.

Para listar a política do IAM da chave, execute o seguinte comando :

gcloud kms keys get-iam-policy KMS_KEY_NAME

Se necessário, adicione à conta de serviço que contém o papel Criptografador/Descriptografador de CryptoKey do Cloud KMS para a chave.