使用 CLI 從 EC2 執行個體清單取得 AWS 角色名稱

使用 CLI 從 EC2 執行個體清單取得 AWS 角色名稱

AWS CLI 請求「ec2describe-instances」和「ec2describe-iam-instance-profile-associations」在「IamInstanceProfile」屬性中包含實例設定檔。

這包括 ARN,例如:

arn:aws:iam::123:instance-profile/AmazonSSMRoleForInstancesQuickSetup

在這種情況下,最後一段(本範例中的「AmazonSSMRoleForInstancesQuickSetup」)是 IAM 角色名稱。對多個現有問題的回答也建議了這一點:

但有時實例設定檔中的 ARN 會如下所示:

arn:aws:iam::123:instance-profile/eks-ab13cc88-bc13-13bc-acdc-1234567890ab

最後一部分不再是角色名稱 - 實際上,它似乎是“Auto Scaling Group name”。 AWS Web 介面確實在實例屬性中顯示了這兩種情況下指派的 IAM 角色。

如何使用 AWS CLI 在所有情況下可靠地取得 EC2 執行個體的角色名稱?

答案1

非常感謝@[電子郵件受保護] - 在這裡引用他們的回复,如果他們自己發布,將被刪除。

EC2 執行個體設定檔是一個擁有角色的容器。預設情況下,將建立與設定檔名稱相符的角色,但它們可能不同。

我認為您需要獲取配置文件名稱並使用它來調用aws iam get-instance-profile --instance-profile-name <value>.在你想要的回應中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

相關內容