Résoudre les erreurs liées à CMEK et aux paramètres par défaut

Ce document explique comment identifier et limiter les conséquences des erreurs courantes commises lors de la configuration du chiffrement CMEK, et comment identifier les erreurs qui surviennent lors de la configuration de l'emplacement des ressources par défaut.

Résoudre les problèmes de définition de l'emplacement par défaut des ressources

Vous essayez de mettre à jour l'emplacement de stockage par défaut d'une organisation ou d'un dossier, mais la commande échoue et renvoie une erreur semblable à celle-ci:

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" }'

Pour résoudre cette erreur, définissez l'emplacement de stockage par défaut de l'organisation ou du dossier de sorte qu'il corresponde à l'emplacement de la clé Cloud Key Management Service de l'organisation ou du dossier.

Résoudre les problèmes liés à CMEK

Lorsque vous configurez CMEK, le projet Trusted Cloud contenant la clé Cloud KMS est averti des problèmes associés. Par exemple, les mises à jour échouent lorsque KMS_KEY_NAME n'est pas valide, lorsque le compte de service associé ne dispose pas du rôle Chiffreur/Déchiffreur de CryptoKeys Cloud Key Management Service requis ou lorsque l'accès à la clé est désactivé.

Une fois que vous avez configuré CMEK, au moins l'un des événements suivants se produit:

  • Vous avez reçu une notification de Cloud Logging concernant des problèmes d'accès CMEK.

  • Vous remarquez que CMEK n'est pas activé pour les buckets de journaux _Default et _Required lorsque vous créez des projets Trusted Cloud dans votre organisation ou dans un dossier.

  • Vous recevez des erreurs lorsque vous lisez à partir de buckets de journaux avec CMEK activé, ou si vous essayez de créer ou de mettre à jour des buckets de journaux.

La notification fournit des informations sur la défaillance et indique les mesures que vous pouvez prendre pour atténuer le problème:

Erreur Recommandation
Autorisation d'utiliser la clé cryptographique refusée

Le compte de service Logging associé à votre projet Trusted Cloud ne dispose pas des autorisations IAM nécessaires pour utiliser la clé Cloud KMS spécifiée. Suivez les instructions fournies par l'erreur ou consultez les documents suivants:

Clé cryptographique désactivée La clé Cloud KMS spécifiée a été désactivée. Suivez les instructions du message d'erreur pour réactiver la clé.
La clé cryptographique a été détruite

La clé Cloud KMS spécifiée a été détruite. Suivez les instructions ou consultez les documents suivants:

Identifier le projet contenant la clé Cloud KMS

Pour identifier l'ID du Trusted Cloud projet contenant la clé de chiffrement utilisée par un bucket de journaux, un dossier ou une organisation, procédez comme suit:

PROJECT

gcloud logging settings describe --project=PROJECT_ID

Avant d'exécuter la commande, remplacez PROJECT_ID par l'ID du projet contenant le bucket de journaux.

FOLDER

gcloud logging settings describe --folder=FOLDER_ID

Avant d'exécuter la commande, remplacez FOLDER_ID par l'ID du dossier.

ORGANIZATION

gcloud logging settings describe --organization=ORGANIZATION_ID

Avant d'exécuter la commande, remplacez ORGANIZATION_ID par l'ID de l'organisation.

La commande précédente renvoie des informations semblables à ce qui suit:

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

Pour les organisations et les dossiers, le champ suivant est également renvoyé:

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

La valeur du champ kmsKeyName inclut le projet Trusted Cloud qui stocke la clé.

Vérifier que les clés sont exploitables

Pour vérifier la facilité d'utilisation de la clé, exécutez la commande suivante pour répertorier toutes les clés :

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

Cette commande renvoie des informations sur chaque clé sous forme de tableau. La première ligne du résultat est une liste de noms de colonnes :

NAME PURPOSE ...

Dans la réponse qui s'affiche, assurez-vous que la clé Cloud KMS est répertoriée dans le résultat de la commande en tant que ENABLED et qu'elle remplit une fonction de chiffrement symétrique. Pour cela, la colonne PURPOSE doit contenir ENCRYPT_DECRYPT et la colonne PRIMARY_STATE doit contenir ENABLED.

Si nécessaire, créez une clé.

Vérifier la configuration des autorisations

Les comptes de services associés aux paramètres CMEK de l'organisation doivent détenir le rôle Chiffreur/Déchiffreur de CryptoKeys Cloud KMS pour la clé configurée.

Pour afficher la règle Cloud IAM de la clé, exécutez la commande suivante :

gcloud kms keys get-iam-policy KMS_KEY_NAME

Si nécessaire, ajoutez le compte de service qui contient le rôle Chiffreur/Déchiffreur de CryptoKeys Cloud KMS à la clé.