Configure o AWS CLI com a autenticação do IAM Identity Center - AWS Command Line Interface

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á.

Configure o AWS CLI com a autenticação do IAM Identity Center

Este tópico fornece instruções sobre como configurar o AWS CLI with AWS IAM Identity Center (IAMIdentity Center) para recuperar credenciais para executar AWS CLI comandos. Existem basicamente duas maneiras de autenticar usuários com o IAM Identity Center para obter credenciais para executar AWS CLI comandos por meio do config arquivo:

  • Configuração (recomendada) SSO do provedor de token.

  • Configuração herdada não atualizável.

Para obter informações sobre como usar a autenticação do portador, que não usa ID de conta e função, consulte Configuração para usar o AWS CLI with CodeCatalyst no Guia CodeCatalyst do usuário da Amazon.

nota

Para obter um processo guiado de uso do IAM Identity Center com AWS CLI comandos, consulteTutorial: Use o IAM Identity Center para executar comandos do Amazon S3.

Tópicos

Pré-requisitos

Siga as instruções em Conceitos básicos no Guia do usuário do AWS IAM Identity Center . Esse processo ativa o IAM Identity Center, cria um usuário administrativo e adiciona um conjunto apropriado de permissões de privilégios mínimos.

nota

Crie um conjunto de permissões que aplique permissões com privilégios mínimos. Recomendamos usar o conjunto de permissões predefinido PowerUserAccess, a menos que seu empregador tenha criado um conjunto de permissões personalizado para essa finalidade.

Saia do portal e entre novamente para ver seus Contas da AWS detalhes de acesso programático e opções para Administrator ouPowerUserAccess. Selecione PowerUserAccess ao trabalhar com SDK o.

Faça login AWS por meio do portal do seu provedor de identidade. Se o seu administrador de nuvem concedeu permissões a você PowerUserAccess (desenvolvedor), você vê o Contas da AWS que você tem acesso e seu conjunto de permissões. Ao lado do nome do seu conjunto de permissões, você vê opções para acessar as contas manual ou programaticamente usando esse conjunto de permissões.

Implementações personalizadas podem resultar em experiências diferentes, como nomes de conjuntos de permissões diferentes. Se não tiver certeza sobre qual conjunto de permissões usar, entre em contato com a equipe de TI para obter ajuda.

Faça login AWS por meio do seu portal de AWS acesso. Se o seu administrador de nuvem concedeu permissões a você PowerUserAccess (desenvolvedor), você vê o Contas da AWS que você tem acesso e seu conjunto de permissões. Ao lado do nome do seu conjunto de permissões, você vê opções para acessar as contas manual ou programaticamente usando esse conjunto de permissões.

Entre em contato com a equipe de TI para obter ajuda.

Depois de obter acesso ao IAM Identity Center, reúna as informações do IAM Identity Center fazendo o seguinte:

  1. No seu portal de AWS acesso, selecione o conjunto de permissões que você usa para desenvolvimento e selecione o link Chaves de acesso.

  2. Na caixa de diálogo Obter credenciais, escolha a guia que corresponde ao seu sistema operacional.

  3. Escolha o método de credenciais do IAM Identity Center para obter os SSO Region valores SSO Start URL e que você precisa executaraws configure sso. Para obter informações sobre qual valor de escopos registrar, consulte Escopos de acesso OAuth 2.0 no Guia do usuário do IAM Identity Center.

Configurar seu perfil com o assistente aws configure sso

