Pourquoi ne puis-je pas utiliser une clé AWS KMS personnalisée pour créer ou attacher un volume EBS chiffré ?

Lecture de 3 minute(s)
0

Je n'arrive pas à créer ou à attacher un volume Amazon Elastic Block Store (Amazon EBS) chiffré à partir d'un instantané. L'instantané est chiffré à l'aide d'une clé gérée par le client AWS Key Management Service (AWS KMS).

Brève description

Dans certains cas, vous ne pouvez pas créer ou attacher un volume EBS chiffré à partir d'un instantané chiffré. Ce problème survient lorsque votre instantané et la clé KMS personnalisée utilisée pour chiffrer l'instantané se trouvent dans le même compte et qu'il manque des autorisations de stratégie de clés. Pour résoudre ce problème, autorisez l'utilisateur ou le rôle AWS Identity and Access Management (IAM) dans la stratégie de clé AWS KMS.

Résolution

Identifiez les autorisations manquantes dans la stratégie qui utilise l'historique des événements CloudTrail.

  1. Ouvrez la console AWS CloudTrail.
  2. Choisissez Historique des événements. Ensuite, pour Plage de temps, saisissez une fenêtre de 15 minutes au cours des appels d'API AttachVolume ou CreateVolume.
  3. Choisissez Filtrer, puis Source d'événements et saisissez kms.amazonaws.com.
  4. Une fois les résultats chargés, cliquez sur le bouton de téléchargement, puis sur Télécharger le fichier CSV.
  5. Ouvrez le fichier .csv, puis filtrez la colonne Code d'erreur pour AccessDenied. Les Noms d'événements avec le code d'erreur AccessDenied représentent généralement les autorisations manquantes.

Remarque : l'affichage des événements CloudTrail dans l'onglet Historique des événements peut prendre jusqu'à 15 minutes. En vérifiant l'Historique des événements immédiatement après réception du message d'échec de CreateVolume ou AttachVolume, il se peut qu'aucun événement ne s'affiche.

Après avoir identifié les autorisations manquantes, procédez comme suit pour résoudre le problème.

Vérifiez que la stratégie de clé KMS inclut l'utilisateur ou le rôle IAM qui crée ou attache le volume

Vue par défaut de la console AWS KMS

1.   Ouvrez la console AWS KMS.

2.   Choisissez Clés gérées par le client, puis sélectionnez la clé appropriée.

3.   Sous Stratégie de clé, faites défiler l'écran vers le bas jusqu'à Utilisateurs de clé. Vérifiez que la section Utilisateurs de clé répertorie bien l'utilisateur ou le rôle IAM qui crée ou attache le volume.

4.   Si la section Utilisateurs de clé ne répertorie pas l'utilisateur ou le rôle, alors choisissez Ajouter, sélectionnez l'utilisateur ou le rôle, puis choisissez Ajouter.

Vue de la stratégie de la console AWS KMS

Si vous avez déjà modifié manuellement la stratégie de clé AWS KMS, celle-ci n'est disponible que dans la vue de stratégie (JSON). Pour activer les autorisations AWS KMS requises, indiquez l'ARN de l'utilisateur ou du rôle IAM en tant que Principal dans l'instruction.

Exemple de stratégie de clé

Vous trouverez ci-dessous un exemple de stratégie de clé AWS KMS qui permet à UserA d'accéder à Key1 :

{
	"Version": "2012-10-17",
	"Id": "key-consolepolicy-3",
	"Statement": [{
			"Sid": "Enable IAM User Permissions",
			...
		},
		{
			"Sid": "Allow access for Key Administrators",
			...
		},
		{
			"Sid": "Allow use of the keys",
			"Effect": "Allow",
			"Principal": {
				"AWS": "arn:aws:iam::111111111111:user/UserA"
			},
			"Action": [
				"kms:Encrypt",
				"kms:Decrypt",
				"kms:ReEncrypt*",
				"kms:GenerateDataKey*",
				"kms:DescribeKey"
			],
			"Resource": "*"
		},
		{
			"Sid": "Allow attachment of persistent resources",
			"Effect": "Allow",
			"Principal": {
				"AWS": "arn:aws:iam::111111111111:user/UserA"
			},
			"Action": [
				"kms:CreateGrant",
				"kms:ListGrants",
				"kms:RevokeGrant"
			],
			"Resource": "*",
			"Condition": {
				"Bool": {
					"kms:GrantIsForAWSResource": "true"
				}
			}
		}
	]
}
AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 9 mois