
Die AWS CLI-Anfragen „ec2 describe-instances“ und „ec2 describe-iam-instance-profile-associations“ schließen das Instanzprofil in die Eigenschaft „IamInstanceProfile“ ein.
Hierzu gehören beispielsweise ARN:
arn:aws:iam::123:instance-profile/AmazonSSMRoleForInstancesQuickSetup
In einem solchen Fall ist das letzte Segment, in diesem Beispiel „AmazonSSMRoleForInstancesQuickSetup“, der IAM-Rollenname. Dies wird auch in Antworten auf mehrere vorhandene Fragen vorgeschlagen:
- https://stackoverflow.com/questions/69002676/how-to-get-an-aws-roles-friendly-name-from-its-arn
- https://stackoverflow.com/questions/68347014/gibt es eine Möglichkeit, den Namen der IAM-Rolle zu erhalten, die an eine EC2-Instanz mit Boto3 angehängt ist?
- https://stackoverflow.com/questions/70307973/wie-man-ein-arn-von-einer-iam-rolle-erhält
- https://stackoverflow.com/questions/69002676/how-to-get-an-aws-roles-friendly-name-from-its-arn
Aber manchmal sieht die ARN im Instanzprofil folgendermaßen aus:
arn:aws:iam::123:instance-profile/eks-ab13cc88-bc13-13bc-acdc-1234567890ab
Und der letzte Teil ist kein Rollenname mehr - eigentlich scheint es "Auto Scaling Group Name" zu sein. Die AWS-Weboberfläche zeigt in beiden Fällen die zugewiesene IAM-Rolle in den Instanzeigenschaften an.
Wie kann der Rollenname für EC2-Instanzen in allen Fällen mithilfe der AWS CLI zuverlässig abgerufen werden?
Antwort1
Großer Dank geht an @[email geschützt] - ihre Antwort hier zitieren, wird gelöscht, wenn sie selbst posten.
Das EC2-Instanzprofil ist ein Container, der eine Rolle enthält. Standardmäßig wird eine Rolle erstellt, die dem Namen des Profils entspricht, die Namen können jedoch unterschiedlich sein.
Ich denke, Sie müssen den Profilnamen abrufen und ihn zum Anrufen verwenden aws iam get-instance-profile --instance-profile-name <value>
. In der gewünschten Antwort InstanceProfile.Roles[].RoleArn
.
https://docs.aws.amazon.com/cli/latest/reference/iam/get-instance-profile.html https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html