Este documento descreve as declarações nos tokens do Google Cloud Attestation. Os tokens são tokens de atestação de entidade (EATs), que são codificados como JSON Web Tokens (JWTs). Os JWTs podem ser decodificados usando ferramentas como https://jwt.io/.
As declarações são definidas no endpoint well-known do Google Cloud Attestation.
Exemplos de tokens decodificados
As declarações em um token de atestado do Google Cloud Attestation variam de acordo com a tecnologia de Computação Confidencial usada na sua instância de VMs confidenciais.
AMD SEV
Confira a seguir um exemplo de token de atestado da SEV da AMD decodificado:
{
"alg": "RS256",
"kid": "6e66f1aededf736581df2599ee20387718978dcd",
"typ": "JWT"
}.
{
"aud": "AUDIENCE",
"exp": 1715359550,
"iat": 1715355950,
"iss": "https://confidentialcomputing.googleapis.com",
"nbf": 1698861565,
"sub": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME",
"eat_nonce": [
"thisIsAcustomNonce",
"thisIsAMuchLongerCustomNonceWithPaddingFor74Bytes0000000000000000000000000"
],
"secboot": true,
"oemid": 11129,
"hwmodel": "GCP_AMD_SEV",
"swname": "GCE",
"eat_profile": "https://cloud.google.com/confidential-computing/confidential-vm/docs/token-claims",
"submods": {
"gce": {
"zone": "ZONE",
"project_id": "PROJECT_ID",
"project_number": "PROJECT_NUMBER",
"instance_name": "INSTANCE_NAME",
"instance_id": "INSTANCE_ID"
}
},
"google_service_accounts": [
"470652426305-compute@developer.gserviceaccount.com"
]
}
Intel TDX
Confira a seguir um exemplo de um token de atestado do Intel TDX decodificado:
{
"alg": "RS256",
"kid": "6e66f1aededf736581df2599ee20387718978dcd",
"typ": "JWT"
}.
{
"aud": "AUDIENCE",
"exp": 1715359550,
"iat": 1715355950,
"iss": "https://confidentialcomputing.googleapis.com",
"nbf": 1698861565,
"sub": "//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/INSTANCE_ID",
"eat_nonce": "thisIsAcustomNonce",
"secboot": true,
"oemid": 11129,
"hwmodel": "GCP_INTEL_TDX",
"swname": "GCE",
"dbgstat": "disabled-since-boot",
"eat_profile": "https://cloud.google.com/confidential-computing/confidential-vm/docs/token-claims",
"submods": {
"gce": {
"zone": "ZONE",
"project_number": "PROJECT_NUMBER",
"instance_id": "INSTANCE_ID"
}
},
"tdx": {
"gcp_attester_tcb_date": "2026-06-01T00:00:00Z",
"tcb_evaluation_data_number": 17,
"fmspc": "00806F000000",
"tee_tcb_svn": "06010300000000000000000000000000",
"pcesvn": 11,
"sgx_tcb_comp_svn": "08080202040100060000000000000000",
"xfam": "e702060000000000",
"tdattributes": "0000000000000000",
"mrtd": "c68518a0ebb42136c12b2275164f8c72f25fa9a343922286a41b52bc7e4c2787e35b7782b132454191a27e366bc33e8a",
"rtmr0": "a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1",
"rtmr1": "b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2",
"rtmr2": "c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3",
"rtmr3": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
},
"google_service_accounts": [
"470652426305-compute@developer.gserviceaccount.com"
]
}
Declarações de token
A tabela a seguir descreve as declarações de alto nível em um token do Google Cloud Attestation. Essas declarações estão em conformidade com a especificação do OpenID Connect 1.0.
Valores de endpoint well-known |
Descrição |
|---|---|
claims_supported |
Consulte Declarações de nível superior. |
id_token_signing_alg_values_supported |
Os algoritmos de assinatura (valores alg) compatíveis com o token.
A VM confidencial é compatível com o algoritmo RS256.
|
issuer |
O esquema HTTPS que a VM confidencial usa como identificador do emissor.
O valor é
|
jwks_uri |
O caminho para as chaves públicas usadas para verificar a assinatura do token. Você pode publicar essas chaves em um bucket do Cloud Storage.
As chaves
Um exemplo de valor é
|
response_types_supported |
A lista de tipos de resposta da VM confidencial compatíveis. A VM confidencial é compatível com
id_token.
|
scopes_supported |
Os valores de escopo do
OAuth 2.0 compatíveis com a instância de VM confidencial. A VM confidencial é compatível apenas com openid.
|
subject_types_supported |
Os tipos de identificadores de assunto compatíveis com a VM confidencial. A VM confidencial
é compatível com public.
|
Declarações de nível superior
A tabela a seguir descreve as declarações de nível superior compatíveis em um token do Google Cloud Attestation.
| Reivindicação | Tipo | Descrição |
|---|---|---|
aud |
String |
O público-alvo. Para o token padrão usado com um pool de identidades
da carga de trabalho, o público-alvo é Para tokens com públicos-alvo personalizados, o público-alvo é repetido da solicitação de token. O comprimento máximo é de 512 bytes. |
dbgstat |
String | O status de depuração do hardware. Não disponível para SEV da AMD. |
eat_nonce |
String ou matriz de strings | Um ou mais valores de uso único para o token de atestação. Os valores são repetidos das opções de token enviadas na solicitação de token personalizado. Cada nonce precisa ter entre 10 e 74 bytes, inclusive. É permitido um máximo de seis nonces. |
eat_profile |
String |
O URI do perfil do Entity Attestation Token (EAT) que define o
esquema do token. O valor é
https://cloud.google.com/confidential-computing/confidential-vm/docs/token-claims.
|
exp |
Int, carimbo de data/hora Unix |
O prazo de validade em que o token não pode ser aceito para
processamento. O valor é um número JSON que representa a quantidade de segundos de 1970-01-01T0:0:0Z, medidos em UTC, até o expiry time.
|
google_service_accounts |
Matriz de strings | As contas de serviço validadas que estão executando a carga de trabalho da VM confidencial. |
hwmodel |
String |
O identificador exclusivo do token de hardware. O identificador precisa ser um dos seguintes valores:
|
iat |
Int, carimbo de data/hora Unix |
O horário em que o JWT foi emitido. O valor é um número JSON que
representa o número de segundos de
1970-01-01T0:0:0Z, medido
em UTC até o horário do problema.
|
iss |
String |
O emissor do token, que é definido como
https://confidentialcomputing.googleapis.com.
|
nbf |
Int, carimbo de data/hora Unix |
O horário após o qual o JWT pode ser processado. O valor é um número JSON que representa a quantidade de segundos desde 1970-01-01T0:0:0Z, medidos em UTC.
|
oemid |
Uint64 |
O
Número de empresa privada (PEN, na sigla em inglês) do Google, que é 11129.
|
secboot |
Booleano | Se a inicialização segura está ativada, o que garante que o firmware e o sistema operacional sejam autenticados durante o processo de inicialização da VM. |
sub |
String |
O assunto que identifica a instância de máquina virtual:
|
submods |
Matriz | Uma matriz de várias declarações. Consulte Reivindicações de submod. |
swname |
String |
O nome do sistema operacional aprovado para a VM. O valor é sempre |
tdx |
Objeto | Um objeto que contém declarações para instâncias do Intel TDX. Consulte Declarações do Intel TDX. |
Declarações do Intel TDX
A tabela a seguir descreve as declarações tdx em um token de atestado do Google Cloud Attestation para instâncias do Intel TDX.
| Reivindicação | Tipo | Descrição |
|---|---|---|
tcb_evaluation_data_number |
Uint32 | Número de dados de avaliação de TCB monotonamente crescente da Intel associado ao FMSPC da plataforma das informações de TCB da Intel. |
gcp_attester_tcb_date |
String | Carimbo de data/hora (UTC) do comparativo de mercado de avaliação do TCB da Intel. |
mrtd1
|
String (hex) | Medição do conteúdo inicial do domínio de confiança e do firmware virtual (OVMF). |
rtmr01
|
String (hex) | O registro de medição de tempo de execução 0 (configuração de firmware virtual e parâmetros do sistema). |
rtmr1 |
String (hex) | Registro de medição de tempo de execução 1 (medições do carregador de inicialização e do kernel do SO convidado). |
rtmr2 |
String (hex) | Registro de medição de tempo de execução 2 (disco RAM inicial (initramfs) e linha de comando do kernel). |
rtmr3 |
String (hex) | Registro de medição de tempo de execução 3 (extensões e aplicativos de tempo de execução do cliente). |
fmspc |
String (hex) | SKU de 6 bytes da família-modelo-stepping para pesquisa do serviço de certificação de provisionamento da Intel (PCS, na sigla em inglês). |
tee_tcb_svn |
String (hex) | Matriz de 16 bytes de números de versão de segurança de componentes TCB do TDX quando o domínio de confiança foi lançado. |
pcesvn |
Uint16 | SVN do enclave de certificação de provisionamento (PCE, na sigla em inglês). |
sgx_tcb_comp_svn |
String (hex) | Matriz de 16 bytes de números de versão de segurança de componentes TCB do Intel SGX. |
xfam |
String (hex) | Máscara de 8 bytes de recursos estendidos de CPU ativados. |
tdattributes |
String (hex) | Bitmap de 8 bytes de atributos de execução de TD. |
Reivindicações de submods
A tabela a seguir descreve as declarações submods em um token de Google Cloud Attestation.
| Reivindicação | Tipo | Descrição |
|---|---|---|
gce |
Objeto | Consulte Reivindicações do Compute Engine. |
Reivindicações do Compute Engine
A tabela a seguir descreve as declarações gce em um token do Google Cloud Attestation.
| Reivindicação | Tipo | Descrição |
|---|---|---|
instance_id |
String | O ID da instância de VM. |
instance_name |
String | O nome da instância de VM. |
project_id |
String | O ID do projeto em que a VM está sendo executada. |
project_number |
String | O número do projeto em que a VM está sendo executada. |
zone |
String | A zona do Compute Engine em que a instância de VM confidencial está em execução. |
A seguir
Consulte o rascunho do IETF para O token de atestado de entidade (EAT) para mais informações sobre declarações de atestado.
Consulte o OpenID Connect Core 1.0 para mais informações sobre declarações de token do OpenID.
Para mais informações sobre tokens e como recuperá-los, consulte o codelab de atestado do vTPM.