Autenticar com a AWS usando o AWS SDK for Java 2.x - AWS SDK for Java 2.x

Autenticar com a AWS usando o AWS SDK for Java 2.x

Ao usar o AWS SDK for Java 2.x, uma coisa importante a saber sobre a autenticação é que o SDK processa automaticamente o complexo processo de assinatura de solicitações usando credenciais do seu ambiente ou perfis do IAM, sem exigir que você implemente nenhum algoritmo criptográfico.

O SDK gerencia a descoberta de credenciais, a criação de assinaturas e a atualização de credenciais completamente nos bastidores, permitindo que você se concentre na lógica da sua aplicação.

Configurar a autenticação

O tópico Autenticação e acesso no Guia de Referência de AWS SDKs e ferramentas descreve as diferentes abordagens de autenticação. Recomendamos que você siga as instruções para configurar o acesso ao Centro de Identidade do IAM para que o SDK possa adquirir credenciais.

Depois de seguir as instruções no Guia de referência de AWS SDKs e ferramentas, seu sistema deve ser configurado para permitir que o SDK assine solicitações:

1. Configurar acesso de autenticação única para o SDK

Depois de concluir a etapa 2 na seção de acesso programático para que o SDK possa usar a autenticação do Centro de Identidade do IAM, o sistema deve conter os elementos a seguir.

  • A AWS CLI, que você usa para iniciar uma sessão do portal de acesso da AWS antes de executar o aplicativo.

  • Um arquivo ~/.aws/config que contém um perfil padrão. O SDK para Java usa as configurações do provedor de token de SSO do perfil para adquirir as 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 config de exemplo 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

Para obter mais detalhes sobre as configurações usadas na configuração do provedor de token de SSO, consulte Configuração do provedor de token de SSO no Guia de Referência de SDKs e Ferramentas da AWS.

Se seu ambiente de desenvolvimento não estiver configurado para acesso programático conforme mostrado anteriormente, siga a Etapa 2 no Guia de Referência de SDKs.

2. Faça login usando a AWS CLI

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. Para entrar no portal de acesso da AWS, execute o comando a seguir 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.

No entanto, você verá uma caixa de diálogo solicitando permissão para que o botocore acesse suas informações. O botocore é a base para a AWS CLI.

Selecione Permitir para autorizar o acesso às suas informações para a AWS CLI e o SDK para Java.

Opções de autenticação adicionais

Para obter mais opções de autenticação para o SDK, como o uso de perfis e variáveis de ambiente, consulte o capítulo de configuração no Guia de Referência de SDKs e Ferramentas da AWS.