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, anhand derer PKI-Tokens validiert werden sollen. Sie können das Root-Zertifikat vom PKI-Token-Bestätigungsendpunkt herunterladen.
JSON-Nutzlast
attester_tcb String-Array

Eine oder mehrere TCB-Komponenten (Trusted Computing Base). Mit dieser Behauptung wird die Quelle des Attestierungsnachweises angegeben.

Für hwmodel claim "GCP_INTEL_TDX" in Confidential Space ist der Wert auf ["INTEL"] festgelegt. Das bedeutet, dass der Attestation Root of Trust aus Intel-spezifischer 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 stündlich vom Launcher in der Confidential VM-Instanz abgerufen.

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

dbgstat String Der Debug-Status der Hardware. Bei Produktionsabbildern ist der Wert disabled-since-boot. In Debug-Images ist der Wert enabled.
eat_nonce String oder String-Array Eine oder mehrere Nonces für das Attestierungstoken. Die Werte werden aus den Tokenoptionen übernommen, die in der Anfrage für das benutzerdefinierte Token gesendet wurden. Jedes Nonce muss zwischen 8 und 88 Byte lang sein. Es sind maximal sechs Nonces zulässig.
exp Ganzzahl, Unix-Zeitstempel Die Ablaufzeit, an oder nach der das Token nicht mehr zur Verarbeitung akzeptiert werden darf. Der Wert ist eine JSON-Zahl, die die Anzahl der Sekunden von 1970-01-01T0:0:0Z (gemessen in UTC) bis zum Ablaufzeitpunkt angibt.
google_service_accounts String-Array Die bestätigten Dienstkonten, auf denen die Confidential Space-Arbeitslast ausgeführt wird.
hwmodel String

Die eindeutige Kennung für das Hardware-Token. Folgende Werte sind zulässig:

  • GCP_AMD_SEV
  • GCP_AMD_SEV_ES
  • GCP_SHIELDED_VM
  • GCP_INTEL_TDX
https://aws.amazon.com/tags Object Weitere Informationen finden Sie unter AWS-Anspruch auf Haupt-Tag.
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 (gemessen in UTC) bis zum Zeitpunkt des Auftretens des Problems angibt.
iss String Der Aussteller des Tokens, der auf https://confidentialcomputing.googleapis.com festgelegt ist.
nbf Ganzzahl, Unix-Zeitstempel Die Zeit, vor der das JWT nicht mehr für die Verarbeitung verwendet werden kann.
oemid Uint64 Die Private Enterprise Number (PEN) von Google, also 11129.
secboot Boolesch 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, also die voll qualifizierte ID der virtuellen Maschine für die Confidential VM. 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 Ansprüche. Weitere Informationen finden Sie unter Anspruchsrechte von Submods.
tdx Array Eine Reihe verschiedener Ansprüche. Weitere Informationen finden Sie unter Intel TDX-Ansprüche.
swname String

Der Name des genehmigten Betriebssystems für die VM.

Mögliche Werte sind CONFIDENTIAL_SPACE und GCE. Der Wert CONFIDENTIAL_SPACE gilt nur für gehärtete 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 verwendeten Bild im selben Monat veröffentlicht wurden.

Intel TDX-Ansprüche

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

Schlüssel Typ Beschreibung
gcp_attester_tcb_status String

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

Dieser Anspruch gibt an, dass die TDX-TCB-Version zu Beginn des Firmware-Roll-outs von Google den Referenzwerten von Intel entsprach. Es kann jedoch nicht garantiert werden, dass die Google-Flotte immer auf dem neuesten Stand der Echtzeit-TCB-Referenzwerte von Intel ist.

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

Ansprüche von Untermoderatoren

In der folgenden Tabelle werden die submods-Anspruche 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 Objektarray Hier sehen Sie, welche Art von Systemüberwachung aktiviert ist. Der Wert kann {"memory":false} oder {"memory":true} sein.
container Object Weitere Informationen finden Sie unter Anspruchsrechte für Arbeitslastcontainer.
gce Object Siehe Compute Engine-Anspruchsrechte.

Arbeitslastcontainer-Anspruch

In der folgenden Tabelle werden die container-Anspruche im Attestierungstoken beschrieben. Weitere Informationen zu diesen Ansprüchen finden Sie unter Attestationsaussagen.

Schlüssel Typ Beschreibung
args String-Array Die vollständige argv, mit der der Container aufgerufen wird. Dieser Anspruch enthält den Pfad zum Einstiegspunkt des Containers und alle zusätzlichen Befehlszeilenargumente.
cmd_override String-Array Die CMD-Befehle und ‑Parameter, die im Arbeitslast-Image verwendet werden.
env Objektarray Die Umgebungsvariablen und ihre Werte, die explizit an den Container übergeben wurden.
env_override Objektarray Die überschriebenen Umgebungsvariablen im Container.
image_digest String Den 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 Objektarray Weitere Informationen finden Sie unter Anspruchsrechte für Container-Image-Signaturen.
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-Anspruch

In der folgenden Tabelle werden die gce-Anspruche 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 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 ausgeführt wird.

Ansprüche auf Container-Image-Signatur

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

Schlüssel Typ Beschreibung
key_id String

Der Hexadezimal-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 die einfache Signatur 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 SHA-256-Digest)
  • ECDSA_P256_SHA256 (ECDSA auf der P-256-Kurve mit einem SHA-256-Digest)

AWS-Anspruchsrechte für Haupt-Tags

In der folgenden Tabelle werden die AWS_PrincipalTag-Anspruche im Attestierungstoken beschrieben. Diese Ansprüche werden in den https://aws.amazon.com/tags-Ansprüche im principal_tags-Objekt im Attestierungstoken platziert. Weitere Informationen zur Struktur von https://aws.amazon.com/tags-Ansprüchen finden Sie unter AWS-Ansprüchen auf Haupt-Tags.

Schlüssel Typ Beschreibung
confidential_space.support_attributes String-Array

Abgeleitete Ansprüche auf Supportattribute Dies ist eine zusammengesetzte Stringdarstellung der ursprünglichen Ansprüche.

Wenn die ursprünglichen Ansprüche beispielsweise „Latest“, „Stable“ und „Usable“ lauten, enthält dieses Attribut „LATEST=STABLE=USABLE“. Wenn die ursprüngliche Beschwerde nur „Verwendbar“ lautet, enthält dieses Attribut „VERWENDBAR“.

container.image_digest String-Array Weitere Informationen finden Sie unter Anspruchsrechte für Arbeitslastcontainer.

Container-Image-Signaturen und -Digests werden nicht in einem einzigen 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 zusammenhängende Liste von Schlüssel-IDs für die Container-Image-Signatur. Dieses Feld steht für mehrere Signaturschlüssel-IDs, die innerhalb des Arrays zu einem einzelnen String zusammengeführt werden.

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

Container-Image-Signaturen und -Digests werden nicht in einem einzigen 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 auf Container-Image-Signatur finden Sie unter AWS-Richtlinien mit Ansprüchen auf Container-Image-Signatur.

gce.project_id String-Array Siehe Compute Engine-Anspruchsrechte.
gce.zone String-Array Siehe Compute Engine-Anspruchsrechte.

Nächste Schritte