

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

Para obter informações sobre mudanças significativas e migrar seus aplicativos, consulte o [tópico de migração](https://docs.aws.amazon.com/powershell/v5/userguide/migrating-v5.html).

 [https://docs.aws.amazon.com/powershell/v5/userguide/migrating-v5.html](https://docs.aws.amazon.com/powershell/v5/userguide/migrating-v5.html)

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

# Credenciais compartilhadas em Ferramentas da AWS para PowerShell
<a name="shared-credentials-in-aws-powershell"></a>

As Ferramentas para Windows PowerShell oferecem suporte ao uso do arquivo de credenciais AWS compartilhadas, da mesma forma que o AWS CLI e outros AWS SDKs. As Ferramentas para Windows PowerShell agora oferecem suporte à leitura e gravação de perfis de `basic` credenciais e de `assume role` credenciais no arquivo de credenciais.NET e no arquivo de credenciais AWS compartilhado. `session` Essa funcionalidade é ativada por um novo namespace `Amazon.Runtime.CredentialManagement`.

**Atenção**  
Para evitar riscos de segurança, não use usuários do IAM para autenticação ao desenvolver software com propósito específico ou trabalhar com dados reais. Em vez disso, use federação com um provedor de identidade, como [Centro de Identidade do AWS IAM](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html).

**nota**  
As informações neste tópico são para circunstâncias em que você precisa obter e gerenciar manualmente as credenciais de curto ou longo prazo. Para obter informações adicionais sobre credenciais de curto e longo prazo, consulte [Outras formas de autenticação no Guia](https://docs.aws.amazon.com/sdkref/latest/guide/access-users.html) de *referência de ferramentas AWS SDKs e ferramentas*.  
Para obter as melhores práticas de segurança Centro de Identidade do AWS IAM, use, conforme descrito em[Autenticando com AWS](creds-idc.md).

[https://docs.aws.amazon.com/powershell/v5/reference/items/New-AWSCredential.html](https://docs.aws.amazon.com/powershell/v5/reference/items/New-AWSCredential.html) Nos cmdlets de serviço, é possível fazer referência ao seus perfis adicionando o parâmetro comum, `-ProfileName`.

## Usando uma função do IAM com Ferramentas da AWS para PowerShell
<a name="shared-credentials-assume-role"></a>

O arquivo de credencial AWS compartilhado permite tipos adicionais de acesso. Por exemplo, você pode acessar seus AWS recursos usando uma função do IAM em vez das credenciais de longo prazo de um usuário do IAM. Para fazer isso, é necessário ter um perfil padrão que tenha permissões para assumir a função. Quando você diz ao Ferramentas da AWS para PowerShell para usar um perfil que especificou uma função, ele Ferramentas da AWS para PowerShell procura o perfil identificado pelo `SourceProfile` parâmetro. Essas credenciais são usadas para solicitar credenciais temporárias para a função especificada pelo parâmetro `RoleArn`. Opcionalmente, é possível exigir o uso de um dispositivo de autenticação multifator (MFA) ou de um código de `ExternalId` quando a função é assumida por terceiros.


****  

| Nome do parâmetro | Description | 
| --- | --- | 
|  ExternalId  |  O ID externo definido pelo usuário a ser usado ao assumir uma função, se for necessário para a função. Normalmente, isso só é necessário quando você delega o acesso à sua conta a terceiros. O terceiro deve incluir o ExternalId como parâmetro ao assumir a função atribuída. Para obter mais informações, consulte [Como usar uma ID externa ao conceder acesso aos seus AWS recursos a terceiros](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) no *Guia do usuário do IAM*.  | 
|  MfaSerial  |  O número de série MFA a ser usado ao assumir uma função, se for necessário para a função. Para obter mais informações, consulte [Uso da autenticação multifator (MFA) na AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa.html) no *Manual do ujsuário do IAM*.  | 
|  RoleArn  |  O ARN da função a ser assumida para credenciais assume role. Para obter mais informações sobre como criar e usar funções do IAM, consulte [Funções do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) no *Manual do usuário do IAM*.  | 
|  SourceProfile  |  O nome do perfil de origem a ser usado pelas credenciais assume role. As credenciais encontradas neste perfil são usadas para assumir a função especificada pelo parâmetro `RoleArn`.  | 

### Configuração de perfis para assumir uma função
<a name="setup"></a>

Veja a seguir um exemplo que mostra como configurar um perfil de origem que permite assumir diretamente uma função do IAM. 

O primeiro comando cria um perfil de origem que é referenciado pelo perfil de função. O segundo comando cria o perfil de função a ser assumido pela função. O terceiro comando mostra as credenciais para o perfil de função.

```
PS > Set-AWSCredential -StoreAs my_source_profile -AccessKey access_key_id -SecretKey secret_key
PS > Set-AWSCredential -StoreAs my_role_profile -SourceProfile my_source_profile -RoleArn arn:aws:iam::123456789012:role/role-i-want-to-assume
PS > Get-AWSCredential -ProfileName my_role_profile

SourceCredentials                  RoleArn                                              RoleSessionName                           Options
-----------------                  -------                                              ---------------                           -------
Amazon.Runtime.BasicAWSCredentials arn:aws:iam::123456789012:role/role-i-want-to-assume aws-dotnet-sdk-session-636238288466144357 Amazon.Runtime.AssumeRoleAWSCredentialsOptions
```

Para usar esse perfil de função com os cmdlets de PowerShell serviço Tools for Windows, adicione o parâmetro `-ProfileName` comum ao comando para referenciar o perfil de função. O exemplo a seguir usa o perfil de função definido no exemplo anterior para acessar o [Get-S3Bucket](https://docs.aws.amazon.com/powershell/v5/reference/items/Get-S3Bucket.html)cmdlet. Ferramentas da AWS para PowerShell pesquisa as credenciais`my_source_profile`, usa essas credenciais para ligar em nome do usuário e, `AssumeRole` em seguida, usa essas credenciais de função temporárias para ligar. `Get-S3Bucket`

```
PS > Get-S3Bucket -ProfileName my_role_profile

CreationDate           BucketName
------------           ----------
2/27/2017 8:57:53 AM   4ba3578c-f88f-4d8b-b95f-92a8858dac58-bucket1
2/27/2017 10:44:37 AM  2091a504-66a9-4d69-8981-aaef812a02c3-bucket2
```

## Uso dos tipos de perfil de credencial
<a name="using-the-credential-profile-types"></a>

Para definir um tipo de perfil de credencial, entenda quais parâmetros fornecem as informações necessárias ao tipo de perfil.


****  

| Tipo de credenciais | Parâmetros que você deve usar | 
| --- | --- | 
|  **Básico** Estas são as credenciais de longo prazo para um usuário do IAM  |  `-AccessKey`  `-SecretKey`  | 
|  **Sessão**: Essas são as credenciais de curto prazo para uma função do IAM que você recupera manualmente, por exemplo, chamando diretamente o cmdlet [Use- STSRole](https://docs.aws.amazon.com/powershell/v5/reference/items/Use-STSRole.html).  |  `-AccessKey`  `-SecretKey` `-SessionToken`  | 
|  **Função**: Estas são credenciais de curto prazo para uma função do IAM que o Ferramentas da AWS para PowerShell recupera para você.  |  `-SourceProfile` `-RoleArn`  opcional: `-ExternalId` opcional: `-MfaSerial`  | 

## O parâmetro comum `ProfileLocation`
<a name="the-profileslocation-common-parameter"></a>

Você pode usar `-ProfileLocation` para gravar no arquivo de credenciais compartilhadas, bem como instruir um cmdlet para ler o arquivo de credenciais. A adição do `-ProfileLocation` parâmetro controla se o Tools for Windows PowerShell usa o arquivo de credencial compartilhado ou o arquivo de credenciais.NET. A tabela a seguir descreve como o parâmetro funciona no Tools for Windows PowerShell.


****  

| Valor do local do perfil | Comportamento da resolução do perfil | 
| --- | --- | 
|  nulo (não definido) ou vazio  |  Primeiro, pesquise o arquivo de credenciais do .NET para um perfil com o nome especificado. Se o perfil não for encontrado, pesquise o arquivo de credenciais AWS compartilhadas em`(user's home directory)\.aws\credentials`.  | 
|  O caminho para um arquivo no formato de arquivo de credencial AWS compartilhada  |  Pesquise apenas o arquivo especificado para um perfil com o nome fornecido.  | 

### Salvar credenciais em um arquivo de credenciais
<a name="save-credentials-to-a-credentials-file"></a>

Para gravar e salvar as credenciais em um dos dois arquivos de credenciais, execute o cmdlet `Set-AWSCredential`. O exemplo a seguir mostra como fazer isso. O primeiro comando usa `Set-AWSCredential` com `-ProfileLocation` para adicionar chaves de acesso e secretas a um perfil especificado pelo parâmetro `-ProfileName`. Na segunda linha, execute o cmdlet [Get-Content](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.management/get-content) para exibir o conteúdo do arquivo de credenciais.

```
PS > Set-AWSCredential -ProfileLocation C:\Users\auser\.aws\credentials -ProfileName basic_profile -AccessKey access_key2 -SecretKey secret_key2
PS > Get-Content C:\Users\auser\.aws\credentials

aws_access_key_id=access_key2
aws_secret_access_key=secret_key2
```

## Exibir seus perfis de credenciais
<a name="showing-credential-profiles"></a>

Execute o AWSCredential cmdlet [Get-](https://docs.aws.amazon.com/powershell/v5/reference/items/Get-AWSCredential.html) e adicione o `-ListProfileDetail` parâmetro para retornar os tipos e locais dos arquivos de credenciais e uma lista de nomes de perfil.

```
PS > Get-AWSCredential -ListProfileDetail

ProfileName                     StoreTypeName         ProfileLocation
-----------                     -------------         ---------------
source_profile                  NetSDKCredentialsFile
assume_role_profile             NetSDKCredentialsFile
basic_profile                   SharedCredentialsFile C:\Users\auser\.aws\credentials
```

## Remoção de perfis de credencial
<a name="removing-credential-profiles"></a>

Para remover perfis de credenciais, execute o novo cmdlet [Remove- AWSCredential Profile](https://docs.aws.amazon.com/powershell/v5/reference/items/Remove-AWSCredentialProfile.html). [Clear- AWSCredential](https://docs.aws.amazon.com/powershell/v5/reference/items/Clear-AWSCredential.html) está obsoleto, mas ainda está disponível para compatibilidade com versões anteriores.

## Observações importantes
<a name="important-notes"></a>

Somente [Initialize- AWSDefault Configuration](https://docs.aws.amazon.com/powershell/v5/reference/items/Initialize-AWSDefaultConfiguration.html), [New- AWSCredential](https://docs.aws.amazon.com/powershell/v5/reference/items/New-AWSCredential.html) e [Set- AWSCredential](https://docs.aws.amazon.com/powershell/v5/reference/items/Set-AWSCredential.html) suportam os parâmetros para perfis de função. Não é possível especificar os parâmetros de função diretamente em um comando, como `Get-S3Bucket -SourceProfile source_profile_name -RoleArn arn:aws:iam::999999999999:role/role_name`. Isso não funciona porque os cmdlets de serviço não oferecem suporte direto aos parâmetros `SourceProfile` ou `RoleArn`. Em vez disso, armazene esses parâmetros em um perfil chame o comando com o parâmetro `-ProfileName`.