Rufen Sie den AWS-Rollennamen mithilfe der CLI aus der EC2-Instanzliste ab

Rufen Sie den AWS-Rollennamen mithilfe der CLI aus der EC2-Instanzliste ab

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:

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

verwandte Informationen