Google Cloud-Attestierungstoken-Claims

In diesem Dokument werden die Claims in Google Cloud-Attestierungstokens beschrieben. Die Tokens sind Entity Attestation Tokens (EATs), die als JSON-Webtokens (JWTs) codiert sind. JWTs können mit Tools wie https://jwt.io/ decodiert werden.

Die Ansprüche werden am well-known-Endpunkt für die Google Cloud-Attestierung definiert.

Beispiele für decodierte Tokens

Die Ansprüche in einem Google Cloud-Attestierungstoken variieren je nach der in Ihrer Confidential VM-Instanz verwendeten Confidential Computing-Technologie.

AMD SEV

Hier sehen Sie ein Beispiel für ein decodiertes AMD SEV-Bestätigungstoken:

{
  "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

Im Folgenden finden Sie ein Beispiel für ein decodiertes Intel TDX-Attestierungstoken:

{
  "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"
  ]
}

Token-Ansprüche

In der folgenden Tabelle werden die allgemeinen Behauptungen in einem Google Cloud-Attestierungstoken beschrieben. Diese Ansprüche entsprechen der OpenID Connect 1.0-Spezifikation.

well-known-Endpunktwerte Beschreibung
claims_supported Weitere Informationen finden Sie unter Ansprüche auf höchster Ebene.
id_token_signing_alg_values_supported Die vom Token unterstützten Signaturalgorithmen (alg-Werte). Confidential VM unterstützt den RS256-Algorithmus.
issuer

Das HTTPS-Schema, das von Confidential VM als Aussteller-ID verwendet wird.

Der Wert ist https://confidentialcomputing.googleapis.com.

jwks_uri

Der Pfad zu den öffentlichen Schlüsseln, die zum Überprüfen der Tokensignatur verwendet werden. Sie können diese Schlüssel in einem Cloud Storage-Bucket veröffentlichen.

Die jwks_uri-Schlüssel finden Sie unter https://www.googleapis.com/service_accounts/v1/metadata/jwk/signer@confidentialspace-sign.iam.gserviceaccount.com.

Ein Beispielwert ist https://example.storage.googleapis.com/jwks.json.

response_types_supported Die Liste der unterstützten Confidential VM-Antworttypen. Confidential VM unterstützt id_token.
scopes_supported Die OAuth 2.0-Bereichswerte, die von der Confidential VM-Instanz unterstützt werden. Confidential VM unterstützt nur openid.
subject_types_supported Die von Confidential VM unterstützten Subjekt-ID-Typen. Confidential VM unterstützt public.

Behauptungen der obersten Ebene

In der folgenden Tabelle werden die unterstützten Claims der obersten Ebene in einem Google Cloud-Attestierungstoken beschrieben.

Anforderung Typ Beschreibung
aud String

Die Zielgruppe. Für das Standardtoken, das mit einem Workload Identity-Pool verwendet wird, ist die Zielgruppe https://sts.googleapis.com. Dieses Token wird stündlich vom Launcher in der Confidential VM-Instanz abgerufen.

Bei Tokens mit benutzerdefinierten Zielgruppen wird die Zielgruppe aus der Zielgruppe in der Tokenanfrage übernommen. Die maximale Länge beträgt 512 Bytes.

dbgstat String Der Debugging-Status der Hardware. Nicht für AMD SEV verfügbar.
eat_nonce String oder String-Array Einen oder mehrere Nounces für das Attestierungstoken. Die Werte werden aus den Tokenoptionen übernommen, die in der benutzerdefinierten Tokenanfrage gesendet wurden. Jeder Nonce muss zwischen 10 und 74 Byte (einschließlich) lang sein. Es sind maximal sechs Nounces zulässig.
eat_profile String Der URI des EAT-Profils (Entity Attestation Token), das das Tokenschema definiert. Der Wert ist https://cloud.google.com/confidential-computing/confidential-vm/docs/token-claims.
exp Ganzzahl, Unix-Zeitstempel Die Ablaufzeit, nach der das Token nicht mehr für die Verarbeitung akzeptiert werden darf. Der Wert ist eine JSON-Zahl, die die Anzahl der Sekunden ab 1970-01-01T0:0:0Z in UTC bis zum Ablaufdatum darstellt.
google_service_accounts String-Array Die validierten Dienstkonten, mit denen die Confidential VM-Arbeitslast ausgeführt wird.
hwmodel String

Die eindeutige Kennung für das Hardware-Token. Die Kennzeichnung muss einer der folgenden Werte sein:

  • GCP_AMD_SEV
  • GCP_AMD_SEV_ES
  • GCP_SHIELDED_VM
  • GCP_INTEL_TDX
