Documentos de identidade da instância - Amazon Elastic Compute Cloud

Documentos de identidade da instância

Cada instância iniciada tem um documento de identidade da instância que fornece informações sobre a própria instância. É possível usar o documento de identidade da instância para validar os atributos da instância.

O documento de identidade da instância é gerado quando a instância é interrompida e iniciada, reiniciada ou lançada. O documento de identidade da instância é exposto (no formato JSON de texto simples) por meio do Serviço de metadados de instância (IMDS). O endereço IPv4 do 169.254.169.254 é um endereço local de link e é válido apenas a partir da instância. Para obter mais informações, consulte Endereço de link local na Wikipedia. O endereço IPv6 do [fd00:ec2::254] é um endereço local único e é válido apenas a partir da instância. Para obter mais informações, consulte Endereço local único na Wikipédia.

nota

Os exemplos nesta seção usam o endereço IPv4 do IMDS: 169.254.169.254. Se você estiver recuperando metadados de instância para instâncias do EC2 pelo endereço IPv6, certifique-se de habilitar e usar o endereço IPv6: [fd00:ec2::254]. O endereço IPv6 do IMDS é compatível com comandos IMDSv2. O endereço IPv6 pode ser acessado somente em instâncias desenvolvidas no AWS Nitro System.

É possível recuperar o documento de identidade da instância de uma instância em execução a qualquer momento. O documento de identidade da instância inclui as seguintes informações:

Dados Descrição
accountId

O ID da conta da AWS que iniciou a instância.

architecture

A arquitetura da AMI usada para iniciar a instância (i386 | x86_64 | arm64).

availabilityZone

A zona de disponibilidade na qual a instância está em execução.

billingProducts

Os produtos de faturamento da instância.

devpayProductCodes

Suspenso.

imageId

A ID do AMI usado para executar a instância.

instanceId

O ID da instância.

instanceType

O tipo de instância da instância.

kernelId

O ID do kernel associado à instância, se aplicável.

marketplaceProductCodes

O código do produto AWS Marketplace da AMI usada para iniciar a instância.

pendingTime

A data e a hora em que a instância foi iniciada.

privateIp

O endereço IPv4 privado da instância.

ramdiskId

O ID do disco de RAM associado a essa instância, se aplicável.

region

A região em que a instância está em execução.

version

A versão do formato do documento de identidade da instância.

Recuperar o documento de identidade da instância de texto sem formatação

Como recuperar o documento de identidade da instância de texto simples

Conecte-se à instância e execute um dos comandos a seguir, dependendo da versão do IMDS usada pela instância.

IMDSv2
$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \ && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/dynamic/instance-identity/document
IMDSv1
$ curl http://169.254.169.254/latest/dynamic/instance-identity/document

A seguir, um exemplo de saída.

{ "devpayProductCodes" : null, "marketplaceProductCodes" : [ "1abc2defghijklm3nopqrs4tu" ], "availabilityZone" : "us-west-2b", "privateIp" : "10.158.112.84", "version" : "2017-09-30", "instanceId" : "i-1234567890abcdef0", "billingProducts" : null, "instanceType" : "t2.micro", "accountId" : "123456789012", "imageId" : "ami-5fb8c835", "pendingTime" : "2016-11-19T16:32:11Z", "architecture" : "x86_64", "kernelId" : null, "ramdiskId" : null, "region" : "us-west-2" }

Verifique o documento de identidade da instância

Se você pretende usar o conteúdo do documento de identidade da instância para um propósito importante, deve verificar seu conteúdo e autenticidade antes de usá-lo.

O documento de identidade da instância de texto simples é acompanhado por três assinaturas hash e criptografadas. É possível usar essas assinaturas para verificar a origem e a autenticidade do documento de identidade da instância e as informações incluídas nele. São fornecidas as seguintes assinaturas:

  • Assinatura codificada em base64 – trata-se de um hash SHA256 codificado em base64 do documento de identidade da instância que é criptografado usando um par de chaves RSA.

  • Assinatura PKCS7 – trata-se de um hash SHA1 do documento de identidade da instância que é criptografado usando um par de chaves DSA.

  • Assinatura RSA-2048 – trata-se de um hash SHA256 do documento de identidade da instância que é criptografado usando um par de chaves RSA-2048.

Cada assinatura está disponível em um endpoint diferente nos metadados da instância. É possível usar qualquer uma dessas assinaturas dependendo dos requisitos de hash e criptografia. Para verificar as assinaturas, é necessário usar o certificado público da AWS correspondente.

Os tópicos a seguir fornecem etapas detalhadas para validar o documento de identidade da instância usando cada assinatura.