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á.
Configurar autenticação nas ferramentas com a AWS
Você precisa estabelecer como seu código deve ser autenticado com a AWS ao desenvolver com Serviços da AWS. Há diferentes maneiras de configurar o acesso programático aos seus recursos da AWS, dependendo do ambiente e do acesso da AWS disponível para você.
Se desejar ver vários métodos de autenticação para as ferramentas para 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 desenvolvendo localmente, não tenha recebido um método de autenticação do empregador e usará o 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 usar o AWS IAM Identity Center, primeiro ele deve ser habilitado e configurado. Para ver detalhes sobre como fazer isso no PowerShell, consulte a Etapa 1 no tópico sobre Autenticação do Centro de Identidade do IAM 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 para PowerShell para usar o Centro de Identidade do IAM.
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 acesso da AWS é usar os cmdlets Initialize-AWSSSOConfiguration e Invoke-AWSSSOLogin, 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 assim poderá executar essas tarefas usando o AWS CLI. Para saber como, consulte Use a AWS CLI para fazer login no portal.
O procedimento a seguir atualiza o arquivo config da AWS compartilhado com informações de SSO usadas pelo Tools for PowerShell para obter credenciais temporárias. Como consequência desse procedimento, uma sessão do portal de acesso da AWS também é iniciada. Se o arquivo config compartilhado já tiver informações de SSO e você só quiser saber como iniciar uma sessão do portal de acesso usando o Tools for PowerShell, consulte a próxima seção neste tópico, Iniciar uma sessão do portal de acesso AWS.
-
Se você ainda não tiver feito isso, abra o PowerShell e instale o Ferramentas da AWS para PowerShell conforme indicado para o sistema operacional e o ambiente, inclusive os cmdlets comuns. Para obter informações sobre como fazer isso, consulte Instalar o Ferramentas da AWS para PowerShell.
Por exemplo, se instalasse 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 -
Execute o comando a seguir. Substitua os valores de propriedade de exemplo por valores de configuração do Centro de Identidade do IAM. Para obter informações sobre essas propriedades e como encontrá-las, consulte as Configurações do provedor de credencial do Centro de Identidade do IAM no Guia de referência de SDKs e ferramentas da AWS.
$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 @paramsVocê também pode simplesmente usar o cmdlet sozinho,
Initialize-AWSSSOConfiguration, e o Tools for PowerShell envia o prompt dos valores de propriedade.Considerações sobre determinados valores de propriedade:
-
Se você simplesmente seguiu as instruções para habilitar e configurar o Centro de Identidade do IAM, o valor de
-RoleNamepoderá serPowerUserAccess. Mas, se você tiver criado um conjunto de permissões do Centro de Identidade do IAM especificamente para o trabalho do PowerShell, use-o em vez disso. -
Não se esqueça de usar o Região da AWS onde você configurou o Centro de Identidade do IAM.
-
-
A esta altura, o arquivo
configcompartilhado da AWS contém um perfil chamadomy-sso-profilecom um conjunto de valores de configuração que podem ser referenciados no Tools for 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 exemplo a seguir mostra o perfil que foi criado usando o comando mostrado acima. Alguns dos valores de propriedade e a ordem podem ser diferentes no perfil real. A propriedade
sso-sessiondo perfil se refere à seção chamadamy-sso-session, que contém configurações para iniciar uma sessão do portal de acesso da AWS.[profile my-sso-profile] sso_account_id=111122223333sso_role_name=SamplePermissionSetsso_session=my-sso-session [sso-session my-sso-session] sso_region=us-west-2sso_registration_scopes=sso:account:access sso_start_url=https://provided-domain.awsapps.com/start/ -
Se você já tiver uma sessão do portal de acesso da AWS ativa, o Tools for PowerShell informará que você já está fez login.
Se não for esse o caso, o Tools for PowerShell tentará abrir automaticamente a página de autorização SSO no navegador da web padrão. Siga os prompts no navegador, que podem incluir um código de autorização SSO, nome de usuário e senha, além de permissão para acessar de contas e conjuntos de permissões da AWS IAM Identity Center.
O Tools for PowerShell informa que o login SSO foi bem-sucedido.
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 PowerShell use a autenticação do Centro de Identidade do IAM para resolver as credenciais. Para entrar no portal de acesso da AWS, execute o comando a seguir no PowerShell, em que -ProfileName my-sso-profile é o nome do perfil que foi criado no arquivo config 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 do portal de acesso da AWS ativa, o Tools for PowerShell informará que você já está fez login.
Se não for esse o caso, o Tools for PowerShell tentará abrir automaticamente a página de autorização SSO no navegador da web padrão. Siga os prompts no navegador, que podem incluir um código de autorização SSO, nome de usuário e senha, além de permissão para acessar de contas e conjuntos de permissões da AWS IAM Identity Center.
O Tools for PowerShell informa que o login SSO foi bem-sucedido.
Para testar se você já tiver uma sessão ativa, execute o seguinte comando depois de instalar ou importar o módulo AWS.Tools.SecurityToken, conforme necessário.
Get-STSCallerIdentity -ProfileName my-sso-profile
A resposta para o cmdlet do Get-STSCallerIdentity relata a conta do Centro de Identidade do IAM e o conjunto de permissões configurado no arquivo config compartilhado.
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 SSO estão no perfil
my-sso-profile, que foi configurado anteriormente neste tópico. -
Quando você faz login por meio dos cmdlets
Initialize-AWSSSOConfigurationouInvoke-AWSSSOLogin, 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 módulo AWS.Tools.S3 conforme necessário e, em seguida, use o seguinte comando do PowerShell 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 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 ambienteAWS_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.