Obtenha o nome da função AWS da lista de instâncias do EC2 usando CLI

Obtenha o nome da função AWS da lista de instâncias do EC2 usando CLI

As solicitações da AWS CLI "ec2 descrevem instâncias" e "ec2 descrevem-iam-instance-profile-associations" incluem o perfil da instância na propriedade "IamInstanceProfile".

Isso inclui ARN, por exemplo:

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

Nesse caso, o último segmento, "AmazonSSMRoleForInstancesQuickSetup" neste exemplo, é o nome da função do IAM. Isso também é sugerido em respostas a várias perguntas existentes:

Mas às vezes o ARN no perfil da instância ficará assim:

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

E a última parte não é mais um nome de função - na verdade, parece ser "Nome do grupo do Auto Scaling". A interface da web da AWS mostra a função IAM atribuída em ambos os casos dentro das propriedades da instância.

Como o nome da função poderia ser obtido de forma confiável para instâncias EC2 em todos os casos usando AWS CLI?

Responder1

Muito obrigado a @[e-mail protegido] - citando a resposta deles aqui, será excluído se eles próprios postarem.

O perfil da instância EC2 é um contêiner que possui uma função. Por padrão, será criada uma função que corresponda ao nome do perfil, mas podem ser diferentes.

Acho que você precisa pegar o nome do perfil e usá-lo para ligar aws iam get-instance-profile --instance-profile-name <value>. Na resposta que você deseja 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

informação relacionada