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á.
Provedor de credenciais IMDS
nota
Para obter ajuda na compreensão do layout das páginas de configurações ou na interpretação da tabela Support by AWS SDKs and tools a seguir, consulteEntendendo as páginas de configurações deste guia.
O serviço de metadados de instância (IMDS) fornece dados sobre sua instância que é possível usar para configurar ou gerenciar a instância em execução. Para obter mais informações sobre os dados disponíveis, consulte Trabalhar com metadados de instância no Guia do EC2 usuário da Amazon. EC2 A Amazon fornece um endpoint local disponível para instâncias que pode fornecer várias informações para a instância. Se a instância tiver uma função anexada, ela poderá fornecer um conjunto de credenciais válidas para essa função. Eles SDKs podem usar esse endpoint para resolver credenciais como parte de sua cadeia de fornecedores de credenciais padrão. O Instance Metadata Service Version 2 (IMDSv2), uma versão mais segura do IMDS que usa um token de sessão, é usado por padrão. Se isso falhar devido a uma condição que não pode ser repetida (códigos de erro HTTP 403, 404, 405), IMDSv1 é usado como alternativa.
Configure essa funcionalidade usando o seguinte:
AWS_EC2_METADATA_DISABLED
: variável de ambiente-
Se você deve ou não tentar usar o Amazon EC2 Instance Metadata Service (IMDS) para obter credenciais.
Valor padrão:
false
.Valores válidos:
-
true
– Não use o IMDS para obter credenciais. -
false
– Use o IMDS para obter credenciais.
-
ec2_metadata_v1_disabled
- configuração de AWSconfig
arquivo compartilhadoAWS_EC2_METADATA_V1_DISABLED
: variável de ambienteaws.disableEc2MetadataV1
- Propriedade do sistema JVM: somente Java/Kotlin-
Se deve ou não usar o Instance Metadata Service Version 1 (IMDSv1) como alternativa em caso IMDSv2 de falha.
nota
Os novos SDKs não oferecem suporte IMDSv1 e, portanto, não oferecem suporte a essa configuração. Para obter detalhes, consulte a tabela Support by AWS SDKs and tools.
Valor padrão:
false
.Valores válidos:
-
true
— Não use IMDSv1 como substituto. -
false
— Use IMDSv1 como substituto.
-
ec2_metadata_service_endpoint
- configuração de AWSconfig
arquivo compartilhadoAWS_EC2_METADATA_SERVICE_ENDPOINT
: variável de ambienteaws.ec2MetadataServiceEndpoint
- Propriedade do sistema JVM: somente Java/Kotlin-
O endpoint de IMDS. Esse valor substitui o local padrão em que as ferramentas pesquisarão AWS SDKs os metadados da EC2 instância da Amazon.
Valor padrão: se
ec2_metadata_service_endpoint_mode
for igual aIPv4
, o endpoint padrão seráhttp://169.254.169.254
. Seec2_metadata_service_endpoint_mode
for igual aIPv6
, o endpoint padrão seráhttp://[fd00:ec2::254]
.Valores válidos: URL válido.
ec2_metadata_service_endpoint_mode
- configuração de AWSconfig
arquivo compartilhadoAWS_EC2_METADATA_SERVICE_ENDPOINT_MODE
: variável de ambienteaws.ec2MetadataServiceEndpointMode
- Propriedade do sistema JVM: somente Java/Kotlin-
O modo de endpoint do IMDS.
Valor padrão:
IPv4
.Valores válidos:
IPv4
,IPv6
.
nota
O provedor de credenciais do IMDS faz parte do Entenda a cadeia de fornecedores de credenciais. No entanto, o provedor de credenciais do IMDS só é verificado após vários outros provedores que estão nesta série. Portanto, se você quiser que seu programa use as credenciais desse provedor, você deve remover outros provedores de credenciais válidos da sua configuração ou usar um perfil diferente. Como alternativa, em vez de confiar na cadeia de provedores de credenciais para descobrir automaticamente qual provedor retorna credenciais válidas, especifique o uso do provedor de credenciais IMDS no código. Você pode especificar fontes de credenciais diretamente ao criar clientes de serviço.
Segurança para credenciais do IMDS
Por padrão, quando o AWS SDK não está configurado com credenciais válidas, o SDK tentará usar o Amazon EC2 Instance Metadata Service (IMDS) para recuperar as credenciais de uma função. AWS Esse comportamento pode ser desativado definindo a variável de ambiente AWS_EC2_METADATA_DISABLED
como true
. Isso evita atividades desnecessárias na rede e aumenta a segurança em redes não confiáveis nas quais o Amazon EC2 Instance Metadata Service pode ser representado.
nota
AWS Clientes SDK configurados com credenciais válidas nunca usarão o IMDS para recuperar credenciais, independentemente de qualquer uma dessas configurações.
Desativando o uso das credenciais do Amazon EC2 IMDS
A forma como você define essa variável de ambiente depende do sistema operacional em uso, bem como se você deseja ou não que a alteração seja persistente.
Linux e macOS
Os clientes que usam Linux ou macOS podem definir essa variável de ambiente com o comando a seguir:
$ export AWS_EC2_METADATA_DISABLED=true
Se você quiser que essa configuração seja persistente em várias sessões de shell e reinicializações do sistema, você pode adicionar o comando acima ao seu arquivo de perfil de shell, como .bash_profile
, .zsh_profile
ou .profile
.
Windows
Os clientes que usam Windows podem definir essa variável de ambiente com o comando a seguir:
$ set AWS_EC2_METADATA_DISABLED=true
Se você quiser que essa configuração seja persistente em várias sessões de shell e reinicializações do sistema, use o seguinte comando em vez disso:
$ setx AWS_EC2_METADATA_DISABLED=true
nota
O comando setx não aplica o valor à sessão atual do shell, então você precisará recarregar ou reabrir o shell para que a alteração entre em vigor.
Support by AWS SDKs and tools
Os itens a seguir SDKs oferecem suporte aos recursos e configurações descritos neste tópico. Quaisquer exceções parciais estão anotadas. Todas as configurações de propriedade do sistema JVM são suportadas pelo AWS SDK for Java e pelo AWS SDK para Kotlin único.
SDK | Compatível | Notas ou mais informações |
---|---|---|
AWS CLI v2 | Sim | |
SDK para C++ | Sim | |
SDK para Go V2 (1.x) |
Sim | |
SDK para Go 1.x (V1) | Sim | Para usar as configurações do arquivo config compartilhado, você deve ativar o carregamento do arquivo de configuração; consulte Sessões. |
SDK para Java 2.x | Sim | |
SDK para Java 1.x | Parcial | Propriedades do sistema JVM: Use com.amazonaws.sdk.disableEc2MetadataV1 em vez deaws.disableEc2MetadataV1 ; aws.ec2MetadataServiceEndpoint e aws.ec2MetadataServiceEndpointMode não suportado. |
SDK para 3.x JavaScript | Sim | |
SDK para 2.x JavaScript | Sim | |
SDK para Kotlin | Sim | Não usa IMDSv1 fallback. |
SDK para .NET 3.x | Sim | |
SDK para PHP 3.x | Sim | |
SDK para Python (Boto3) |
Sim | |
SDK para Ruby 3.x | Sim | |
SDK para Rust | Sim | Não usa IMDSv1 fallback. |
SDK para Swift | Sim | |
Ferramentas para PowerShell | Sim | Você pode desativar o IMDSv1 fallback explicitamente no código usando. [Amazon.Util.EC2InstanceMetadata]::EC2MetadataV1Disabled = $true |