Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Leia as credenciais da função do IAM em Amazon EC2 - AWS SDK for Java 2.x

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

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

Leia as credenciais da função do IAM em Amazon EC2

Você pode usar uma função do IAM para gerenciar credenciais temporárias para aplicativos que estão sendo executados em uma EC2 instância e fazendo solicitações AWS CLI de AWS API. Isso é preferível a armazenar chaves de acesso na EC2 instância. Para atribuir uma AWS função a uma EC2 instância e disponibilizá-la para todos os aplicativos, você cria um perfil de instância anexado à instância. Um perfil de instância contém a função e permite que programas em execução na EC2 instância recebam credenciais temporárias. Para obter mais informações, consulte Usar uma função do IAM para conceder permissões a aplicativos executados em EC2 instâncias da Amazon no Guia do usuário do IAM.

Este tópico fornece informações sobre como configurar seu aplicativo Java para ser executado em uma EC2 instância e permitir que o SDK for Java IAM adquira credenciais de função.

Adquira credenciais de função do IAM do ambiente

Se seu aplicativo criar um cliente AWS de serviço usando o create método (ou builder().build() métodos), o SDK for Java usará a cadeia de fornecedores de credenciais padrão. A cadeia de fornecedores de credenciais padrão pesquisa o ambiente de execução em busca de elementos de configuração que o SDK possa trocar por credenciais temporárias. A seção Cadeia de fornecedores de credenciais padrão descreve o processo completo de pesquisa.

A etapa final na cadeia de fornecedores padrão está disponível somente quando seu aplicativo é executado em uma Amazon EC2 instância. Nessa etapa, o SDK usa an InstanceProfileCredentialsProvider para ler a função do IAM definida no perfil da EC2 instância. Depois, o SDK adquire credenciais temporárias para esse perfil do IAM.

Embora essas credenciais sejam temporárias e acabem expirando, o InstanceProfileCredentialsProvider as atualiza periodicamente para você, de maneira que elas continuem permitindo o acesso à AWS.

Adquira credenciais de função do IAM de forma programática

Como alternativa à cadeia de provedores de credenciais padrão que eventualmente usa um InstanceProfileCredentialsProvider on EC2, você pode configurar um cliente de serviço explicitamente com um. InstanceProfileCredentialsProvider Essa abordagem é mostrada no trecho a seguir.

S3Client s3 = S3Client.builder() .credentialsProvider(InstanceProfileCredentialsProvider.create()) .build();

Adquira com segurança as credenciais da função do IAM

Por padrão, as EC2 instâncias executam o IMDS (Instance Metadata Service), que permite que os SDKs acessem informações como a função do IAM que foi configurada. InstanceProfileCredentialsProvider EC2 as instâncias executam duas versões do IMDS por padrão:

  • Instance Metadata Service versão 1 (IMDSv1) — um método de solicitação/resposta

  • Instance Metadata Service versão 2 (IMDSv2) — um método orientado a sessões

IMDSv2 é uma abordagem mais segura do que IMDSv1.

Por padrão, o Java SDK primeiro tenta obter IMDSv2 a função do IAM, mas se isso falhar, ele tenta IMDSv1. No entanto, como IMDSv1 é menos seguro, AWS recomenda usar IMDSv2 somente e impedir que o SDK tente IMDSv1.

Para usar a abordagem mais segura, desative o uso do SDK IMDSv1 fornecendo uma das configurações a seguir com um valor detrue.

  • Variável de ambiente: AWS_EC2_METADATA_V1_DISABLED

  • Propriedade do sistema JVM: aws. disableEc2MetadataV1

  • Configuração do arquivo de configuração compartilhado: ec2_metadata_v1_disabled

Com uma dessas configurações definida comotrue, o SDK não carrega as credenciais da função IMDS usando IMDSv1 se a chamada inicial IMDSv2 falhar.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.