Soluciona problemas relacionados con la CMEK y la configuración predeterminada de recursos para Cloud Logging

En este documento, se describe cómo encontrar y mitigar errores comunes de configuración de CMEK. También se describe cómo identificar los errores que se producen cuando se configuran los parámetros de configuración predeterminados de los recursos para Cloud Logging. Estos parámetros de configuración se pueden establecer para organizaciones y carpetas.

Soluciona problemas relacionados con la configuración de la ubicación de los buckets de registros creados por el sistema

En el caso de una organización o carpeta, intentas actualizar la configuración predeterminada de recursos para Cloud Logging. Tu actualización es para establecer o modificar la configuración de ubicación. Sin embargo, el comando falla con un error similar al siguiente:

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 este error, establece la ubicación en la configuración predeterminada del recurso como la ubicación de la clave de Cloud Key Management Service.

Soluciona problemas de CMEK

Cuando configuras CMEK, el proyecto Cloud de Confiance que contiene la clave de Cloud KMS recibe una notificación de problemas relacionados. Por ejemplo, las actualizaciones fallan cuando KMS_KEY_NAME no es válido, cuando la cuenta de servicio asociada no tiene el rol de Encriptador/Desencriptador de CryptoKey de Cloud Key Management Service requerido o cuando el acceso a la clave está inhabilitado.

Después de configurar la CMEK, ocurre al menos una de las siguientes situaciones:

  • Recibiste una notificación de Cloud Logging sobre problemas de acceso a CMEK.

  • Observas que CMEK no está habilitada para los buckets de registros _Default y _Required cuando creas proyectos Cloud de Confiance nuevos en tu organización o en una carpeta.

  • Recibes errores cuando lees desde buckets de registros con la CMEK habilitada o si intentas crear o actualizar buckets de registros.

La notificación proporciona información sobre el error y contiene los pasos que puedes seguir para mitigar el problema:

Error Recomendación
Se denegó el permiso para usar claves criptográficas

La cuenta de servicio de Logging asociada a tu proyecto Cloud de Confiance no tiene los permisos de IAM suficientes para operar en la clave de Cloud KMS especificada. Sigue las instrucciones del error o consulta los siguientes documentos:

La clave criptográfica está inhabilitada Se inhabilitó la clave de Cloud KMS especificada. Sigue las instrucciones del error para volver a habilitar la clave.
Se destruyó la clave criptográfica

Se destruyó la clave de Cloud KMS especificada. Sigue las instrucciones o consulta los siguientes documentos:

Identifica el proyecto que contiene la clave de Cloud KMS

Para identificar el ID del proyecto Cloud de Confiance que contiene la clave de encriptación que usa un bucket de registros, una carpeta o una organización, haz lo siguiente:

PROYECTO

gcloud logging settings describe --project=PROJECT_ID

Antes de ejecutar el comando, reemplaza PROJECT_ID por el ID del proyecto que contiene el bucket de registros.

FOLDER

gcloud logging settings describe --folder=FOLDER_ID

Antes de ejecutar el comando, reemplaza FOLDER_ID por el ID de la carpeta.

ORGANIZACIÓN

gcloud logging settings describe --organization=ORGANIZATION_ID

Antes de ejecutar el comando, reemplaza ORGANIZATION_ID por el ID de la organización.

El comando anterior devuelve información similar a la siguiente:

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 las organizaciones y las carpetas, también se devuelve el siguiente campo:

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

El valor del campo kmsKeyName incluye el proyecto Cloud de Confiance que almacena la clave.

Verifica la usabilidad de la clave

Si deseas verificar la usabilidad de la clave, ejecuta el siguiente comando para enumerar todas las claves:

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

Este comando muestra información sobre cada clave en formato tabular. La primera línea del resultado es una lista de nombres de columnas:

NAME PURPOSE ...

Verifica que la clave de Cloud KMS aparezca en el resultado del comando como ENABLED y que el propósito de la clave sea la encriptación simétrica: la columna PURPOSE debe contener ENCRYPT_DECRYPT y la columna PRIMARY_STATE debe contener ENABLED.

Si es necesario, crea una clave nueva.

Verifica la configuración de los permisos

Las cuentas de servicio que están asociadas a la configuración de CMEK de la organización deben tener la función Encriptador/Desencriptador de CryptoKey de Cloud KMS para la clave configurada.

Para enumerar la política de IAM de la clave, ejecuta el siguiente comando:

gcloud kms keys get-iam-policy KMS_KEY_NAME

Si es necesario, agrega la cuenta de servicio que contiene la función Encriptador/Desencriptador de CryptoKey de Cloud KMS a la clave.