Le message d'erreur « The new key policy will not allow you to update the key policy in the future » s'affiche lorsque j'essaie de créer une clé CMK et de définir une stratégie de clé AWS Key Management Service (AWS KMS) à l'aide de CloudFormation. Comme résoudre ce problème ?

Lors de la création d'une stratégie de clé, AWS KMS effectue des contrôles de sécurité, notamment pour vérifier que le mandataire qui effectue la demande CreateKey est également autorisé à effectuer un appel d'API PutKeyPolicy. Cela réduit le risque que la clé CMK devienne ingérable, autrement dit qu'il ne soit plus possible de la modifier ou de la supprimer.

Assurez-vous que la stratégie de clé en cours de création autorise l'utilisateur actuel à administrer la clé CMK, comme dans l'exemple fourni dans Autorise les administrateurs de clé à administrer la clé CMK.

Lors de la création d'une pile CloudFormation, l'utilisateur ou le rôle IAM utilisé pour effectuer l'appel d'API CreateStack est également utilisé pour créer les ressources dans la pile. Lors de la création d'une clé CMK, spécifiez ce même utilisateur ou rôle IAM en tant que mandataire pour la gestion de la clé CMK, comme dans l'exemple suivant (dans lequel il est supposé que la pile CloudFormation est créée par l'utilisateur IAM « Alice » sur le compte « 123456789012 ») :

"myKey" : {

    "Type" : "AWS::KMS::Key",

    "Properties" : {

        "Description" : "A sample key",

        "KeyPolicy" : {

            "Version":"2012-10-17",

            "Id": "key-default-1",

            "Statement": [

                {

                    "Sid": "Allow administration of the key",

                    "Effect":"Allow",

                    "Principal": { "AWS": "arn:aws:iam::123456789012:user/Alice" },

                    "Action": [

                        "kms:Create*",

                        "kms:Describe*",

                        "kms:Enable*",

                        "kms:List*",

                        "kms:Put*",

                        "kms:Update*",

                        "kms:Revoke*",

                        "kms:Disable*",

                        "kms:Get*",

                        "kms:Delete*",

                        "kms:ScheduleKeyDeletion",

                        "kms:CancelKeyDeletion"

                    ],

                    "Resource": "*"

                },

                {

                    "Sid": "Allow use of the key",

                    "Effect":"Allow",

                    "Principal": { "AWS": "arn:aws:iam::123456789012:user/Bob" },

                    "Action": [

                        "kms:Encrypt",

                        "kms:Decrypt",

                        "kms:ReEncrypt",

                        "kms:GenerateDataKey*",

                        "kms:DescribeKey"

                    ],

                    "Resource": "*"

                }

            ]

        }

    }

}

Si votre pile CloudFormation est créée par un compte d'utilisateur fédéré, définissez le mandataire en tant qu'ARN du rôle assumé par l'utilisateur fédéré, comme dans l'exemple suivant (où « FederatedAccess » est le nom du rôle IAM pour l'accès fédéré et « FederatedUsername » est le nom de l'utilisateur fédéré) : 

"Principal": { "AWS": "arn:aws:sts::123456789012:assumed-role/FederatedAccess/FederatedUsername" }

Il est également possible de définir l'utilisateur racine du compte AWS en tant que mandataire. Cela permet de passer le contrôle de sécurité de verrouillage de stratégie et d'autoriser la création de la clé KMS, comme dans l'exemple suivant :

"Principal": { "AWS": "arn:aws:sts::123456789012:root" }

CMK, KMS, gérer, mettre à jour


Cette page vous a-t-elle été utile ? Oui | Non

Retour au Centre de connaissances AWS Support

Vous avez besoin d'aide ? Consultez le site du Centre AWS Support

Date de publication : 19/08/2016