Configure a autenticação da ferramenta com AWS - AWS Tools for PowerShell

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 a autenticação da ferramenta com AWS

Você deve estabelecer como seu código é autenticado AWS ao desenvolver com Serviços da AWS. Há diferentes maneiras de configurar o acesso programático aos AWS recursos, dependendo do ambiente e do AWS acesso disponível para você.

Para ver vários métodos de autenticação do Tools for PowerShell, consulte Autenticação e acesso no Guia de referência de AWS SDKs e ferramentas.

Este tópico pressupõe que um novo usuário esteja se desenvolvendo localmente, não tenha recebido um método de autenticação do empregador e o usará AWS IAM Identity Center para obter credenciais temporárias. Se seu ambiente não se enquadra nessas suposições, algumas das informações neste tópico podem não se aplicar a você ou algumas das informações podem já ter sido fornecidas.

A configuração desse ambiente requer várias etapas, que são resumidas da seguinte forma:

Habilitar e configurar o Centro de Identidade do IAM

Para ser usado AWS IAM Identity Center, ele deve primeiro ser ativado e configurado. Para ver detalhes sobre como fazer isso PowerShell, consulte a Etapa 1 no tópico sobre autenticação do IAM Identity Center no Guia de referência de AWS SDKs e ferramentas. Especificamente, siga todas as instruções necessárias em Não estabeleci acesso por meio do Centro de Identidade do IAM.

Configure as ferramentas PowerShell para usar o IAM Identity Center.

nota

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 AWS acesso é usar os Invoke-AWSSSOLogincmdlets Initialize-AWSSSOConfiguratione, conforme descrito neste tópico. Se você não tiver acesso a essa versão do Tools for PowerShell (ou posterior) ou não puder usar esses cmdlets, ainda poderá executar essas tarefas usando o. AWS CLI Para saber como, consulteUse o AWS CLI para login no portal.

O procedimento a seguir atualiza o AWS config arquivo compartilhado com as informações de SSO que o Tools for PowerShell usa para obter credenciais temporárias. Como consequência desse procedimento, uma sessão do portal de AWS acesso também é iniciada. Se o config arquivo compartilhado já tiver informações de SSO e você quiser apenas saber como iniciar uma sessão do portal de acesso usando as Ferramentas para PowerShell, consulte a próxima seção neste tópico,Iniciar uma sessão do portal de AWS acesso.

  1. Se você ainda não tiver feito isso, abra PowerShell e instale o AWS Tools for PowerShell conforme apropriado para seu sistema operacional e ambiente, incluindo os cmdlets comuns. Para obter informações sobre como fazer isso, consulte Instalar o AWS Tools for PowerShell.

    Por exemplo, ao instalar a versão modularizada do Tools for PowerShell no Windows, você provavelmente executaria comandos semelhantes aos seguintes:

    Install-Module -Name AWS.Tools.Installer Install-AWSToolsModule AWS.Tools.Common
  2. Execute o seguinte comando . Substitua os valores de propriedade de exemplo por valores da configuração do IAM Identity Center. Para obter informações sobre essas propriedades e como encontrá-las, consulte as configurações do provedor de credenciais do IAM Identity Center no Guia de referência de AWS SDKs e ferramentas.

    $params = @{ ProfileName = 'my-sso-profile' AccountId = '111122223333' RoleName = 'SamplePermissionSet' SessionName = 'my-sso-session' StartUrl = 'https://provided-domain.awsapps.com/start' SSORegion = 'us-west-2' RegistrationScopes = 'sso:account:access' }; Initialize-AWSSSOConfiguration @params

    Como alternativa, você pode simplesmente usar o cmdlet sozinho e o Tools for PowerShell solicitará os valores da propriedade. Initialize-AWSSSOConfiguration

    Considerações sobre determinados valores de propriedade:

    • Se você simplesmente seguiu as instruções para ativar e configurar o IAM Identity Center, o valor para -RoleName pode serPowerUserAccess. Mas se você criou um conjunto de permissões do IAM Identity Center especificamente para o PowerShell trabalho, use-o em vez disso.

    • Certifique-se de usar o Região da AWS local em que você configurou o IAM Identity Center.

  3. Nesse ponto, o AWS config arquivo compartilhado contém um perfil chamado my-sso-profile com um conjunto de valores de configuração que podem ser referenciados nas Ferramentas para PowerShell. Para encontrar a localização desse arquivo, consulte Localização dos arquivos compartilhados no Guia de referência de ferramentas e SDKs da AWS .

    O Tools for PowerShell usa o provedor de token SSO do perfil para adquirir credenciais antes de enviar solicitações para. AWS O sso_role_name valor, que é uma função do IAM conectada a um conjunto de permissões do IAM Identity Center, deve permitir o acesso ao Serviços da AWS usado em seu aplicativo.

    O exemplo a seguir mostra o perfil que foi criado usando o comando mostrado acima. Alguns dos valores da propriedade e sua ordem podem ser diferentes em seu perfil real. A sso-session propriedade do perfil se refere à seção chamadamy-sso-session, que contém configurações para iniciar uma sessão do portal de AWS acesso.

    [profile my-sso-profile] sso_account_id=111122223333 sso_role_name=SamplePermissionSet sso_session=my-sso-session [sso-session my-sso-session] sso_region=us-west-2 sso_registration_scopes=sso:account:access sso_start_url=https://provided-domain.awsapps.com/start/
  4. Se você já tiver uma sessão ativa do portal de AWS acesso, as Ferramentas para PowerShell informam que você já está logado.

    Se não for esse o caso, use as Ferramentas para PowerShell tentar abrir automaticamente a página de autorização de SSO em seu navegador padrão. Siga as instruções no seu navegador, que podem incluir um código de autorização de SSO, nome de usuário e senha, além de permissão para acessar AWS IAM Identity Center contas e conjuntos de permissões.

    O Tools for PowerShell informa que o login com SSO foi bem-sucedido.

