

Este é o Guia do desenvolvedor do AWS CDK v2. O CDK v1 antigo entrou em manutenção em 1º de junho de 2022 e encerrou o suporte em 1º de junho de 2023.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Exemplo: Autenticar com o IAM Identity Center, atualização automática de token para uso com a CLI do CDK AWS
<a name="configure-access-sso-example-cli"></a>

Neste exemplo, configuramos a interface de linha de AWS comando (AWS CLI) para autenticar nosso usuário com a configuração do provedor de token do AWS IAM Identity Center. A configuração do provedor de token SSO permite que a AWS CLI recupere automaticamente os tokens de autenticação atualizados para gerar credenciais de curto prazo que podemos usar com a interface de linha de comando (CDK CLI) do Cloud Development Kit AWS (CDK). AWS AWS 

## Pré-requisitos
<a name="configure-access-sso-example-cli-prerequisites"></a>

Este exemplo pressupõe que os seguintes pré-requisitos foram concluídos:
+ Pré-requisitos necessários para configurar AWS e instalar nossas ferramentas de CLI iniciais. Para obter mais informações, consulte [Pré-requisitos](configure-access.md#configure-access-prerequisites).
+ O Centro de Identidade do IAM foi configurado por nossa organização como o método de gerenciamento de usuários.
+ Pelo menos um usuário foi criado no Centro de Identidade do IAM.

## Etapa 1: Configurar a AWS CLI
<a name="configure-access-sso-example-cli-configure"></a>

Para obter instruções detalhadas sobre essa etapa, consulte [Configurar a AWS CLI para usar as credenciais do provedor de token do IAM Identity Center com atualização automática de autenticação](https://docs.aws.amazon.com/cli/latest/userguide/sso-configure-profile-token.html) no Guia do usuário da interface de *linha de AWS comando*.

Entramos no portal de AWS acesso fornecido por nossa organização para coletar as informações do IAM Identity Center. Isso inclui o **URL inicial do SSO** e a **região do SSO**.

Em seguida, usamos o `aws configure sso` comando AWS CLI para configurar um perfil do IAM Identity Center e `sso-session` em nossa máquina local:

```
$ aws configure sso
SSO session name (Recommended): <my-sso>
SSO start URL [None]: <https://my-sso-portal.awsapps.com/start>
SSO region [None]: <us-east-1>
SSO registration scopes [sso:account:access]: <ENTER>
```

A AWS CLI tenta abrir nosso navegador padrão para iniciar o processo de login da nossa conta do IAM Identity Center. Se a AWS CLI não conseguir abrir nosso navegador, serão fornecidas instruções para iniciar manualmente o processo de login. Esse processo associa a sessão do IAM Identity Center à nossa sessão AWS CLI atual.

Depois de estabelecer nossa sessão, a AWS CLI exibe as AWS contas disponíveis para nós:

```
There are 2 AWS accounts available to you.
> DeveloperAccount, developer-account-admin@example.com (<123456789011>)
  ProductionAccount, production-account-admin@example.com (<123456789022>)
```

Usamos as teclas de seta para selecionar nosso **DeveloperAccount**.

Em seguida, a AWS CLI exibe as funções do IAM disponíveis para nós em nossa conta selecionada:

```
Using the account ID 
There are 2 roles available to you.
> ReadOnly
  FullAccess
```

Usamos as teclas de seta para selecionar **FullAccess**.

Em seguida, a AWS CLI solicita que concluamos a configuração especificando um formato de saída padrão, uma AWS região padrão e um nome para nosso perfil:

```
CLI default client Region [None]: <us-west-2> <ENTER>
CLI default output format [None]: <json> <ENTER>
CLI profile name [123456789011_FullAccess]: <my-dev-profile> <ENTER>
```

A AWS CLI exibe uma mensagem final, mostrando como usar o perfil nomeado com a CLI AWS :

```
To use this profile, specify the profile name using --profile, as shown:

aws s3 ls --profile <my-dev-profile>
```

Depois de concluir esta etapa, nosso arquivo `config` vai ficar assim:

```
[profile <my-dev-profile>]
sso_session = <my-sso>
sso_account_id = <123456789011>
sso_role_name = <fullAccess>
region = <us-west-2>
output = <json>

[sso-session <my-sso>]
sso_region = <us-east-1>
sso_start_url = <https://my-sso-portal.awsapps.com/start>
sso_registration_scopes = <sso:account:access>
```

Agora podemos usar essa `sso-session` e o perfil nomeado para solicitar credenciais de segurança.

## Etapa 2: usar a AWS CLI para gerar credenciais de segurança
<a name="configure-access-sso-example-cli-credentials"></a>

Para obter instruções detalhadas sobre essa etapa, consulte [Usar um perfil chamado do IAM Identity Center](https://docs.aws.amazon.com/cli/latest/userguide/sso-using-profile.html) no *Guia do usuário da interface de linha de AWS comando*.

Usamos o `aws sso login` comando AWS CLI para solicitar credenciais de segurança para nosso perfil:

```
$ aws sso login --profile <my-dev-profile>
```

A AWS CLI tenta abrir nosso navegador padrão e verifica nosso login do IAM. Se não estivermos conectados ao Centro de Identidade do IAM, será solicitada a conclusão do processo de login. Se a AWS CLI não conseguir abrir nosso navegador, serão fornecidas instruções para iniciar manualmente o processo de autorização.

Depois de fazer login com sucesso, a AWS CLI armazena em cache nossas credenciais de sessão do IAM Identity Center. Essas credenciais incluem um carimbo de data e hora de expiração. Quando eles expirarem, a AWS CLI solicitará que façamos login novamente no IAM Identity Center.

Usando credenciais válidas do IAM Identity Center, a AWS CLI AWS recupera com segurança as credenciais para a função do IAM especificada em nosso perfil. A partir daqui, podemos usar a CLI do AWS CDK com nossas credenciais.

## Etapa 3: uso da CLI do CDK
<a name="configure-access-sso-example-cli-cdk"></a>

Com qualquer comando da CLI do CDK, usamos a opção ` --profile ` para especificar o perfil nomeado para o qual geramos as credenciais. Se nossas credenciais forem válidas, a CLI do CDK executará o comando com êxito. Este é um exemplo:

```
$ cdk diff --profile <my-dev-profile>
Stack CdkAppStack
Hold on while we create a read-only change set to get a diff with accurate replacement information (use --method=template to use a less accurate but faster template-only diff)
Resources
[-] AWS::S3::Bucket amzn-s3-demo-bucket amzn-s3-demo-bucket5AF9C99B destroy

Outputs
[-] Output BucketRegion: {"Value":{"Ref":"AWS::Region"}}


✨  Number of stacks with differences: 1
```

Quando nossas credenciais expirarem, uma mensagem de erro como esta será exibida:

```
$ cdk diff --profile <my-dev-profile>
Stack CdkAppStack

Unable to resolve AWS account to use. It must be either configured when you define your CDK Stack, or through the environment
```

Para atualizar nossas credenciais, usamos o comando CLI: AWS `aws sso login`

```
$ aws sso login --profile <my-dev-profile>
```