J'essaie d'accéder à SQS à partir de l'application de démarrage de printemps exécutée sur l'instance EC2. Le consommateur et la file d'attente SQS seront sur le même compte AWS. On m'a dit que je devais ajouter un profil d'instance à l'instance EC2 pour accéder à SQS. Quelle est la différence entre le rôle et le profil d'instance dans ce cas? Un rôle avec une politique appropriée ne serait-il pas suffisant?
Un profil d'instance est un conteneur pour un seul rôle IAM.
Une convention typique consiste à créer un rôle IAM et un profil d'instance du même nom pour plus de clarté.
Une instance EC2 ne peut pas être affectée directement à un rôle, mais elle peut se voir attribuer un profil d'instance contenant un rôle.
Les avantages de l'utilisation d'un profil d'instance sont que vous n'avez pas besoin de gérer un AWS_ACCESS_KEY_ID
et AWS_SECRET_ACCESS_KEY
. Votre application n'a plus besoin de se soucier de la façon de stocker et d'accéder à ces informations en toute sécurité.
Nous ne pouvons pas attacher un rôle directement à une instance EC2, c'est pourquoi nous devons utiliser un profil d'instance qui fait office de conteneur pour un rôle. Un profil d'instance ne peut contenir qu'un seul rôle IAM, bien qu'un rôle puisse être inclus dans plusieurs profils d'instance.
EC2 obtiendra l'autorisation du rôle qui fait partie du profil d'instance.
La limite d'un rôle par profil d'instance ne peut pas être augmentée. Vous pouvez supprimer le rôle existant, puis ajouter un rôle différent à un profil d'instance.
Si vous utilisez AWS Management Console pour créer un rôle pour Amazon EC2, la console crée automatiquement un profil d'instance et lui donne le même nom que le rôle.
lors de l'utilisation de cli, la création de rôles et de profils d'instance sont des actions distinctes. Parce que les rôles et les profils d'instance peuvent avoir des noms différents.
plus d'informations sont disponibles ici https://docs.aws.Amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html