Pourquoi ne puis-je pas lancer d'instances EC2 à partie de mon AMI copiée ?

Lecture de 4 minute(s)
0

J'ai copié mon Amazon Machine Image (AMI) sur un autre compte ou une autre région AWS. Cependant, je ne peux pas lancer d'instances Amazon Elastic Compute Cloud (Amazon EC2) à partir de l'AMI copiée.

Brève description

Si vous ne disposez pas des autorisations suivantes, vous ne pouvez pas lancer d'instances à partir d'une AMI copiée avec un Amazon Elastic Block Store (Amazon EBS) chiffré :

  • La stratégie de clé gérée par le client AWS Key Management Service (AWS KMS) ne contient pas les principaux appropriés permettant au compte demandeur d'accéder à l'AMI.
  • L'entité AWS Identity and Access Management (IAM) du compte demandeur ne dispose pas des autorisations AWS KMS nécessaires pour la clé AWS KMS intercompte du volume.

Résolution

Activer l'accès intercompte pour les clés personnalisées AWS KMS existantes sur l'AMI copiée

Pour obtenir des instructions détaillées, consultez la page Partager des clés de chiffrement personnalisées de manière plus sécurisée entre les comptes à l'aide d'AWS Key Management Service.

Définissez les autorisations permettant aux instances EC2 d'accéder à la clé AWS KMS

1.    Ouvrez la console AWS KMS.
Remarque : vérifiez que vous vous trouvez dans la bonne région.

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 la page jusqu'à Utilisateurs de clé. Vérifiez que la section Utilisateurs de clé répertorie tous les comptes et utilisateurs internes et externes qui ont besoin d'accéder à la clé.

4.    S'il manque des comptes ou des utilisateurs dans la section Utilisateurs de clé, sous Stratégie de clé, choisissez Passer à la vue de stratégie.
Remarque : si vous avez modifié manuellement la stratégie de clé AWS KMS précédemment, celle-ci est disponible uniquement dans la vue stratégie (JSON).

5.    Vérifiez que l'instruction Autoriser l'utilisation de la clé est correcte dans la stratégie de clé. L'instruction doit inclure l'ARN de tous les comptes et utilisateurs qui ont besoin d'accéder à la clé.

À titre d'exemple, voici un extrait de l'instruction Autoriser l'utilisation de la clé dans la stratégie de clé par défaut. L'exemple inclut les ARN suivants :

  • le compte AWS externe qui contient l'AMI copiée ;
  • le compte parent de l'AMI ;
  • un utilisateur au sein du compte externe.

Pour obtenir un aperçu et un exemple de l'ensemble de la stratégie de clé par défaut, consultez la page Stratégie de clé par défaut.

{
	"Sid": "Allow use of the key",
	"Effect": "Allow",
	"Principal": {
		"AWS": [
			"arn:aws:iam::111122223333:root",
			"arn:aws:iam::444455556666:root",
			"arn:aws:iam::111122223333: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::111122223333:root",
			"arn:aws:iam::444455556666:root",
			"arn:aws:iam::111122223333:user/UserA"
		]
	},
	"Action": [
		"kms:CreateGrant",
		"kms:ListGrants",
		"kms:RevokeGrant"
	],
	"Resource": "*",
	"Condition": {
		"Bool": {
			"kms:GrantIsForAWSResource": "true"
		}
	}
}]
}

6.    Créez et attribuez une politique IAM.

Créer la politique IAM et l'associer à votre utilisateur ou groupe IAM

Pour créer une politique IAM et l'associer à votre utilisateur ou groupe IAM, procédez comme suit :

Remarque : si vous avez déjà créé une politique IAM, passez à l'étape 7 pour l'associer. 

1.    Ouvrez la console IAM avec votre utilisateur disposant des autorisations d'administrateur.

2.    Choisissez Politiques.

3.    Choisissez Créer une politique.

4.    Choisissez l'onglet JSON. Copiez l'exemple de politique JSON suivant, puis saisissez-le dans la zone de texte JSON. Remplacez arn:aws:kms:REGION:MAINACCOUNTNUMBER:key/1a345678-1234-1234-1234-EXAMPLE par l'ARN de votre clé AWS KMS.

{
	"Version": "2012-10-17",
	"Statement": [{
		"Sid": "AllowUseOfTheKey",
		"Effect": "Allow",
		"Action": ["kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey"],
		"Resource": ["arn:aws:kms:REGION:MAINACCOUNTNUMBER:key/1a345678-1234-1234-1234-EXAMPLE"]
	}, {
		"Sid": "AllowAttachmentOfPersistentResources",
		"Effect": "Allow",
		"Action": ["kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant"],
		"Resource": ["arn:aws:kms:REGION:MAINACCOUNTNUMBER:key/1a345678-1234-1234-1234-EXAMPLE"],
		"Condition": {
			"Bool": {
				"kms:GrantIsForAWSResource": true
			}
		}
	}]
}

5.    Choisissez Examiner une politique. L'outil de validation des politiques signale les éventuelles erreurs de syntaxe.

6.    Sur la page Examiner, saisissez entrez KmsKeyUsagePolicy comme nom de politique. Consultez le résumé de la politique pour voir les autorisations accordées par votre politique, puis choisissez Créer une politique pour l'enregistrer. La nouvelle politique apparaît dans la liste des politiques gérées et peut être associée à votre utilisateur ou groupe IAM.

7.    Dans le volet de navigation de la console IAM, choisissez Politiques.

8.    Dans le champ de recherche, saisissez KmsKeyUsagePolicy. Cochez ensuite la case située en regard de KmsKeyUsagePolicy.

9.    Sélectionnez Actions de politique, puis sélectionnez Associer.

10.   Pour le champ Filtrer, sélectionnez Utilisateurs.

11.    Dans le champ de recherche, saisissez votre nom d'utilisateur. Cochez ensuite la case située en regard de votre nom d'utilisateur.

12.    Choisissez Associer la politique.

Informations connexes

Copier une AMI

Modification de clés

Tutoriel : créer et associer votre première politique gérée par le client

Validation des politiques IAM

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 7 mois