Resolução de perfil e credenciais - AWS SDK for .NET

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

Resolução de perfil e credenciais

Ele AWS SDK for .NET pesquisa as credenciais em uma determinada ordem e usa o primeiro conjunto disponível para o aplicativo atual.

Ordem de pesquisa de credencial
  1. Credenciais que são definidas explicitamente no cliente do AWS serviço, conforme descrito em. Acessar credenciais e perfis em um aplicativo

    nota

    Esse tópico está na seção Considerações especiais porque não é o método preferencial para especificar credenciais.

  2. Um perfil de credenciais com o nome especificado por um valor emAWSConfigs. AWSProfileName.

  3. Um perfil de credenciais com o nome especificado pela variável de ambiente AWS_PROFILE.

  4. O perfil de credenciais [default].

  5. S essionAWSCredentials que são criados a partir das variáveis de AWS_SESSION_TOKEN ambiente AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY,, e, se todas não estiverem vazias.

  6. B asicAWSCredentials que são criados a partir das variáveis de AWS_SECRET_ACCESS_KEY ambiente AWS_ACCESS_KEY_ID e, se ambas não estiverem vazias.

  7. O provedor de credenciais do contêiner.

  8. Metadados da EC2 instância Amazon.

Se seu aplicativo estiver sendo executado em uma EC2 instância da Amazon, como em um ambiente de produção, use uma IAM função conforme descrito emConceder acesso usando uma função IAM. Caso contrário, como em testes de pré-lançamento, armazene suas credenciais em um arquivo que usa o formato de arquivo de AWS credenciais ao qual seu aplicativo web tem acesso no servidor.

Resolução do perfil

Com dois mecanismos de armazenamento de credenciais diferentes, é importante entender como configurá-los AWS SDK for .NET para usá-los. AWSConfigsA. AWSProfilesLocationA propriedade controla como AWS SDK for .NET ele encontra perfis de credenciais.

AWSProfilesLocation Comportamento da resolução do perfil

nulo (não definido) ou vazio

Pesquise na SDK Loja se a plataforma for compatível e, em seguida, pesquise o arquivo de AWS credenciais compartilhadas no local padrão. Se o perfil não estiver em nenhum desses locais, busque ~/.aws/config (Linux ou macOS) ou %USERPROFILE%\.aws\config (Windows).

O caminho para um arquivo no formato de arquivo de AWS credenciais

Pesquise somente o arquivo especificado para um perfil com o nome especificado.

Usar credenciais da conta de usuário federado

Os aplicativos que usam o AWS SDK for .NET (AWSSDK.Core versão 3.1.6.0 e posterior) podem usar contas de usuário federadas por meio dos Serviços de Federação do Active Directory (AD FS) para acessar AWS serviços usando a Security Assertion Markup Language (). SAML

Suporte ao acesso federado significa que usuários podem se autenticar usando o Active Directory. São concedidas credenciais temporárias ao usuário automaticamente. Essas credenciais temporárias, válidas por uma hora, são usadas quando seu aplicativo invoca serviços AWS . O SDK gerencia as credenciais temporárias. Para contas de usuário associados a um domínio, se o aplicativo realizar uma chamada mas as credenciais expiraram, o usuário é reautenticado automaticamente e são concedidas novas credenciais. (Para non-domain-joined contas, o usuário é solicitado a inserir as credenciais antes da reautenticação.)

Para usar esse suporte em seu. NETaplicativo, você deve primeiro configurar o perfil da função usando um PowerShell cmdlet. Para saber como, consulte a documentação do AWS Tools for Windows PowerShell.

Depois de configurar o perfil da função, faça referência ao perfil em seu aplicativo. Há várias maneiras de fazer isso, uma delas é usando AWSConfigso. AWSProfileNamepropriedade da mesma forma que você faria com outros perfis de credenciais.

A AWS Security Token Servicemontagem (AWSSDK. SecurityToken) fornece o SAML suporte para obter AWS credenciais. Para usar as credenciais da conta de usuário federado, certifique-se de que esse assembly esteja disponível para seu aplicativo.

Especificar funções ou credenciais temporárias

Para aplicativos executados em EC2 instâncias da Amazon, a maneira mais segura de gerenciar credenciais é usar IAM funções, conforme descrito emConceder acesso usando uma função IAM.

Para cenários do aplicativo em que o executável do software está disponível para usuários de fora da organização, recomendamos que você projete o software para usar credenciais de segurança temporárias. Além de fornecer acesso restrito aos AWS recursos, essas credenciais têm a vantagem de expirar após um período de tempo especificado. Para obter mais informações sobre as credenciais de segurança temporárias, consulte:

Usar credenciais de proxy

Se seu software se comunicar AWS por meio de um proxy, você poderá especificar as credenciais para o proxy usando a ProxyCredentials propriedade da Config classe de um serviço. A classe Config de um serviço normalmente faz parte do namespace primário do serviço. Os exemplos incluem o seguinte: AmazonCloudDirectoryConfigna Amazon. CloudDirectorynamespace e AmazonGameLiftConfigna Amazon. GameLiftnamespace.

Para o Amazon S3, por exemplo, você pode usar um código semelhante ao seguinte, onde SecurelyStoredUserName e SecurelyStoredPassword são o nome de usuário e a senha do proxy especificados em um NetworkCredentialobjeto.

AmazonS3Config config = new AmazonS3Config(); config.ProxyCredentials = new NetworkCredential(SecurelyStoredUserName, SecurelyStoredPassword);
nota

Versões anteriores do SDK usado ProxyUsername eProxyPassword, mas essas propriedades estão obsoletas.