Como mudar de papel em aws-cli?

2

Estou contratando uma empresa com várias contas aws. Eles me deram acesso à conta de login e eu "Switch Role" no console da web para a conta do projeto que eu trabalho. No web gui funciona.

Como faço o mesmo com aws-cli ?? Eu só tenho chaves de acesso para a conta de login e não tenho permissões para criar um usuário e acessar chaves na conta do projeto. É mesmo possível?

    
por potom 28.09.2018 / 09:34

1 resposta

4

Claro que é possível!

Vamos supor que você tenha suas credenciais Conta de login em ~/.aws/credentials , provavelmente algo assim:

~ $ cat ~/.aws/credentials
[customer-login]
aws_access_key_id = AKIABCDEFGHJKLMNOPQR
aws_secret_access_key = ZxCvBnMaSdFgHjKlQwErTyUiOp

Tudo o que você precisa fazer é adicionar outro perfil a ~/.aws/credentials que usará o perfil acima para alternar conta para sua função de conta de projeto. Você também precisará da conta do Projeto Role ARN - você pode encontrar isso no console da web em IAM - > Funções depois de mudar para a conta do projeto . Digamos que o número da conta do projeto seja 123456789012 ...

[customer-project]
role_arn = arn:aws:iam::123456789012:role/your-project-role-name   # << Change this
source_profile = customer-login

Com isso, você pode testar se funciona:

~ $ aws --profile customer-project sts get-caller-identity
{
    "Account": "123456789012",
    "UserId": "AROA1B2C3D4E5F6G7H8I:botocore-session-1538120713",
    "Arn": "arn:aws:sts::123456789012:assumed-role/your-project-role-name/botocore-session-1538120713"
}

Como você pode ver, agora você está na conta do projeto, conforme confirmado pelo ID da conta 123456789012.

Se você quiser sempre usar este perfil com aws-cli , poderá fazer isso:

~ $ export AWS_DEFAULT_PROFILE=customer-project
~ $ aws sts get-caller-identity
... will be the same output as above, even without specifying --profile ...

Para mais informações, confira esta postagem: link

Espero que ajude:)

    
por 28.09.2018 / 09:51