Como configurar AWS PROFILE com aws configure sso

Yslan Ramos - Sep 5 - - Dev Community

Atualmente, estou gerenciando múltiplas contas na AWS usando AWS Organizations e o IAM Identity Center. Uma das dificuldades que encontrei foi a gestão das credenciais no AWS CLI. O processo que estou fazendo é copiar manualmente o token de sessão gerado pelo AWS IAM Identity Center, o que se tornava um problema devido à sua expiração após um curto período.

Felizmente, a AWS oferece uma solução mais prática: o comando aws configure sso. Esta comando simplifica a configuração do AWS CLI para integração com o IAM Identity Center, resolvendo os problemas relacionados à gestão de tokens que estou tendo.

Requisitos

  • AWS CLI
  • URL de login do SSO

Passos para Configuração

  1. Utilize o comando aws configure sso para configurar um SSO session no arquivo ~/.aws/config
aws configure sso
Enter fullscreen mode Exit fullscreen mode

Responda às perguntas:

  • SSO session name: Nome de referência para o SSO na sua máquina.
  • SSO start URL: URL de login do SSO.
  • SSO region: Região do IAM Identity Center.
  • SSO registration scopes: Mantenha o padrão sso:account:access

Exemplo:

❯ aws configure sso
SSO session name (Recommended): tech-corp
SSO start URL [None]: https://tech-corp.awsapps.com/start
SSO region [None]: us-east-1
SSO registration scopes [sso:account:access]:

Attempting to automatically open the SSO authorization page in your default browser.

If the browser does not open or you wish to use a different device to authorize this request, open the following URL:

https://device.sso.us-east-1.amazonaws.com/

Then enter the code:

DRWH-VBLG
Enter fullscreen mode Exit fullscreen mode

Após isso, o AWS CLI abrirá uma página para autenticação no seu browser. Se não abrir automaticamente, você receberá um link para abrir manualmente no terminal.

  1. Configurar Conta e IAM Role Escolha a conta e a IAM Role desejada. Se você tiver apenas uma conta ou um IAM Role, o AWS CLI selecionará automaticamente:
There are 2 AWS accounts available to you.
> DeveloperAccount, developer-account-admin@example.com (`123456789011`)
  ProductionAccount, production-account-admin@example.com (`123456789022`)
Enter fullscreen mode Exit fullscreen mode
Using the account ID `123456789011`
There are 2 roles available to you.
> ReadOnly
  FullAccess
Enter fullscreen mode Exit fullscreen mode
  1. Configurar Informações Padrão Defina a região padrão, formato de saída e nome do profile:
CLI default client Region [None]: us-east-1
CLI default output format [None]: json
CLI profile name [123456789011_ReadOnly]: sandbox
Enter fullscreen mode Exit fullscreen mode
  1. Testar a Configuração Use o profile configurado para executar comandos:
aws s3 ls --profile sandbox
Enter fullscreen mode Exit fullscreen mode

Adicionando mais PROFILE

Para adicionar mais Profile, basta usar o comando aws configure sso novamente. Ao inserir o nome da sessão SSO que você configurou anteriormente, o comando irá sugerir automaticamente opções e solicitará que você selecione a conta e o perfil que deseja configurar.

Como aws configure sso funciona

O comando aws configure sso configura as informações no arquivo ~/.aws/config, enquanto o aws configure modifica o ~/.aws/configure. Exemplo:

[default]
region = us-east-1

[profile sandbox]
sso_session = tech-corp
sso_account_id = 180294220307
sso_role_name = ReadOnly
region = us-east-1

[sso-session tech-corp]
sso_start_url = https://tech-corp.awsapps.com/start
sso_region = us-east-1
sso_registration_scopes = sso:account:access
Enter fullscreen mode Exit fullscreen mode

Para adicionar um novo profile manualmente, siga o padrão:

[profile `my-dev-profile`] # profile que vc vai usará 
sso_session = `my-sso` # tech-corp
sso_account_id = `123456789011` # id da conta aws
sso_role_name = `readOnly` # iam role
region = `us-east-1`  
output = `json`
Enter fullscreen mode Exit fullscreen mode

Referências

.
Terabox Video Player