Variabili dei metadati del carico di lavoro

Puoi modificare il comportamento della VM di workload di Confidential Space passando le variabili all'opzione --metadata quando crei la VM.

Per passare più variabili, imposta prima il delimitatore aggiungendo il prefisso ^~^ al valore --metadata. In questo modo, il delimitatore viene impostato su ~, poiché , viene utilizzato nei valori delle variabili.

Ad esempio:

metadata="^~^tee-restart-policy=Always~tee-image-reference=us-docker.pkg.dev/WORKLOAD_AUTHOR_PROJECT_ID/REPOSITORY_NAME/WORKLOAD_CONTAINER_NAME:latest"

La tabella seguente descrive in dettaglio le variabili dei metadati che puoi impostare per la VM del workload.

Chiave dei metadati Tipo Descrizione e valori

tee-image-reference

Interazione con:

Stringa

Obbligatorio. Questo punta alla posizione del container del workload.

Esempio
tee-image-reference=us-docker.pkg.dev/WORKLOAD_AUTHOR_PROJECT_ID/REPOSITORY_NAME/WORKLOAD_CONTAINER_NAME:latest

ita-api-key

Stringa

Obbligatorio solo se utilizzi Intel Trust Authority come servizio di attestazione. Imposta il valore sulla chiave API Intel Trust Authority.

Consulta la documentazione di Intel per scoprire come creare una chiave API Intel Trust Authority.

Intel Trust Authority supporta le istanze VM Intel TDX che facoltativamente hanno una GPU NVIDIA H100. Se la GPU è presente, viene verificata anche la sua prova.

Esempio
ita-api-key=API_KEY

ita-region

Stringa

Obbligatorio solo se utilizzi Intel Trust Authority come servizio di attestazione. Imposta il valore sulla regione in cui vuoi eseguire Intel Trust Authority. Le regioni valide sono:

  • Stati Uniti: https://api.trustauthority.intel.com
  • Europa: https://api.eu.trustauthority.intel.com

Intel Trust Authority supporta le istanze VM Intel TDX che facoltativamente hanno una GPU NVIDIA H100. Se la GPU è presente, viene verificata anche la sua prova.

Esempio
ita-region=REGION_NAME

tee-added-capabilities

Interazione con:

Array di stringhe JSON

Aggiunge ulteriori funzionalità Linux al container del workload.

Esempio
tee-added-capabilities="[\"CAP_SYS_ADMIN\", \"CAP_SYS_CHROOT\"]"

tee-cgroup-ns

Interazione con:

Booleano

Il valore predefinito è false. Se impostato su true, attiva un montaggio cgroup con spazio dei nomi in /sys/fs/cgroup.

Esempio
tee-cgroup-ns=true

tee-cmd

Interazione con:

Array di stringhe JSON

Esegue l'override delle istruzioni CMD specificate nel Dockerfile del container del workload.

Esempio
tee-cmd="[\"params1\", \"params2\"]"

tee-container-log-redirect

Interazione con:

Enumerazione

Invia STDOUT e STDERR dal container del workload a Cloud Logging o alla console seriale, utilizzando il campo confidential-space-launcher.

I valori validi sono:

  • false: (valore predefinito) non viene eseguito alcun logging.
  • true: output sulla console seriale e su Cloud Logging.
  • cloud_logging: output solo in Cloud Logging.
  • serial: l'output viene inviato solo alla console seriale.

Un volume di log elevato nella console seriale potrebbe influire sulle prestazioni del workload.

Esempio
tee-container-log-redirect=true

tee-dev-shm-size-kb

Numero intero

Imposta le dimensioni in kB del punto di montaggio della memoria condivisa /dev/shm.

Esempio
tee-dev-shm-size-kb=65536

tee-env-ENVIRONMENT_VARIABLE_NAME

Interazione con:

Stringa

Imposta le variabili di ambiente nel container del workload. L'autore del workload deve anche aggiungere i nomi variabile di ambiente alla policy di lancio allow_env_override, altrimenti non verranno impostati.

Esempio
tee-env-example-env-1='value-1'~tee-env-example-env-2='value-2'

tee-impersonate-service-accounts

Interazione con:

Stringa

Un elenco di service account di cui l'operatore del workload può simulare l'identità. L'operatore del workload deve essere autorizzato a simulare l'identità dei service account.

È possibile elencare più service account, separati da virgole.

Esempio
tee-impersonate-service-accounts=SERVICE_ACCOUNT_NAME_1@WORKLOAD_OPERATOR_PROJECT_ID.,SERVICE_ACCOUNT_NAME_2@WORKLOAD_OPERATOR_PROJECT_ID.

tee-install-gpu-driver

Interazione con:

Booleano

Se installare il driver GPU Confidential Computing di NVIDIA. Richiede un tipo di macchina che supporti NVIDIA Confidential Computing.

Esempio
tee-install-gpu-driver=true

tee-monitoring-memory-enable

Interazione con:

Booleano

Il valore predefinito è false. Se impostato su true, attiva il monitoraggio della memoria utilizzata. Le metriche raccolte dalla Confidential VM sono di tipo guest/memory/bytes_used e possono essere visualizzate in Cloud Logging o in Esplora metriche.

Esempio
tee-monitoring-memory-enable=true

tee-mount

Interazione con:

Stringa

Un elenco di definizioni di montaggio separate da punti e virgola. Una definizione di montaggio è costituita da un elenco separato da virgole di coppie chiave-valore, che richiede type, source e destination. destination deve essere un percorso assoluto e type/source deve essere tmpfs.

Esempio
type=tmpfs,source=tmpfs,destination=/tmp/tmpfs,size=12345;type=tmpfs,source=tmpfs,destination=/run/workload

tee-nonroot-container

Interazione con:

Booleano

Il valore predefinito è false. Se impostato su true, il container viene eseguito in uno spazio dei nomi utente isolato come utente non root sulla VM host. Questa variabile deve essere impostata su true se l'autore del workload imposta tee.launch_policy.nonroot_container su nonrootonly.

Esempio
tee-nonroot-container=true

tee-restart-policy

Interazione con:

Enumerazione

La policy di riavvio dell'utilità di avvio del container quando il workload si arresta.

I valori validi sono:

  • Never (valore predefinito)
  • Always
  • OnFailure

Questa variabile è supportata solo dall'immagine Confidential Space di produzione.

Esempio
tee-restart-policy=OnFailure

tee-signed-image-repos

Interazione con:

Stringa

Un elenco di repository di container separati da virgole che archiviano le firme generate da Sigstore Cosign.

Esempio
tee-signed-image-repos=us-docker.pkg.dev/projectA/repo/example,us-docker.pkg.dev/projectB/repo/example,us-docker.pkg.dev/projectC/repo/example