iat Ganzzahl, Unix-Zeitstempel Der Zeitpunkt, zu dem das JWT ausgestellt wurde. Der Wert ist eine JSON-Zahl, die die Anzahl der Sekunden von 1970-01-01T0:0:0Z bis zum Zeitpunkt des Problems in UTC darstellt.
iss String Der Aussteller des Tokens, der auf https://confidentialcomputing.googleapis.com gesetzt ist.
nbf Ganzzahl, Unix-Zeitstempel Die Zeit, nach der das JWT verarbeitet werden darf. Der Wert ist eine JSON-Zahl, die die Anzahl der Sekunden seit 1970-01-01T0:0:0Z in UTC angibt.
oemid Uint64 Die Private Enterprise Number (PEN) von Google ist 11129.
secboot Boolesch Ob Secure Boot aktiviert ist. Dadurch wird sichergestellt, dass die Firmware und das Betriebssystem während des VM-Bootvorgangs authentifiziert werden.
sub String

Das Subjekt, das die VM-Instanz identifiziert:

  • Bei AMD SEV-Instanzen ist dies die selfLink-URL der Instanz: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME.
  • Bei Intel TDX-Instanzen ist dies der Compute Engine-Ressourcenname mit unveränderlichen numerischen IDs: //compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/INSTANCE_ID.
submods Array Ein Array verschiedener Behauptungen. Weitere Informationen finden Sie unter Submod-Ansprüche.
swname String

Der Name des genehmigten Betriebssystems für die VM.

Der Wert ist immer GCE.

tdx Objekt Ein Objekt mit Ansprüchen für Intel TDX-Instanzen. Weitere Informationen finden Sie unter Intel TDX-Ansprüche.

Aussagen zu Intel TDX

In der folgenden Tabelle werden die tdx-Claims in einem Google Cloud-Attestierungstoken für Intel TDX-Instanzen beschrieben.

Anforderung Typ Beschreibung
tcb_evaluation_data_number Uint32 Monoton steigende TCB Evaluation Data Number (TCB-Bewertungsdatennummer) von Intel, die mit dem FMSPC der Plattform aus den Intel TCB-Informationen verknüpft ist.
gcp_attester_tcb_date String Zeitstempel (UTC) der Intel TCB-Bewertungs-Baseline.
mrtd1 String (hexadezimal) Messung der Inhalte der ersten Vertrauensdomäne und der virtuellen Firmware (OVMF).
rtmr01 String (hexadezimal) Laufzeitmessungsregister 0 (virtuelle Firmwarekonfiguration und Systemparameter).
rtmr1 String (hexadezimal) Laufzeitmessungsregister 1 (Messungen des Bootloaders und des Kernels des Gastbetriebssystems).
rtmr2 String (hexadezimal) Laufzeitmessungsregister 2 (erste RAM-Disk (initramfs) und Kernel-Befehlszeile).
rtmr3 String (hexadezimal) Laufzeitmessung 3 (Laufzeiterweiterungen und Anwendungen für Kunden).
fmspc String (hexadezimal) 6‑Byte-SKU für Familie, Modell und Stepping für die Suche im Intel Provisioning Certification Service (PCS).
tee_tcb_svn String (hexadezimal) 16‑Byte-Array mit den Sicherheitsversionsnummern der TDX‑TCB-Komponenten beim Start der Trust Domain.
pcesvn Uint16 SVN der Provisioning Certification Enclave (PCE).
sgx_tcb_comp_svn String (hexadezimal) 16‑Byte-Array mit den Sicherheitsversionsnummern der Intel SGX TCB-Komponenten.
xfam String (hexadezimal) 8‑Byte-Maske der aktivierten erweiterten CPU-Funktionen.
tdattributes String (hexadezimal) 8‑Byte-Bitmap der Attribute für die Ausführung von Gerätebäumen.
1 Verwenden Sie diese Messungen nicht in Zugriffsrichtlinien. Sie sind von Änderungen an der zugrunde liegenden Infrastruktur betroffen, z. B. Firmware-Updates, die jederzeit erfolgen können. Diese Messungen dienen in erster Linie der Transparenz.

Ansprüche von Unter-Mods

In der folgenden Tabelle werden die submods-Claims in einem Google Cloud-Attestierungstoken beschrieben.

Anforderung Typ Beschreibung
gce Objekt Weitere Informationen finden Sie unter Compute Engine-Ansprüche.

Compute Engine-Ansprüche

In der folgenden Tabelle werden die gce-Claims in einem Google Cloud-Attestierungstoken beschrieben.

Anforderung Typ Beschreibung
instance_id String Die VM-Instanz-ID.
instance_name String Der Name der VM-Instanz.
project_id String Die Projekt-ID des Projekts, in dem die VM ausgeführt wird.
project_number String Die Projektnummer des Projekts, in dem die VM ausgeführt wird.
zone String Die Compute Engine-Zone, in der die Confidential VM-Instanz ausgeführt wird.

Nächste Schritte