Feedback geben
Attestierungs-Assertions
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Weitere Informationen zur Verwendung von Attestierungsbehauptungen finden Sie unter Attestierungsrichtlinie erstellen .
Die verfügbaren Zusicherungen zum Erstellen einer Attestrichtlinie sind in der folgenden Tabelle aufgeführt. Mit Richtlinien können Assertions validiert werden, die vom Confidential Space-Image, vom Arbeitslastcontainer und von der VM-Instanz gemacht werden.
Bildbehauptungen
Assertion
Typ
Beschreibung
assertion.dbgstat
Interagiert mit:
Definierter String
Prüft, ob das Confidential Space-Image die Debugging- oder Produktionsversion ist.
Die gültigen Werte sind:
enable
: Prüfen Sie, ob das Debug-Image verwendet wird.
disabled-since-boot
: Prüfen Sie, ob das Produktions-Image verwendet wird.
Beispiele
Der folgende Code prüft, ob die Debugging-Version des Confidential Space-Images verwendet wird:
assertion.dbgstat == "enable"
Der folgende Code prüft, ob die Produktionsversion des Confidential Space-Images verwendet wird:
assertion.dbgstat == "disabled-since-boot"
assertion.submods.confidential_space.support_attributes
String-Array
Prüft, ob die Sicherheitsversion des TEE ein Confidential Space-Produktions-Image ist. Für Debug-Images im Confidential Space ist kein Attribut „support“ festgelegt.
Es gibt drei Supportattribute:
LATEST
: Dies ist die aktuelle Version des Images und sie wird unterstützt. Das LATEST
-Bild ist auch STABLE
und USABLE
.
STABLE
: Diese Version des Images wird unterstützt und auf Sicherheitslücken überwacht. Ein STABLE
-Bild ist auch USABLE
.
USABLE
: Ein Image mit nur diesem Attribut wird nicht mehr unterstützt und nicht mehr auf Sicherheitslücken überwacht. Sie gehen dabei auf eigenes Risiko vor.
EXPERIMENTAL
: Ein Bild mit nur diesem Attribut
nutzt Vorschaufunktionen. Es ist nur für Testzwecke vorgesehen und sollte niemals in der Produktion verwendet werden. Ein EXPERIMENTAL
-Bild hat nie die Attribute LATEST
, STABLE
oder USABLE
.
Achtung : Da das Standardtoken für Confidential Space stündlich aktualisiert wird, wird die Angabe von LATEST
für lang andauernde Arbeitslasten nicht empfohlen. Das Confidential Space-Image wird möglicherweise aktualisiert, während Ihre Arbeitslast ausgeführt wird. Das bedeutet, dass die Arbeitslast nicht mehr die neueste Version verwendet und die Attestierung fehlschlägt.
Beispiel
Der folgende Code prüft, ob eine stabile Version des Confidential Space-Images verwendet wird:
"STABLE" in assertion.submods.confidential_space.support_attributes
assertion.swname
Definierter String
Verifiziert die Software, die auf der attestierenden Entität ausgeführt wird. Der Wert ist immer CONFIDENTIAL_SPACE
.
Beispiel
assertion.swname == "CONFIDENTIAL_SPACE"
assertion.swversion
String-Array
Verifiziert die Softwareversion des Confidential Space-Image. Wir empfehlen, stattdessen assertion.submods.confidential_space.support_attributes
zu verwenden, um auf die aktuelle Version eines Bildes auszurichten.
Beispiel
int(assertion.swversion[0]) == 230103
Container-Assertions
Assertion
Typ
Beschreibung
assertion.submods.container.cmd_override
Interagiert mit:
String-Array
Verifiziert die
CMD -Befehle und -Parameter, die im Arbeitslast-Image verwendet werden.
Beispiele
Mit dem folgenden Code wird überprüft, ob der CMD des Arbeitslast-Images überschrieben wurde:
size(assertion.submods.container.cmd_override) == 0
Der folgende Code prüft, ob program
der einzige Inhalt in den CMD-Überschreibungen ist:
assertion.submods.container.cmd_override == ['program']
assertion.submods.container.env
Interagiert mit:
JSON-Objekt
Wird verwendet, um zu verifizieren, dass Umgebungsvariablen und deren Werte explizit an den Container übergeben wurden.
Beispiel
Der folgende Code prüft, ob die Umgebungsvariable example-env-1
auf value-1
und example-env-2
auf value-2
festgelegt ist.
assertion.submods.container.env == {"example-env-1": "value-1", "example-env-2": "value-2"}
assertion.submods.container.env_override
Interagiert mit:
String
Prüft, ob der Arbeitslastoperator Umgebungsvariablen im Container überschrieben hat.
Beispiele
Der folgende Code prüft, ob der Workload-Operator die Umgebungsvariable example
überschrieben hat:
!has(assertion.submods.container.env_override.example)
Der folgende Code prüft, ob der Arbeitslastoperator Umgebungsvariablen überschrieben hat:
size(assertion.submods.container.env_override) == 0
assertion.submods.container.image_digest
String
Verifiziert den Image-Digest des Arbeitslastcontainers. Durch die Angabe dieser Bedingung können mehrere Parteien einer autorisierten Arbeitslast zustimmen, die auf ihre Daten zugreifen darf.
Beispiel
assertion.submods.container.image_digest == "sha256:837ccb607e312b170fac7383d7ccfd61fa5072793f19a25e75fbacb56539b86b"
assertion.submods.container.image_id
String
Verifiziert die Image-ID des Arbeitslastcontainers.
Beispiel
assertion.submods.container.image_id == "sha256:652a44b0e911271ba07cf2915cd700fdfa50abd62a98f87a57fdebc59843d93f"
assertion.submods.container.image_reference
Interagiert mit:
String
Verifiziert den Speicherort des Arbeitslastcontainers, der auf dem Confidential Space-Image ausgeführt wird.
Beispiel
assertion.submods.container.image_reference == "us-docker.pkg.dev/PROJECT_ID/WORKLOAD_CONTAINER:latest"
assertion.submods.container.image_signatures
Interagiert mit:
JSON-Objekt
Prüft, ob das Bild eine bestimmte Signatur hat oder mit einem öffentlichen Schlüssel und einem Signaturalgorithmus signiert ist. Durch die Angabe dieser Bedingung können mehrere Parteien einer autorisierten Arbeitslast zustimmen, die auf ihre Daten zugreifen darf.
Die Assertion kann die folgenden Elemente enthalten:
key_id
: 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
: Die Signatur für eine Nutzlast, die dem signierten Container zugeordnet ist und dem -Format entspricht.
signature_algorithm
: 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)
Beispiel
assertion.swname == 'CONFIDENTIAL_SPACE' && ['ECDSA_P256_SHA256:PUBLIC_KEY_FINGERPRINT '].exists(fingerprint, fingerprint in assertion.submods.container.image_signatures.map(sig, sig.signature_algorithm+':'+sig.key_id)) && 'serviceaccount.iam.gserviceaccount.com' in assertion.google_service_accounts"
assertion.submods.container.restart_policy
Interagiert mit:
Definierter String
Überprüft die Neustartrichtlinie des Container-Launchers, wenn die Arbeitslast beendet wird.
Die gültigen Werte sind:
Never
(Standard)
Always
OnFailure
Beispiel
assertion.submods.container.restart_policy == "Never"
VM-Assertions
Assertion
Typ
Beschreibung
assertion.google_service_accounts
Interagiert mit:
String-Array
Prüft, ob ein angegebenes Dienstkonto mit der VM verbunden ist, auf der die Arbeitslast ausgeführt wird, oder mit
tee-impersonate-service-accounts
in den VM-Metadaten aufgeführt wurde.
Beispiel
workload-service-account@my-project.iam.gserviceaccount.com in assertion.google_service_accounts
assertion.hwmodel
String
Überprüft die zugrunde liegende Confidential Computing-Technologie. Die unterstützten Plattformen sind:
Beispiel
assertion.hwmodel == "GCP_AMD_SEV"
assertion.submods.confidential_space.monitoring_enabled
Interagiert mit:
Boolesch
Überprüft den Monitoring-Status auf der attestierenden Entität.
Beispiel
assertion.submods.confidential_space.monitoring_enabled.memory == true
assertion.submods.gce.instance_id
String
Überprüft die VM-Instanz-ID.
Beispiel
assertion.submods.gce.instance_id == "0000000000000000000"
assertion.submods.gce.instance_name
String
Überprüft den Namen der VM-Instanz.
Beispiel
assertion.submods.gce.instance_name == "workload-vm"
assertion.submods.gce.project_id
String
Prüft, ob auf der VM ein Google Cloud -Projekt mit der angegebenen Projekt-ID ausgeführt wird.
Beispiel
assertion.submods.gce.project_id == "project-id"
assertion.submods.gce.project_number
String
Prüft, ob die VM in einem Google Cloud -Projekt mit der angegebenen Projektnummer ausgeführt wird.
Beispiel
assertion.submods.gce.project_number == "00000000000"
assertion.submods.gce.zone
Interagiert mit:
Arbeitslastoperator : Der Wert
--zone
.
String
Prüft, ob die VM in der angegebenen Zone ausgeführt wird.
Beispiel
assertion.submods.gce.zone == "us-central1-a"
assertion.submods.nvidia_gpu.cc_mode
Interagiert mit:
Definierter String
Prüft den Status des Confidential Computing-Treibers von NVIDIA.
Die gültigen Werte sind:
OFF
: Keine der NVIDIA Confidential Computing-Funktionen ist aktiv.
ON
: Die Hardware, Firmware und Software von NVIDIA H100 haben die Funktionen für vertrauliches Computing vollständig aktiviert.
DEVTOOLS
: Die GPU befindet sich in einem partiellen vertraulichen Computing-Modus, der den Arbeitsabläufen des ON
-Modus entspricht, aber Sicherheitsfunktionen deaktiviert.
Beispiel
assertion.submods.nvidia_gpu.cc_mode == "ON"
Feedback geben
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers . Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2025-08-18 (UTC).
Haben Sie Feedback für uns?
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-08-18 (UTC)."],[[["\u003cp\u003eAttestation policies can validate assertions made by the Confidential Space image, the workload container, and the VM, using a variety of assertions.\u003c/p\u003e\n"],["\u003cp\u003eImage assertions, such as \u003ccode\u003eassertion.dbgstat\u003c/code\u003e and \u003ccode\u003eassertion.submods.confidential_space.support_attributes\u003c/code\u003e, verify the software version and security attributes of the Confidential Space image.\u003c/p\u003e\n"],["\u003cp\u003eContainer assertions, such as \u003ccode\u003eassertion.submods.container.cmd_override\u003c/code\u003e and \u003ccode\u003eassertion.submods.container.env\u003c/code\u003e, verify the configuration and integrity of the workload container, including environment variables and command overrides.\u003c/p\u003e\n"],["\u003cp\u003eVM assertions, including \u003ccode\u003eassertion.google_service_accounts\u003c/code\u003e and \u003ccode\u003eassertion.hwmodel\u003c/code\u003e, verify details about the virtual machine environment, such as service accounts, hardware model, and project information.\u003c/p\u003e\n"],["\u003cp\u003eThe table provided lists a multitude of assertions that can be used to create and enforce an attestation policy, with each assertion's type and a specific description.\u003c/p\u003e\n"]]],[],null,[]]