Configurar as credenciais temporárias da AWS e a Região da AWS para desenvolvimento - AWS SDK for Java 1.x

O AWS SDK for Java 1.x entrou no modo de manutenção em 31 de julho de 2024 e chegará end-of-supportem 31 de dezembro de 2025. Recomendamos que você migre para o AWS SDK for Java 2.xpara continuar recebendo novos recursos, melhorias de disponibilidade e atualizações de segurança.

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 as credenciais temporárias da AWS e a Região da AWS para desenvolvimento

Para se conectar a qualquer um dos serviços compatíveis com o AWS SDK for Java, você deve fornecer as credenciais temporárias da AWS. Os SDKs e as CLIs da AWS usam cadeias de fornecedores para procurar credenciais temporárias da AWS em vários lugares diferentes, inclusive variáveis de sistema/ambiente do usuário e arquivos de configuração da AWS locais.

Este tópico fornece informações básicas sobre como configurar as credenciais temporárias da AWS para desenvolvimento de aplicativos locais usando o AWS SDK for Java. Se for necessário configurar credenciais a serem usadas dentro de uma instância do EC2 ou se estiver usando o IDE do Eclipse para desenvolvimento, consulte os seguintes tópicos:

Configurar credenciais temporárias

É possível configurar credenciais temporárias para o AWS SDK for Java de várias maneiras, mas aqui estão as abordagens recomendadas:

  • Defina credenciais temporárias no arquivo de perfil de credenciais da AWS no sistema local, localizado em:

    • ~/.aws/credentials no Linux, macOS ou Unix

    • C:\Users\USERNAME\.aws\credentials no Windows

    Consulte Configure credenciais temporárias para o SDK neste guia para obter instruções sobre como obter suas credenciais temporárias.

  • Defina as variáveis de ambiente AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY e AWS_SESSION_TOKEN.

    Para definir essas variáveis no Linux, macOS ou Unix, use :

    export AWS_ACCESS_KEY_ID=your_access_key_id export AWS_SECRET_ACCESS_KEY=your_secret_access_key export AWS_SESSION_TOKEN=your_session_token

    Para definir essas variáveis no Windows, use :

    set AWS_ACCESS_KEY_ID=your_access_key_id set AWS_SECRET_ACCESS_KEY=your_secret_access_key set AWS_SESSION_TOKEN=your_session_token
  • Para uma instância do EC2, especifique um perfil do IAM e dê à instância do EC2 acesso a essa função. Consulte Perfis do IAM para Amazon EC2 no Guia do usuário do Amazon EC2 para instâncias do Linux para uma discussão detalhada sobre como isso funciona.

Depois que você tiver definido as credenciais temporárias da AWS usando um desses métodos, elas serão carregadas automaticamente pelo AWS SDK for Java usando-se a cadeia de fornecedores de credencial padrão. Para obter mais informações sobre como trabalhar com credenciais da AWSnos aplicativos Java, consulte Trabalhar com credenciais da AWS.

Atualizar credenciais do IMDS

O AWS SDK for Java permite atualizar credenciais do IMDS em segundo plano a cada minuto, independentemente do tempo de expiração da credencial. Isso permite que você atualize as credenciais com mais frequência e reduz a chance de que não atingir o IMDS afete a disponibilidade percebida da AWS.

1. // Refresh credentials using a background thread, automatically every minute. This will log an error if IMDS is down during 2. // a refresh, but your service calls will continue using the cached credentials until the credentials are refreshed 3. // again one minute later. 4. 5. InstanceProfileCredentialsProvider credentials = 6. InstanceProfileCredentialsProvider.createAsyncRefreshingProvider(true); 7. 8. AmazonS3Client.builder() 9. .withCredentials(credentials) 10. .build(); 11. 12. // This is new: When you are done with the credentials provider, you must close it to release the background thread. 13. credentials.close();

Defina a Região da AWS

Você deve definir uma Região da AWS padrão que será usada para acessar serviços da AWS com o AWS SDK for Java. Tendo em vista o melhor desempenho da rede, você deve escolher uma região geograficamente próxima de você (ou dos clientes). Para obter uma lista de regiões para cada serviço, consulte Regiões e endpoints na Referência geral da Amazon Web Services.

nota

Se você não selecionar uma região, us-east-1 será usada por padrão.

Você pode usar técnicas semelhantes para à definição de credenciais para configurar a região da AWS padrão:

  • Defina a Região da AWS no arquivo de configuração da AWS no sistema local, localizado em:

    • ~/.aws/config no Linux, macOS ou Unix

    • C:\Users\USERNAME\.aws\config no Windows

    Esse arquivo deve conter linhas no seguinte formato:

    +

    [default] region = your_aws_region

    +

    Substitua a Região da AWS desejada (por exemplo, “us-west-1”) para your_aws_region.

  • Defina a variável de ambiente AWS_REGION.

    No Linux, macOS ou Unix, use :

    export AWS_REGION=your_aws_region

    No Windows, use :

    set AWS_REGION=your_aws_region

    Em que your_aws_region é o nome da Região da AWS desejado.