Variables de métadonnées de charge de travail

Vous pouvez modifier le comportement de la VM de charge de travail Confidential Space en transmettant des variables à l'option --metadata lorsque vous créez la VM.

Pour transmettre plusieurs variables, commencez par définir le délimiteur en préfixant la valeur --metadata avec ^~^. Cela définit le délimiteur sur ~, car , est utilisé dans les valeurs de variables.

Exemple :

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

Le tableau suivant détaille les variables de métadonnées que vous pouvez définir pour votre VM de charge de travail.

Clé de métadonnée Type Description et valeurs

tee-image-reference

Interagit avec :

Chaîne

Obligatoire. Cette valeur doit pointer vers l'emplacement du conteneur de la charge de travail.

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

ita-api-key

Chaîne

Requis uniquement si vous utilisez Intel Trust Authority comme service d'attestation. Définissez la valeur sur votre clé API Intel Trust Authority.

Consultez la documentation d'Intel pour savoir comment créer une clé API Intel Trust Authority.

Intel Trust Authority est compatible avec les instances de VM Intel TDX qui disposent éventuellement d'un GPU NVIDIA H100. Si le GPU est présent, sa preuve est également vérifiée.

Exemple
ita-api-key=API_KEY

ita-region

Chaîne

Requis uniquement si vous utilisez Intel Trust Authority comme service d'attestation. Définissez la valeur sur la région dans laquelle vous souhaitez exécuter Intel Trust Authority. Les régions valides sont les suivantes :

  • États-Unis : https://api.trustauthority.intel.com
  • Europe : https://api.eu.trustauthority.intel.com

Intel Trust Authority est compatible avec les instances de VM Intel TDX qui disposent éventuellement d'un GPU NVIDIA H100. Si le GPU est présent, sa preuve est également vérifiée.

Exemple
ita-region=REGION_NAME

tee-added-capabilities

Interagit avec :

Tableau de chaînes JSON

Ajoute des fonctionnalités Linux supplémentaires au conteneur de charge de travail.

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

tee-cgroup-ns

Interagit avec :

  • Auteur de la charge de travail : règle de lancement allow_cgroups.
Booléen

La valeur par défaut est false. Lorsque la valeur est définie sur true, active un montage cgroup d'espace de noms sur /sys/fs/cgroup.

Exemple
tee-cgroup-ns=true

tee-cmd

Interagit avec :

Tableau de chaînes JSON

Remplace les instructions CMD spécifiées dans le fichier Dockerfile du conteneur de charge de travail.

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

tee-container-log-redirect

Interagit avec :

  • Auteur de la charge de travail : règle de lancement log_redirect.
Enumeration

affiche STDOUT et STDERR du conteneur de charge de travail vers Cloud Logging ou la console série, à l'aide du champ confidential-space-launcher.

Les valeurs valides sont les suivantes :

  • false : (par défaut) aucune journalisation n'est effectuée.
  • true : sorties vers la console série et Cloud Logging.
  • cloud_logging : sortie vers Cloud Logging uniquement.
  • serial : sorties vers la console série uniquement.

Un volume de journaux élevé dans la console série peut avoir un impact sur les performances de la charge de travail.

Exemple
tee-container-log-redirect=true

tee-dev-shm-size-kb

Integer

Définit la taille en Ko de l'installation de mémoire partagée /dev/shm.

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

tee-env-ENVIRONMENT_VARIABLE_NAME

Interagit avec :

Chaîne

Définit les variables d'environnement dans le conteneur de charge de travail. L'auteur de la charge de travail doit également ajouter les noms des variables d'environnement à la règle de lancement allow_env_override, sinon elles ne seront pas définies.

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

tee-impersonate-service-accounts

Interagit avec :

Chaîne

Liste des comptes de service dont l'identité peut être empruntée par l'opérateur de charge de travail. L'opérateur de charge de travail doit être autorisé à emprunter l'identité des comptes de service.

Plusieurs comptes de service peuvent être répertoriés, séparés par une virgule.

Exemple
tee-impersonate-service-accounts=SERVICE_ACCOUNT_NAME_1@WORKLOAD_OPERATOR_PROJECT_ID.iam.gserviceaccount.com,SERVICE_ACCOUNT_NAME_2@WORKLOAD_OPERATOR_PROJECT_ID.iam.gserviceaccount.com

tee-install-gpu-driver

Interagit avec :

Booléen

Indique s'il faut installer le pilote de GPU informatique confidentielle de NVIDIA. Nécessite un type de machine compatible avec l'informatique confidentielle NVIDIA.

Exemple
tee-install-gpu-driver=true

tee-monitoring-memory-enable

Interagit avec :

Booléen

La valeur par défaut est false. Lorsque la valeur est définie sur true, active la surveillance de l'utilisation de la mémoire. Les métriques collectées par Confidential VM sont de type guest/memory/bytes_used et peuvent être consultées dans Cloud Logging ou dans l' explorateur de métriques.

Exemple
tee-monitoring-memory-enable=true

tee-mount

Interagit avec :

Chaîne

Liste de définitions d'installation séparées par un point-virgule. Une définition d'installation se compose d'une liste de paires clé/valeur séparées par une virgule, nécessitant type, source et destination. destination doit être un chemin absolu et type/source doit être tmpfs.

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

tee-nonroot-container

Interagit avec :

Booléen

La valeur par défaut est false. Lorsqu'il est défini sur true, le conteneur s'exécute dans un espace de noms utilisateur isolé en tant qu'utilisateur non racine sur la VM hôte. Cette variable doit être définie sur true si l'auteur de la charge de travail définit tee.launch_policy.nonroot_container sur nonrootonly.

Exemple
tee-nonroot-container=true

tee-restart-policy

Interagit avec :

Enumeration

Règle de redémarrage du lanceur de conteneurs lorsque la charge de travail s'arrête.

Les valeurs valides sont les suivantes :

  • Never (par défaut)
  • Always
  • OnFailure

Cette variable n'est compatible qu'avec l'image Confidential Space de production.

Exemple
tee-restart-policy=OnFailure

tee-signed-image-repos

Interagit avec :

Chaîne

Liste de dépôts de conteneurs séparés par une virgule qui stockent les signatures générées par Sigstore Cosign.

Exemple
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