Iniciar uma sessão do portal de AWS acesso

Antes de executar os comandos que acessam Serviços da AWS, você precisa de uma sessão ativa do portal de AWS acesso para que o Tools for PowerShell possa usar a autenticação do IAM Identity Center para resolver as credenciais. Para entrar no portal de AWS acesso, execute o seguinte comando em PowerShell, onde -ProfileName my-sso-profile está o nome do perfil que foi criado no config arquivo compartilhado quando você seguiu o procedimento na seção anterior deste tópico.

Invoke-AWSSSOLogin -ProfileName my-sso-profile

Se você já tiver uma sessão ativa do portal de AWS acesso, as Ferramentas para PowerShell informam que você já está logado.

Se não for esse o caso, use as Ferramentas para PowerShell tentar abrir automaticamente a página de autorização de SSO em seu navegador padrão. Siga as instruções no seu navegador, que podem incluir um código de autorização de SSO, nome de usuário e senha, além de permissão para acessar AWS IAM Identity Center contas e conjuntos de permissões.

O Tools for PowerShell informa que o login com SSO foi bem-sucedido.

Para testar se você já tem uma sessão ativa, execute o comando a seguir após instalar ou importar o AWS.Tools.SecurityToken módulo conforme necessário.

Get-STSCallerIdentity -ProfileName my-sso-profile

A resposta ao Get-STSCallerIdentity cmdlet relata a conta do IAM Identity Center e o conjunto de permissões configurados no arquivo compartilhadoconfig.

Exemplo

Veja a seguir um exemplo de como usar o IAM Identity Center 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 my-sso-profile perfil, que foi configurado anteriormente neste tópico.

  • Quando você faz login por meio dos Invoke-AWSSSOLogin cmdlets Initialize-AWSSSOConfiguration ou, o 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.

Instale ou importe o AWS.Tools.S3 módulo conforme necessário e, em seguida, use o PowerShell comando a seguir para exibir uma lista dos buckets do S3.

Get-S3Bucket -ProfileName my-sso-profile

Mais informações

  • Para obter mais opções de autenticação para o Tools for 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 AWS região seja especificada. Há várias maneiras de fazer isso, incluindo a opção de -Region cmdlet, o [default] perfil e a variável de AWS_REGION ambiente. Para obter mais informações, consulte Especificar AWS regiões este guia e a AWS região no Guia de referência de AWS SDKs e ferramentas.

  • 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 AWS credenciais de curto prazo, 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.