Configure a autenticação do SDK com AWS - 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á.

Configure a autenticação do SDK com 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 SDK, 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 Centro de Identidade do IAM, primeiro ele deve ser habilitado e configurado. Para ver detalhes sobre como fazer isso no SDK, consulte a Etapa 1 no tópico sobre Autenticação do Centro de Identidade do IAM no Guia de referência de SDKs e ferramentas da AWS. Especificamente, siga todas as instruções necessárias em Não estabeleci acesso por meio do Centro de Identidade do IAM.

Configure o SDK para usar o Centro de Identidade do IAM.

As informações sobre como configurar as ferramentas para SDK para usar o Centro de Identidade do IAM estão na Etapa 2 do tópico sobre Autenticação do Centro de Identidade do IAM no Guia de referência deSDKs 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 a partir do SDK. Para encontrar a localização desse arquivo, consulte Localização dos arquivos compartilhados no Guia de referência de AWS SDKs e ferramentas. O AWS SDK for .NET usa o provedor de token 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 de exemplo config a seguir mostra um perfil padrão 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

Se estiver usando AWS IAM Identity Center para autenticação, seu aplicativo deve fazer referência aos seguintes pacotes NuGet para que a resolução de SSO possa funcionar:

  • AWSSDK.SSO

  • AWSSDK.SSOOIDC

A falha em referenciar esses pacotes resultará em uma exceção de tempo de execução.

Iniciar uma sessão do portal de acesso da AWS

Antes de executar um aplicativo que acessa os Serviços da AWS, você precisa de uma sessão ativa do portal de acesso da AWS para que o SDK use a autenticação do Centro de Identidade do IAM para resolver as credenciais. Dependendo da duração da sessão configurada, o seu acesso acabará expirando e o SDK 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 você tem uma configuração de perfil padrão, não precisa chamar o comando com uma opção --profile. Se a configuração do provedor de token de SSO estiver usando um perfil nomeado, o comando será aws sso login --profile named-profile.

Para testar se você já tem uma sessão ativa, execute o comando da AWS CLI a seguir.

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.

Informações adicionais

  • Para obter informações adicionais sobre como usar o IAM Identity Center e o SSO em um ambiente de desenvolvimento, consulte Autenticação única na seção Autenticação avançada. Essas informações incluem métodos alternativos e mais avançados, bem como tutoriais que mostram como usar esses métodos.

  • Para obter mais opções de autenticação para SDK, 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.

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