Complete a 3 Question Survey and Earn a re:Post Badge
Help improve AWS Support Official channel in re:Post and share your experience - complete a quick three-question survey to earn a re:Post badge!
Comment puis-je accorder à mon instance Amazon EC2 l’accès à un compartiment Amazon S3 dans un autre compte AWS ?
Je souhaite utiliser une instance Amazon Elastic Compute Cloud (Amazon EC2) pour accéder à mon compartiment Amazon Simple Storage Service (Amazon S3) dans un autre compte.
Résolution
Remarque : les étapes à suivre pour accorder à une instance Amazon EC2 l’accès à un compartiment Amazon S3 sont semblables à celles permettant d’accorder l’accès aux ressources AWS d’un autre compte.
Procédez comme suit pour autoriser une instance du compte A à accéder à un compartiment S3 du compte B.
Créer un rôle IAM depuis le compte B
Pour créer un rôle Gestion des identités et des accès (IAM) depuis le compte B, procédez comme suit :
- Utilisez le compte B pour vous connecter à la console de gestion AWS.
- Ouvrez la console IAM.
- Dans le volet de navigation, choisissez Rôles, puis Créer un rôle.
- Pour le champ Type d’entités de confiance, sélectionnez Compte AWS.
- Sélectionnez Un autre compte AWS, puis saisissez l’ID de compte du compte A.
- Choisissez Suivant.
- Attachez une politique IAM au rôle qui délègue l’accès à Amazon S3, puis choisissez Suivant. Par exemple, la politique IAM suivante accorde l’accès s3:GetObject aux objets stockés dans le compartiment :
Remarque : modifiez la politique IAM en fonction des autorisations au niveau du compartiment Amazon S3 et au niveau de l’objet qui sont requises pour votre cas d’utilisation.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*", "arn:aws:s3:::DOC-EXAMPLE-BUCKET" ] } ] }
- Pour le champ Nom du rôle, saisissez le nom du rôle.
- (Facultatif) Ajoutez des balises au rôle.
- Choisissez Créer un rôle.
Rechercher l’ARN du rôle IAM depuis le compte B
Pour trouver l’ARN du rôle IAM, procédez comme suit :
- Dans le volet de navigation de la console IAM, choisissez Roles.
- Choisissez le rôle IAM que vous avez créé.
- Notez la valeur répertoriée pour le champ ARN de rôle.
Depuis le compte A, créez un autre rôle et attachez-le à l’instance
Pour créer un autre profil d’instance depuis le compte A et l’attacher à l’instance, procédez comme suit :
- Utilisez le compte A pour vous connecter à la console de gestion AWS.
- Ouvrez la console IAM.
- Dans le volet de navigation, choisissez Rôles, puis Créer un rôle.
- Pour le champ Type d’entités de confiance, choisissez Service AWS.
- Pour le champ Service ou cas d’utilisation, choisissez EC2, puis sélectionnez votre cas d’utilisation.
- Choisissez Suivant.
- Sur la page Ajouter des autorisations, choisissez Suivant.
- Pour le champ Nom du rôle, saisissez le nom du rôle.
- (Facultatif) Ajoutez des balises au rôle.
- Choisissez Créer un rôle.
- Dans la liste des rôles, choisissez le rôle que vous avez créé.
- Pour Ajouter des autorisations, choisissez Créer une politique en ligne.
- Pour le champ Éditeur de politiques, sélectionnez JSON, puis saisissez la politique suivante :
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::111111111111:role/ROLENAME" }] }
Remarque : remplacez arn:aws:iam::111111111111:role/ROLENAME par l’ARN du rôle IAM que vous avez créé sur le compte B. Choisissez Suivant. Pour le champ Nom, saisissez un nom pour la politique, puis choisissez Créer une politique. Attachez le rôle IAM à l’instance que vous utilisez pour accéder au compartiment Amazon S3.
Créer un profil pour le rôle dans le fichier de configuration CLI depuis l’instance Amazon EC2
Remarque : si vous utilisez SSH et Session Manager, une fonctionnalité d’AWS Systems Manager, pour vous connecter à vos instances, vous devez effectuer ces étapes pour ec2-user et pour ssm-user.
Pour créer un profil pour le rôle dans le fichier de configuration CLI depuis l’instance, procédez comme suit :
-
Connectez-vous à l’instance. Pour en savoir plus, consultez la page Connexion à votre instance Linux ou Connexion à votre instance Windows.
-
Pour savoir si le répertoire contient déjà un dossier nommé ~/.aws, exécutez la commande ls suivante afin de lister le répertoire d’instance :
ls -l ~/.aws
Si vous trouvez le dossier ~/.aws, passez à l’étape suivante. Si vous ne trouvez pas de dossier ~/.aws, exécutez la commande mkdir suivante pour le créer :
mkdir ~/.aws/
-
Dans le dossier ~/.aws, utilisez un éditeur de texte pour créer un fichier. Nommez le fichier configuration.
-
Dans le fichier, saisissez le texte suivant :
[profile enterprofilename] role_arn = arn:aws:iam::111111111111:role/ROLENAME credential_source = Ec2InstanceMetadata
Remarque : remplacez enterprofilename par votre valeur. remplacez arn:aws:iam::111111111111:role/ROLENAME par l’ARN du rôle que vous avez créé sur le compte B.
-
Enregistrez le fichier.
Vérifiez que le profil d’instance peut assumer le rôle
Pour vérifier que le rôle de votre instance peut assumer le rôle sur le compte B, connectez-vous à l’instance, puis exécutez la commande suivante :
$aws sts get-caller-identity --profile profilename
Remarque : remplacez le profilename par le nom du rôle que vous avez attaché à l’instance.
La commande renvoie une sortie semblable à la suivante :
"Account": "11111111111", "UserId": "AROAEXAMPLEID:sessionName", "Arn": "arn:aws:sts::111111111111:assumed-role/ROLENAME/sessionName"
Vérifiez que la valeur du champ "Arn" correspond à l’ARN du rôle que vous avez créé sur le compte B.
Vérifier l’accès au compartiment Amazon S3
Pour vérifier que votre instance peut accéder au compartiment S3, connectez-vous à l’instance, puis exécutez la commande de liste suivante :
aws s3 ls s3://DOC-EXAMPLE-BUCKET --profile profilename
Remarque : remplacez le profilename par le nom du rôle que vous avez attaché à l’instance.
Si votre instance parvient à accéder au compartiment, vous recevez une réponse semblable à la suivante :
PRE Hello/ 2018-08-15 16:16:51 89 index.html
Informations connexes
Tutoriel IAM : Déléguer l’accès entre les comptes AWS à l’aide des rôles IAM
Vidéos associées


Contenus pertinents
- demandé il y a un anlg...
- demandé il y a 4 moislg...
- demandé il y a un anlg...
- Réponse acceptéedemandé il y a un anlg...
- demandé il y a 2 anslg...
- AWS OFFICIELA mis à jour il y a 10 mois