Para configurar um perfil do IAM Identity Center para o seu AWS CLI:
  1. No seu terminal preferido, execute o aws configure sso comando.

    IAM Identity Center

    Crie um nome de sessão, forneça o início do IAM Identity CenterURL, Região da AWS aquele que hospeda o diretório do IAM Identity Center e o escopo do registro.

    $ 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 [None]: sso:account:access
    Legacy IAM Identity Center

    Ignore o nome da sessão e forneça o início do IAM Identity Center URL e a AWS região que hospeda o diretório do Identity Center.

    $ aws configure sso SSO session name (Recommended): SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]:us-east-1
  2. As AWS CLI tentativas de abrir seu navegador padrão para o processo de login da sua conta do IAM Identity Center. Esse processo pode solicitar que você permita o AWS CLI acesso aos seus dados. Como o AWS CLI é construído em cima do SDK for Python, as mensagens de permissão podem conter variações do botocore nome.

    • Se AWS CLI não conseguir abrir o navegador, as instruções para iniciar manualmente o processo de login serão exibidas.

      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-west-2.amazonaws.com/ Then enter the code: QCFK-N451
  3. Selecione a AWS conta a ser usada na lista exibida. Se você estiver autorizado a usar somente uma conta, o AWS CLI selecionará automaticamente essa conta e ignorará a solicitação.

    There are 2 AWS accounts available to you. > DeveloperAccount, developer-account-admin@example.com (123456789011) ProductionAccount, production-account-admin@example.com (123456789022)
  4. Selecione a IAM função a ser usada na lista exibida. Se houver apenas uma função disponível, o AWS CLI selecionará automaticamente essa função e ignorará a solicitação.

    Using the account ID 123456789011 There are 2 roles available to you. > ReadOnly FullAccess
  5. Especifique o formato de saída padrão, o padrão Região da AWS para o qual enviar comandos e um nome para o perfil. Se você especificar default como nome do perfil, esse perfil se tornará o perfil padrão usado. No exemplo a seguir, o usuário insere uma região padrão, um formato de saída padrão e o nome do perfil.

    CLI default client Region [None]: us-west-2<ENTER> CLI default output format [None]: json<ENTER> CLI profile name [123456789011_ReadOnly]: my-dev-profile<ENTER>
  6. Uma mensagem final descreve a configuração do perfil concluída. Agora você pode usar esse perfil para solicitar credenciais. É necessário usar o comando aws sso login para solicitar e recuperar as credenciais necessárias para executar comandos. Para obter instruções, consulte Faça login em uma sessão do IAM Identity Center.

Essas etapas resultam na criação da sso-session seção e do perfil nomeado no config arquivo que se parece com o seguinte:

IAM Identity Center
[profile my-dev-profile] sso_session = my-sso sso_account_id = 123456789011 sso_role_name = readOnly 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
Legacy IAM Identity Center
[profile my-dev-profile] sso_start_url = https://my-sso-portal.awsapps.com/start sso_region = us-east-1 sso_account_id = 123456789011 sso_role_name = readOnly region = us-west-2 output = json

Configurar somente sua seção de sso-session com o assistente aws configure sso-session

nota

Essa configuração não é compatível com o IAM Identity Center antigo.

O aws configure sso-session comando atualiza sso-session as seções no ~/.aws/config arquivo. Execute o aws configure sso-session comando e forneça o início do IAM Identity Center URL e a AWS região que hospeda o diretório do IAM Identity Center.

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

Configuração manual usando o arquivo config

IAMAs informações de configuração do Identity Center são armazenadas no config arquivo e podem ser editadas usando um editor de texto. Para adicionar manualmente o suporte do IAM Identity Center a um perfil nomeado, você deve adicionar chaves e valores ao config arquivo.

A sso-session seção do config arquivo é usada para agrupar variáveis de configuração para adquirir tokens de SSO acesso, que podem então ser usados para adquirir AWS credenciais. As seguintes configurações são usadas:

Você define uma sso-session seção e a associa a um perfil. As sso_start_url configurações sso_region e devem ser definidas na sso-session seção. Normalmente, sso_account_id e sso_role_name deve ser definido na profile seção para que eles SDK possam solicitar SSO credenciais.

O exemplo a seguir configura as SSO credenciais SDK para solicitar e oferece suporte à atualização automática de tokens:

[profile dev] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://my-sso-portal.awsapps.com/start

Isso também permite que as configurações de sso-session sejam reutilizadas em vários perfis:

