Attestierungstoken-Anfragen


In der folgenden Tabelle werden die unterstützten Claims der obersten Ebene im Attestierungstoken beschrieben. Diese Elemente entsprechen der OpenID Connect 1.0-Spezifikation.

Weitere Informationen zu Attestierungstokens

Schlüssel Typ Beschreibung
Header
x5c String Nur in PKI-Tokens vorhanden. Die Zertifikatskette, mit der PKI-Tokens validiert werden sollen. Sie können das Root-Zertifikat vom PKI-Token-Validierungsendpunkt herunterladen.
JSON-Daten-Nutzlast
attester_tcb String-Array

Eine oder mehrere TCB-Komponenten (Trusted Computing Base). Mit diesem Anspruch wird die Quelle für die Attestierungsnachweise angegeben.

Für hwmodel claim "GCP_INTEL_TDX" in Confidential Space ist der Wert auf ["INTEL"] festgelegt. Das bedeutet, dass der Attestierungs-Root of Trust von einer Intel-spezifischen Hardwaretechnologie stammt.

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 jede Stunde 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. In Produktions-Images ist der Wert disabled-since-boot. In Debug-Bildern ist der Wert enabled.
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 8 und 88 Byte lang sein (einschließlich). Es sind maximal sechs Nounces zulässig.
exp Int, 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 bis zum Ablaufdatum in UTC angibt.
google_service_accounts String-Array Die validierten Dienstkonten, mit denen die Confidential Space-Arbeitslast ausgeführt wird.
hwmodel String

Die eindeutige Kennung für das Hardware-Token. Gültige Werte:

  • GCP_AMD_SEV
  • GCP_AMD_SEV_ES
  • GCP_SHIELDED_VM
  • GCP_INTEL_TDX
https://aws.amazon.com/tags Objekt Weitere Informationen finden Sie unter AWS-Hauptkontotag-Ansprüche.
iat Int, Unix-Zeitstempel Der Zeitpunkt, zu dem das JWT ausgestellt wurde. Der Wert ist eine JSON-Zahl, die die Anzahl der Sekunden ab 1970-01-01T0:0:0Z bis zum Zeitpunkt des Problems in UTC angibt.
iss String Der Aussteller des Tokens, der auf https://confidentialcomputing.googleapis.com gesetzt ist.
nbf Int, Unix-Zeitstempel Die Zeit, vor der das JWT nicht für die Verarbeitung verwendet werden kann.
oemid Uint64 Die Private Enterprise Number (PEN) von Google, die 11129 ist.
secboot Boolesch Gibt an, ob Secure Boot aktiviert ist. Dadurch wird sichergestellt, dass die Firmware und das Betriebssystem während des VM-Bootvorgangs authentifiziert wurden. Dieser Wert ist immer true.
sub String Das Subjekt, das die voll qualifizierte VM-ID für die Confidential VM ist. Beispiel: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_ID. Dieses Format wird als selfLink der Instanz bezeichnet.
submods Array Eine Reihe verschiedener Behauptungen. Weitere Informationen finden Sie unter Ansprüche für Submods.
tdx Array Eine Reihe verschiedener Behauptungen. Weitere Informationen finden Sie unter Intel TDX-Behauptungen.
swname String

Der Name des genehmigten Betriebssystems für die VM.

Mögliche Werte sind CONFIDENTIAL_SPACE und GCE. Der CONFIDENTIAL_SPACE-Wert gilt für gehärtete und Debug-Confidential Space-Images, die alle Validierungen bestanden haben.

swversion String-Array

Die Version des Betriebssystems. Der Wert ist ein String-Array, das nur einen Wert enthält.

Die Version hat das Format YYYYMM##, wobei ## ein Zähler für die Anzahl der Bilder ist, die vor dem im selben Monat verwendeten Bild veröffentlicht wurden.

Intel TDX-Ansprüche

In der folgenden Tabelle werden die tdx-Claims im Attestierungstoken beschrieben.

Schlüssel Typ Beschreibung
gcp_attester_tcb_status String

Ein Stringwert, der den TCB-Level-Status der Google Cloud Plattform darstellt, die ausgewertet wird. Weitere Informationen zu tcbStatus finden Sie in der Dokumentation zur Provisioning Certification Service API von Intel.

Diese Behauptung gibt an, dass die TDX-TCB-Version auf dem neuesten Stand der Referenzwerte von Intel war, als Google mit dem Firmware-Roll-out begann. Dies garantiert jedoch nicht, dass die Google-Flotte mit den TCB-Referenzwerten von Intel in Echtzeit auf dem neuesten Stand bleibt.

gcp_attester_tcb_date String Das TCB-Datum für die attestierende Google Cloud Plattform. Der Zeitwert ist UTC im ISO 8601-Format (YYYY-MM-DDThh:mm:ssZ).

Ansprüche von Unter-Mods

In der folgenden Tabelle werden die submods-Claims im Attestierungstoken beschrieben.

Schlüssel Typ Beschreibung
confidential_space.support_attributes String-Array Der Wert kann USABLE, STABLE und LATEST enthalten. Weitere Informationen finden Sie unter Lebenszyklus von Confidential Space-Images.
confidential_space.monitoring_enabled Objekt Zeigt an, welche Art von Systemmonitoring aktiviert ist. Der Wert kann {"memory":false} oder {"memory":true} sein.
container Objekt Weitere Informationen finden Sie unter Arbeitslastcontainer-Claims.
gce Objekt Weitere Informationen finden Sie unter Compute Engine-Ansprüche.

