Este é o Guia do Desenvolvedor AWS CDK v2. A versão CDK 1 mais antiga 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 a atualização automática do token do IAM Identity Center para uso com o AWS CDK CLI
Neste exemplo, configuramos o AWS Command Line Interface (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 SSO token permite recuperar AWS CLI automaticamente os tokens de autenticação atualizados para gerar credenciais de curto prazo que podemos usar com a AWS Cloud Development Kit (AWS CDK) interface de linha de comando (AWS CDK CLI).
Tópicos
Pré-requisitos
Este exemplo pressupõe que os seguintes pré-requisitos tenham sido preenchidos:
-
Pré-requisitos necessários para configurar AWS e instalar nosso sistema inicial CLI ferramentas. Para obter mais informações, consulte Pré-requisitos.
-
IAMO Identity Center foi configurado por nossa organização como o método de gerenciamento de usuários.
-
Pelo menos um usuário foi criado no IAM Identity Center.
Etapa 1: Configurar o AWS CLI
Para obter instruções detalhadas sobre essa etapa, consulte AWS CLI Configurar as credenciais do provedor de token do IAM Identity Center para usar com a atualização automática da autenticação no Guia do AWS Command Line Interface usuário.
Entramos no portal de AWS acesso fornecido por nossa organização para coletar as informações do nosso Centro de IAM Identidade. Isso inclui o SSOinício URL e a SSO região.
Em seguida, usamos o AWS CLI aws configure sso
comando 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>
As AWS CLI tentativas de abrir nosso navegador padrão para iniciar o processo de login da nossa conta do IAM Identity Center. Se 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 AWS CLI sessão atual.
Depois de estabelecer nossa sessão, ele AWS CLI exibe o que Contas da AWS está disponível 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, AWS CLI exibe as IAM funções disponíveis para nós em nossa conta selecionada:
Using the account ID
123456789011
There are 2 roles available to you. > ReadOnly FullAccess
Usamos as teclas de seta para selecionar FullAccess.
Em seguida, AWS CLI solicita que concluamos a configuração especificando um formato de saída padrão Região da AWS, padrão e 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>
AWS CLI Exibe uma mensagem final, mostrando como usar o perfil nomeado com AWS CLI:
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 config
arquivo terá a seguinte aparência:
[profilemy-dev-profile
] sso_session =my-sso
sso_account_id =123456789011
sso_role_name =fullAccess
region =us-west-2
output =json
[sso-sessionmy-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 isso sso-session
e o perfil nomeado para solicitar credenciais de segurança.
Etapa 2: use o 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 AWS Command Line Interface do usuário.
Usamos o AWS CLI aws sso login
comando para solicitar credenciais de segurança para nosso perfil:
$
aws sso login --profile
my-dev-profile
As AWS CLI tentativas de abrir nosso navegador padrão e verificar nosso IAM login. Se ainda não estivermos conectados ao IAM Identity Center, seremos solicitados a concluir o processo de login. Se 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, ele armazena em AWS CLI 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, eles AWS CLI solicitarão que façamos login novamente no IAM Identity Center.
Usando credenciais válidas do IAM Identity Center, ele recupera AWS CLI com segurança AWS as credenciais para a IAM função especificada em nosso perfil. A partir daqui, podemos usar o AWS CDK CLI com nossas credenciais.
Etapa 3: use o CDK CLI
Com qualquer CDK CLI comando, usamos a --profile
opção para especificar o perfil nomeado para o qual geramos as credenciais. Se nossas credenciais forem válidas, o CDK CLI executará o comando com êxito. Veja um exemplo a seguir:
$
cdk diff --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: 1my-dev-profile
Quando nossas credenciais expirarem, uma mensagem de erro como a seguinte será exibida:
$
cdk diff --profile
Stack CdkAppStack Unable to resolve AWS account to use. It must be either configured when you define your CDK Stack, or through the environmentmy-dev-profile
Para atualizar nossas credenciais, usamos o AWS CLI aws sso login
comando:
$
aws sso login --profile
my-dev-profile