Pourquoi ne puis-je pas lire ou mettre à jour une politique de clé KMS dans AWS KMS ?

Date de la dernière mise à jour : 26/08/2021

Je souhaite mettre à jour une politique de clé AWS KMS dans AWS Key Management Service (AWS KMS). J'ai vérifié que je dispose des autorisations d'administrateur pour mes identités AWS Identity and Access Management (IAM) (utilisateurs, groupes et rôles), mais ne peux ni lire ni mettre à jour la politique de clé KMS.

Brève description

Les principaux IAM doivent disposer de l'autorisation d'action API GetKeyPolicy pour lire une politique de clé, et PutKeyPolicy pour la mettre à jour. Ces autorisations sont accordées soit directement avec la politique de clé, soit sous forme d'une combinaison de politiques de clé et IAM. Pour plus d'informations, consultez Gestion de l'accès aux clés CMK AWS KMS.

La politique IAM de clé KMS par défaut contient une instruction similaire à celle donnée en exemple ci-dessous :

{
  "Sid": "Enable IAM User Permissions",
  "Effect": "Allow",
  "Principal": {
    "AWS": "arn:aws:iam::111122223333:root"
  },
  "Action": "kms:*",
  "Resource": "*"
}

Les entités IAM du compte AWS 111122223333 peuvent effectuer toutes les actions AWS KMS autorisées dans la politique jointe. Si les entités ne peuvent pas effectuer d'actions API telles que GetKeyPolicy ou PutKeyPolicy, l'instruction « Activer les autorisations utilisateur IAM » peut avoir changée même si les autorisations sont données dans leurs politiques attachées.

Résolution

Vérifier les autorisations de politiques IAM

Assurez-vous que vos entités IAM sont autorisées à lire et à mettre à jour une clé KMS similaire à la politique IAM suivante :

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "kms:Create*",
        "kms:Describe*",
        "kms:Enable*",
        "kms:List*",
        "kms:Put*",
        "kms:Update*",
        "kms:Revoke*",
        "kms:Disable*",
        "kms:Get*",
        "kms:Delete*",
        "kms:TagResource",
        "kms:UntagResource",
        "kms:ScheduleKeyDeletion",
        "kms:CancelKeyDeletion"
      ],
      "Resource": "arn:aws:kms:*:111122223333:key/*"
    }
  ]
}

Utiliser l'historique des événements CloudTrail

1.    Ouvrez la console AWS CloudTrail, puis choisissez Historique des événements.

2.    Choisissez la liste déroulante Attributs de recherche, puis choisissez Nom de l'événement.

3.    Dans la fenêtre de recherche, saisissez PutKeyPolicy.

4.    Ouvrez le dernier événement PutKeyPolicy.

5.    Dans Enregistrement de l'événement, copiez la politique et collez-la dans votre éditeur de texte préféré.

6.    Analyse la politique dans un format lisible.

7.    Dans la politique IAM Sid « Autorisez l'accès aux administrateurs clés », prêtez attention aux administrateurs d'identité IAM similaires aux suivants :

{
  "Sid": "Allow access for Key Administrators",
  "Effect": "Allow",
  "Principal": {
    "AWS": [
      "arn:aws:iam::111122223333:role/Administrator"
    ]
   },

Les administrateurs de clés peuvent ensuite être utilisés pour retrouver l'accès à la clé.

Utiliser les requêtes Athena

Si l'événement de l'historique des événements CloudTrail dure plus de 90 jours, vous pouvez utiliser Amazon Athena pour effectuer une recherche dans les journaux CloudTrail.

Pour obtenir des instructions, consultez Utilisation de la console CloudTrail pour créer une table Athena pour les journaux CloudTrail.

Pour plus d'informations, consultez Comment puis-je créer des tables dans Amazon Athena pour chercher des journaux AWS CloudTrail ?


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?