Eu aplico funções de instância ec2 aos meus servidores, mas quero alternar para essas funções localmente primeiro para testar as permissões
Tentei mudar para um, mas recebo um erro:
aws sts assume-role --role-arn arn:aws:iam::1234567890:role/myrole --role-session abc
An error occurred (AccessDenied) when calling the AssumeRole operation: User: arn:aws:iam::1234567890:user/meeee is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::1234567890:role/myrole
Eu sou um administrador de conta. Preciso modificar a política de confiança ou algo para permitir que os usuários assumam funções de instância ec2?
Para permitir que sua conta assuma a função de serviço, você precisará editar a função e adicionar sua conta no arquivo
Principal
. Para fazer isso:Em
IAM
->Roles
->Your Service Role
vá para aTrust relationship
guia e clique emEdit trust relationship
. Seu relacionamento de confiança será algo assim:Você precisa adicionar sua conta da AWS semelhante a esta:
Você poderá então obter credenciais através do
sts
.Outra maneira de obter o resultado desejado que você está procurando é usar o Policy Simulator
Na
Permissions
guia da função, clique na seta à esquerda da política e ela exibirá um botão paraSimulate policy
:NOTA
Não é possível usar um grupo do IAM como um arquivo
Principal
.Referências
Você pode buscar as credenciais da instância e usá-las localmente com a ajuda do script get-instance-credentials .
Corre
get-instance-credentials
Copie e cole as 3
export AWS_*
linhas em seu shell local em seu laptopVerifique as credenciais
Como você pode ver mesmo como me@my-laptop , agora posso acessar a AWS com as credenciais de test-ec2-role .
Dessa forma, você pode testar facilmente a configuração da função do IAM, testar seus aplicativos etc.
Espero que ajude :)