Ansprüche für Arbeitslastcontainer

In der folgenden Tabelle werden die container-Claims im Attestierungstoken beschrieben. Weitere Informationen zu diesen Behauptungen finden Sie unter Attestierungsbehauptungen.

Schlüssel Typ Beschreibung
args String-Array Die vollständige argv, mit der der Container aufgerufen wird. Dieser Anspruch umfasst den Einstiegspunktpfad des Containers und alle zusätzlichen Befehlszeilenargumente.
cmd_override String-Array Die CMD-Befehle und -Parameter, die im Arbeitslast-Image verwendet werden.
env Objekt Die Umgebungsvariablen und ihre Werte, die explizit an den Container übergeben wurden.
env_override Objekt Die überschriebenen Umgebungsvariablen im Container.
image_digest String Der Image-Digest des Arbeitslastcontainers.
image_id String Die Image-ID des Arbeitslastcontainers.
image_reference String Der Speicherort des im Confidential Space ausgeführten Arbeitslastcontainers.
image_signatures Objekt-Array Weitere Informationen finden Sie unter Container-Image-Signaturansprüche.
restart_policy String Die Neustart-Richtlinie des Container-Launchers, wenn die Arbeitslast beendet wird. Gültige Werte sind Always, OnFailure und Never. Der Standardwert ist Never.

Compute Engine-Ansprüche

In der folgenden Tabelle werden die gce-Claims im Attestierungstoken beschrieben.

Schlüssel Typ Beschreibung
instance_id String Die VM-Instanz-ID.
instance_name String Der Name der VM-Instanz.
project_id String Die Projekt-ID für das Projekt, in dem die VM ausgeführt wird.
project_number String Die Projektnummer für das Projekt, in dem die VM ausgeführt wird.
zone String Die Compute Engine-Zone, in der die Confidential VM ausgeführt wird.

Ansprüche für Container-Image-Signaturen

In der folgenden Tabelle werden die image_signatures-Claims im Attestierungstoken beschrieben.

Schlüssel Typ Beschreibung
key_id String

Der hexadezimale Fingerabdruck des öffentlichen Schlüssels. Führen Sie den folgenden Befehl aus, um den Fingerabdruck abzurufen:

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

Dabei ist public_key.pem Ihr öffentlicher Schlüssel im PEM-Format.

signature String Die base64-codierte Signatur für eine Nutzlast, die mit dem signierten Container verknüpft ist und dem Format für einfache Signaturen entspricht.
signature_algorithm String

Der Algorithmus, der zum Signieren des Schlüssels verwendet wird. Eines der folgenden Betriebssysteme:

  • RSASSA_PSS_SHA256 (RSASSA-PSS mit einem SHA-256-Digest)
  • RSASSA_PKCS1V15_SHA256 (RSASSA-PKCS1 v1_5 mit einem SHA-256-Digest)
  • ECDSA_P256_SHA256 (ECDSA auf der P-256-Kurve mit einem SHA-256-Digest)

AWS-Haupt-Tag-Ansprüche

In der folgenden Tabelle werden die AWS_PrincipalTag-Claims im Attestierungstoken beschrieben. Diese Ansprüche werden in den https://aws.amazon.com/tags-Ansprüchen im principal_tags-Objekt im Attestierungstoken platziert. Informationen zur https://aws.amazon.com/tags-Anspruchsstruktur finden Sie unter AWS-Principal-Tag-Ansprüche.

Schlüssel Typ Beschreibung
confidential_space.support_attributes String-Array

Abgeleiteter Anspruch auf Supportattribute Dies ist eine verkettete Stringdarstellung der ursprünglichen Ansprüche.

Wenn die ursprünglichen Behauptungen beispielsweise „Latest“, „Stable“ und „Usable“ sind, enthält dieses Attribut „LATEST=STABLE=USABLE“. Wenn der ursprüngliche Anspruch nur „Usable“ (Verwendbar) ist, enthält dieses Attribut „USABLE“.

container.image_digest String-Array Weitere Informationen finden Sie unter Arbeitslastcontainer-Claims.

Container-Image-Signaturen und ‑Digests werden nicht zusammen in einem einzelnen Token angezeigt. Wenn Sie also container.image_digest in Ihren AWS-Richtlinien verwenden, müssen Sie alle Verweise auf container.signatures.key_ids entfernen.

container.signatures.key_id String-Array

Eine verkettete Liste von Schlüssel-IDs für Container-Image-Signaturen. Dieses Feld enthält mehrere Signaturschlüssel-IDs, die in einem einzelnen String im Array zusammengefasst sind.

Wenn Sie beispielsweise die Schlüssel-IDs aKey1, zKey2 und bKey3 haben, enthält dieser Anspruch den Wert aKey1=bKey3=zKey2.

Container-Image-Signaturen und ‑Digests werden nicht zusammen in einem einzelnen Token angezeigt. Wenn Sie also container.signatures.key_ids in Ihren AWS-Richtlinien verwenden, müssen Sie alle Verweise auf container.image_digest entfernen.

Weitere Informationen zu Ansprüchen für Container-Image-Signaturen finden Sie unter AWS-Richtlinien mit Ansprüchen für Container-Image-Signaturen.

gce.project_id String-Array Weitere Informationen finden Sie unter Compute Engine-Ansprüche.
gce.zone String-Array Weitere Informationen finden Sie unter Compute Engine-Ansprüche.

Nächste Schritte