Reivindicações de token de atestado


A tabela a seguir descreve as declarações de nível superior aceitas no token de atestado. Esses itens estão em conformidade com a especificação do OpenID Connect 1.0.

Saiba mais sobre os tokens de atestado.

Chave Tipo Descrição
Cabeçalho
x5c String Presente apenas em tokens de PKI. A cadeia de certificados para validar tokens de ICP. Faça o download do certificado raiz no endpoint de validação de token PKI.
Payload de dados JSON
attester_tcb Matriz de strings

Um ou mais componentes da base de computação confiável (TCB, na sigla em inglês). Essa declaração especifica a origem das evidências de atestado.

Para o hwmodel claim "GCP_INTEL_TDX" no Confidential Space, o valor é definido como ["INTEL"], indicando que a raiz de confiança do atestado é originada da tecnologia de hardware específica da Intel.

aud String

O público. Para o token padrão usado com um pool de identidade da carga de trabalho, o público-alvo é https://sts.googleapis.com. Esse token é buscado a cada hora pelo iniciador na instância de VM confidencial.

Para tokens com públicos-alvo personalizados, o público-alvo é repetido do público-alvo na solicitação de token. O comprimento máximo é de 512 bytes.

dbgstat String O status de depuração do hardware. Nas imagens de produção, o valor é disabled-since-boot. Em imagens de depuração, o valor é enabled.
eat_nonce String ou matriz de strings Um ou mais nonces para o token de atestado. Os valores são repetidos das opções de token enviadas na solicitação de token personalizada. Cada valor de uso único precisa estar entre 8 e 88 bytes. São permitidos no máximo seis valores de uso único.
exp Int, carimbo de data/hora do Unix O tempo de expiração a partir do qual o token não pode ser aceito para processamento. 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 de expiração.
google_service_accounts Matriz de strings As contas de serviço validadas que estão executando a carga de trabalho do Confidential Space.
hwmodel String

O identificador exclusivo do token de hardware. Confira os valores válidos:

iat Int, carimbo de data/hora do 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é a hora do problema.
iss String O emissor do token, definido como https://confidentialcomputing.googleapis.com.
nbf Int, carimbo de data/hora do Unix O tempo antes do qual o JWT não pode ser usado para processamento.
oemid Uint64 O Número de empresa particular (PEN, na sigla em inglês) do Google, que é 11129.
secboot Booleano Indica se a inicialização segura está ativada, o que garante que o firmware e o sistema operacional foram autenticados durante o processo de inicialização da VM. Esse valor é sempre true.
sub String O assunto, que é o ID da máquina virtual totalmente qualificado para a VM confidencial. Exemplo: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_ID Esse formato é conhecido como o selfLink da instância.
submods Matriz Uma matriz de várias reivindicações. Consulte Reivindicações de Submods.
swname String

O nome do sistema operacional aprovado para a VM.

Os valores são CONFIDENTIAL_SPACE ou GCE. O valor CONFIDENTIAL_SPACE é apenas para imagens reforçadas que passaram por toda a validação.

swversion Matriz de strings

A versão do sistema operacional. O valor é uma matriz de strings que contém apenas um valor.

A versão segue o formato YYYYMM##, em que ## é um contador do número de imagens lançadas antes da imagem usada no mesmo mês.

Reivindicações de submodificações

A tabela a seguir descreve as declarações submods no token de atestado.

Chave Tipo Descrição
confidential_space.support_attributes Matriz de strings O valor pode conter USABLE, STABLE e LATEST. Para mais informações, consulte Ciclo de vida de imagem do Confidential Space.
confidential_space.monitoring_enabled Matriz de objetos Mostra que tipo de monitoramento do sistema está ativado. O valor pode ser {"memory":false} ou {"memory":true}.
container Objeto Consulte Declarações do contêiner de carga de trabalho.
gce Objeto Consulte Reivindicações do Compute Engine.

Declarações de contêiner de carga de trabalho

A tabela a seguir descreve as declarações container no token de atestado. Para mais informações sobre essas declarações, consulte Afirmações de atestado.

Chave Tipo Descrição
args Matriz de strings O argv completo com que o contêiner é invocado. Essa declaração inclui o caminho do ponto de entrada do contêiner e outros argumentos de linha de comando.
cmd_override Matriz de strings Os comandos e parâmetros do CMD usados na imagem da carga de trabalho.
env Matriz de objetos As variáveis de ambiente e os valores delas que foram transmitidos explicitamente para o contêiner.
env_override Matriz de objetos As variáveis de ambiente substituídas no contêiner.
image_digest String O resumo da imagem do contêiner da carga de trabalho.
image_id String O ID da imagem do contêiner da carga de trabalho.
image_reference String O local do contêiner da carga de trabalho em execução no Confidential Space.
image_signatures Matriz de objetos Consulte Reivindicações de assinatura de imagem do contêiner.
restart_policy String A política de reinicialização do inicializador do contêiner quando a carga de trabalho é interrompida. Os valores válidos são Always, OnFailure e Never. O padrão é Never.

Declarações do Compute Engine

A tabela a seguir descreve as declarações gce no token de atestado.

Chave Tipo Descrição
instance_id String O ID da instância da VM.
instance_name String O nome da instância da VM.
project_id String O ID do projeto 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 VM confidencial está em execução.

Reivindicações de assinatura de imagem de contêiner

A tabela a seguir descreve as declarações image_signatures no token de atestado.

Chave Tipo Descrição
key_id String

A impressão digital hexadecimal da chave pública. Para conferir a impressão digital, execute o seguinte comando:

openssl pkey -pubin -in public_key.pem -outform DER | openssl sha256

Onde public_key.pem é a chave pública no formato PEM.

signature String A assinatura codificada em base64 para um payload associado ao contêiner assinado e que segue o formato de assinatura simples.
signature_algorithm String

O algoritmo usado para assinar a chave. Opções:

  • RSASSA_PSS_SHA256 (RSASSA-PSS com um resumo SHA-256)
  • RSASSA_PKCS1V15_SHA256 (RSASSA-PKCS1 v1_5 com um resumo SHA-256)
  • ECDSA_P256_SHA256 (ECDSA na curva P-256 com um resumo SHA-256)

A seguir