[profile dev] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole [profile prod] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole2 [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://my-sso-portal.awsapps.com/start

No entanto, sso_account_id sso_role_name não são obrigatórios para todos os cenários de configuração de SSO token. Se seu aplicativo usa apenas AWS serviços que oferecem suporte à autenticação do portador, AWS as credenciais tradicionais não são necessárias. A autenticação do portador é um esquema de HTTP autenticação que usa tokens de segurança chamados tokens do portador. Nesse cenário, sso_account_id e sso_role_name não são obrigatórios. Consulte o guia individual do seu AWS serviço para determinar se ele é compatível com a autorização do token do portador.

Além disso, os escopos de registro podem ser configurados como parte de uma sso-session. O escopo é um mecanismo na OAuth versão 2.0 para limitar o acesso de um aplicativo à conta de um usuário. Uma aplicação pode solicitar um ou mais escopos, e o token de acesso emitido para a aplicação será limitado aos escopos concedidos. Esses escopos definem as permissões solicitadas para serem autorizadas para o OIDC cliente registrado e os tokens de acesso recuperados pelo cliente. O exemplo a seguir define sso_registration_scopes para fornecer acesso a fim de listar contas/perfis:

[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

O token de autenticação é armazenado em cache no disco sob o diretório sso/cache com um nome de arquivo baseado no nome da sessão.

nota

A atualização automática de tokens não é compatível usando a configuração herdada não atualizável. Recomendamos usar a configuração do SSO token.

Para adicionar manualmente o suporte do IAM Identity Center a um perfil nomeado, você deve adicionar as seguintes chaves e valores à definição do perfil no config arquivo.

Você pode incluir quaisquer outras chaves e valores válidos no .aws/config arquivo. O exemplo a seguir é um perfil do IAM Identity Center:

[profile my-sso-profile] sso_start_url = https://my-sso-portal.awsapps.com/start sso_region = us-west-2 sso_account_id = 111122223333 sso_role_name = SSOReadOnlyRole region = us-west-2 output = json

Para executar comandos, você deve primeiro Faça login em uma sessão do IAM Identity Center solicitar e recuperar suas credenciais temporárias.

Para obter mais informações sobre os arquivos config e credentials, consulte Configurações do arquivo de configuração e credenciais.

Faça login em uma sessão do IAM Identity Center

nota

O processo de login pode solicitar que você permita o AWS CLI acesso aos seus dados. Como o AWS CLI é construído em cima do SDK for Python, as mensagens de permissão podem conter variações do botocore nome.

Para recuperar e armazenar em cache um conjunto de credenciais do IAM Identity Center, execute o comando a seguir AWS CLI para abrir o navegador padrão e verificar o login do IAM Identity Center.

$ aws sso login --profile my-dev-profile SSO authorization page has automatically been opened in your default browser. Follow the instructions in the browser to complete this authorization request. Successfully logged into Start URL: https://my-sso-portal.awsapps.com/start

Suas credenciais de sessão do IAM Identity Center são armazenadas em cache e são AWS CLI usadas para recuperar com segurança AWS as credenciais da função especificada no IAM perfil.

Se não AWS CLI conseguir abrir seu navegador, ele solicitará que você mesmo o abra e insira o código especificado.

$ aws sso login --profile my-dev-profile Using a browser, open the following URL: https://device.sso.us-west-2.amazonaws.com/ and enter the following code: QCFK-N451

Também é possível especificar qual perfil de sso-session usar ao registrar usando o --sso-session parâmetro do comando aws sso login. A sso-session opção não está disponível para o IAM Identity Center antigo.

$ aws sso login --sso-session my-dev-session

O token de autenticação é armazenado em cache no disco sob o ~/.aws/sso/cache diretório com um nome de arquivo baseado no. sso_start_url

Execute um comando com seu perfil do IAM Identity Center

Depois de fazer login, você pode usar suas credenciais para invocar AWS CLI comandos com o perfil nomeado associado. O exemplo a seguir mostra um comando usando um perfil:

$ aws sts get-caller-identity --profile my-dev-profile

Desde que você esteja conectado ao IAM Identity Center e essas credenciais em cache não tenham expirado, ele renova AWS CLI automaticamente as credenciais AWS expiradas quando necessário. No entanto, se suas credenciais do IAM Identity Center expirarem, você deverá renová-las explicitamente fazendo login na sua conta do IAM Identity Center novamente.

Saia de suas sessões do IAM Identity Center

Ao terminar de usar seu perfil do IAM Identity Center, você pode deixar suas credenciais expirarem ou executar o comando a seguir para excluir suas credenciais em cache.

$ aws sso logout Successfully signed out of all SSO profiles.

Solução de problemas

Se você encontrar problemas ao usar o AWS CLI, consulte as etapas Solucionar problemas de erros AWS CLI de solução de problemas.

Recursos relacionados

Os recursos adicionais são os seguintes.