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
-
Instale AWS CLI o. Para ter mais informações, consulte Instalar ou atualizar para a versão mais recente da AWS CLI.
-
Primeiro, você deve ter acesso à SSO autenticação no IAM Identity Center. Escolha um dos métodos a seguir para acessar suas AWS credenciais.
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:
-
No seu portal de AWS acesso, selecione o conjunto de permissões que você usa para desenvolvimento e selecione o link Chaves de acesso.
-
Na caixa de diálogo Obter credenciais, escolha a guia que corresponde ao seu sistema operacional.
-
Escolha o método de credenciais do IAM Identity Center para obter os
SSO Region
valoresSSO 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:
-
No seu terminal preferido, execute o
aws configure sso
comando. -
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
-
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
) -
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 -
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> -
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:
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:
-
(Obrigatório)
sso_start_url
-
(Obrigatório)
sso_region
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-sessionmy-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
[profileprod
] sso_session =my-sso
sso_account_id =111122223333
sso_role_name =SampleRole2
[sso-sessionmy-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.
-
Tutorial: Use o IAM Identity Center para executar comandos do Amazon S3
-
aws configure sso
na AWS CLI versão 2 Reference -
aws configure sso-session
na AWS CLI versão 2 Reference -
aws sso login
na AWS CLI versão 2 Reference -
aws sso logout
na AWS CLI versão 2 Reference -
Configuração para usar o AWS CLI with CodeCatalyst no Guia do CodeCatalyst usuário da Amazon
-
OAuth2.0 Escopos de acesso no Guia do usuário do IAM Identity Center
-
Tutoriais de introdução no Guia do usuário do IAMIdentity Center