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 |
aud |
String |
Die Zielgruppe. Für das Standardtoken, das mit einem Workload Identity-Pool verwendet wird, ist die Zielgruppe 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:
|
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, wodurch sichergestellt wird, 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. |
swname |
String |
Der Name des genehmigten Betriebssystems für die VM. Mögliche Werte sind |
swversion |
String-Array |
Die Version des Betriebssystems. Der Wert ist ein String-Array, das nur einen Wert enthält. Die Version hat das Format |
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 | Gibt an, 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 |
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:
|
Nächste Schritte
Weitere Informationen zu Attestationsansprüchen finden Sie im IETF-Entwurf The Entity Attestation Token (EAT).
Weitere Informationen zu OpenID-Token-Ansprüchen finden Sie in der OpenID Connect Core 1.0-Dokumentation.