Use a AWS CLI para fazer login no portal - Ferramentas da AWS para PowerShell (versão 4)

A versão 5 (V5) do Ferramentas da AWS para PowerShell foi lançada!

Para começar a usar a nova versão do SDK, consulte o Guia do usuário do Ferramentas da AWS para PowerShell (V5), especialmente o tópico Migração para V5.

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

Use a AWS CLI para fazer login no portal

A partir da versão 4.1.538 do Tools for PowerShell, o método recomendado para configurar as credenciais de SSO e iniciar uma sessão do portal de acesso da AWS é usar os cmdlets Initialize-AWSSSOConfiguration e Invoke-AWSSSOLogin, conforme descrito em Configurar autenticação nas ferramentas com a AWS. Se você não tiver acesso a essa versão do Tools for PowerShell (ou posterior) ou não puder usar esses cmdlets, ainda assim poderá executar essas tarefas usando o AWS CLI.

Configure o Tools for PowerShell para usar o Centro de Identidade do IAM por meio da AWS CLI.

Se você ainda não fez isso, não se esqueça de habilitar e configurar o Centro de Identidade do IAM antes de continuar.

As informações sobre como configurar o Tools for PowerShell para usar o Centro de Identidade do IAM por meio da AWS CLI estão na Etapa 2 no tópico para Autenticação do Centro de Identidade do IAM no Guia de referência de SDKs e ferramentas da AWS. Depois de concluir essa configuração, o sistema deverá conter os seguintes elementos:

  • A AWS CLI, que você usa para iniciar uma sessão do portal de acesso da AWS antes de executar a aplicação.

  • O arquivo compartilhado config da AWS que contém um perfil [default] com um conjunto de valores de configuração que podem ser referidos nas ferramentas para PowerShell. Para encontrar a localização desse arquivo, consulte Localização dos arquivos compartilhados no Guia de referência de AWS SDKs e ferramentas. As ferramentas para PowerShell usam o provedor de token de SSO do perfil para adquirir credenciais antes de enviar solicitações à AWS. O valor sso_role_name, que é um perfil do IAM conectado a um conjunto de permissões do Centro de Identidade do IAM, deve permitir o acesso a Serviços da AWS usado na aplicação.

    O arquivo config de amostra a seguir mostra um perfil [default] configurado com o provedor de token de SSO. A configuração sso_session do perfil se refere à seção chamada sso-session. A seção sso-session contém configurações para iniciar uma sessão do portal de acesso da AWS.

    [default] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole region = us-east-1 output = json [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://provided-domain.awsapps.com/start sso_registration_scopes = sso:account:access
Importante

Sua sessão do PowerShell deve ter os seguintes módulos instalados e importados para que a resolução de SSO possa funcionar:

  • AWS.Tools.SSO

  • AWS.Tools.SSOOIDC

Se não estiver usando uma versão anterior do Tools for PowerShell e não tiver esses módulos, você receberá um erro semelhante ao seguinte: “Não foi possível encontrar o assembly AWSSDK.SSOOIDC...”.

Iniciar uma sessão do portal de acesso AWS

Antes de executar os comandos que acessam Serviços da AWS, você precisa de uma sessão do portal de acesso da AWS ativa para que o Tools for Windows PowerShell use a autenticação do Centro de Identidade do IAM para resolver as credenciais. Dependendo da duração da sessão configurada, o acesso acabará expirando e o Tools para Windows PowerShell encontrará um erro de autenticação. Para entrar no portal de acesso da AWS, execute o seguinte comando na AWS CLI.

aws sso login

Como está usando o perfil [default], você não precisa chamar o comando com a opção --profile. Se a configuração do provedor de token de SSO estiver usando um perfil nomeado, em vez disso, o comando será aws sso login --profile named-profile. Para obter mais informações sobre perfis nomeados, consulte Perfis no Guia de referência de ferramentas e SDKs da AWS.

Para testar se você já tem uma sessão ativa, execute o seguinte comando da AWS CLI (com a mesma consideração para o perfil nomeado):

aws sts get-caller-identity

A resposta a esse comando deve relatar a conta do Centro de Identidade do IAM e o conjunto de permissões configurados no arquivo compartilhado config.

nota

Se você já tiver uma sessão ativa do portal de acesso da AWS e executar aws sso login, não será necessário fornecer credenciais.

O processo de login pode solicitar que você permita que a AWS CLI acesse seus dados. Como a AWS CLI é criada com base no SDK para Python, as mensagens de permissão podem conter variações do nome botocore.

Exemplo

Veja a seguir um exemplo de como usar o Centro de Identidade do IAM com as ferramentas para PowerShell. Ele presume o seguinte:

  • Você habilitou Centro de Identidade do IAM e o configurou conforme descrito anteriormente neste tópico. As propriedades de SSO estão no perfil [default].

  • Quando você faz login por meio da AWS CLI usando aws sso login, esse usuário tem pelo menos permissões de somente leitura para o Amazon S3.

  • Alguns buckets do S3 estão disponíveis para esse usuário visualizar.

Use os seguintes comandos do PowerShell para exibir uma lista dos buckets do S3:

Install-Module AWS.Tools.Installer Install-AWSToolsModule S3 # And if using an older version of the AWS Tools for PowerShell: Install-AWSToolsModule SSO, SSOOIDC # In older versions of the AWS Tools for PowerShell, we're not invoking a cmdlet from these modules directly, # so we must import them explicitly: Import-Module AWS.Tools.SSO Import-Module AWS.Tools.SSOOIDC # Older versions of the AWS Tools for PowerShell don't support the SSO login flow, so login with the CLI aws sso login # Now we can invoke cmdlets using the SSO profile Get-S3Bucket

Conforme mencionado acima, como está usando o perfil [default], você não precisa chamar o comando Get-S3Bucket com a opção -ProfileName. Se a configuração do provedor de token de SSO estiver usando um perfil nomeado, o comando será Get-S3Bucket -ProfileName named-profile. Para obter mais informações sobre perfis nomeados, consulte Perfis no Guia de referência de ferramentas e SDKs da AWS.

Mais informações

  • Para obter mais opções de autenticação para as ferramentas para PowerShell, como o uso de perfis e variáveis de ambiente, consulte o capítulo de configuração no Guia de referência de AWS SDKs e ferramentas.

  • Alguns comandos exigem que uma região da AWS seja especificada. Existem várias maneiras de fazer isso, inclusive a opção de cmdlet -Region, o perfil [default] e a variável de ambiente AWS_REGION. Para obter mais informações, consulte Especificar regiões da AWS neste guia e Região da AWS no Guia de referência de ferramentas e SDKs da AWS.

  • Para saber mais sobre as práticas recomendadas, consulte Práticas recomendadas de segurança no IAM no Guia do usuário do IAM.

  • Para criar credenciais de curto prazo da AWS, consulte Credenciais de segurança temporárias no Guia do usuário do IAM.

  • Para saber mais sobre outros provedores de credenciais, consulte Provedores de credenciais padronizados no Guia de referência de AWS SDKs e ferramentas.