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
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
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.
-
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
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 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
Para obter instruções detalhadas sobre essa etapa, consulte Usar um perfil chamado do IAM Identity Center 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: usar a CLI do CDK
Com qualquer comando da CLI do CDK, usamos
--profile
a opção de 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. Veja um exemplo a seguir:
$ 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 --no-change-set 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>