Un operatore del carico di lavoro può passare opzioni alla VM del carico di lavoro Confidential Space per determinarne il comportamento.
Di seguito è riportato un esempio che crea una Confidential VM basata sull'immagine Confidential Space ed esegue un container Docker specificato per il carico di lavoro:
gcloud compute instances create workload-vm-name \
--confidential-compute \
--maintenance-policy=TERMINATE \
--shielded-secure-boot \
--image-project=confidential-space-images \
--image-family=confidential-space \
--metadata="^~^tee-image-reference=us-docker.pkg.dev/workload-author-project/workload-repository/workload-container:latest" \
--service-account=workload-service-account@workload-operator-project.iam.gserviceaccount.com \
--scopes=cloud-platform \
--zone=us-west1-b
Le opzioni utilizzate in questo esempio sono riportate nella tabella seguente.
Opzione | Descrizione |
---|---|
--confidential-compute |
Obbligatorio. Indica a Compute Engine di utilizzare una VM riservata per l'istanza. |
--maintenance-policy=TERMINATE |
Obbligatorio. Deve essere impostato su TERMINATE , in quanto le Confidential VM non supportano la migrazione live. |
--shielded-secure-boot |
Obbligatorio. Indica a Compute Engine di utilizzare Avvio protetto per l'istanza. |
|
Obbligatorio. Indica a Compute Engine di utilizzare l'immagine confidential-space , che fa parte del progetto immagine confidential-space-images . Puoi anche utilizzare un'immagine di debug per i test. Per i valori disponibili, vedi Immagini riservate. |
--metadata |
Obbligatorio. Cambia il comportamento della VM di Confidential Space passando le variabili. La chiave e il valore Per le coppie chiave/valore disponibili, consulta Variabili dei metadati. |
--service-account |
Obbligatorio. L'account di servizio collegato all'istanza VM che esegue il carico di lavoro. |
--scopes=cloud-platform |
Obbligatorio. Imposta l'ambito di accesso. L'ambito cloud-platform è un ambito OAuth per la
maggior parte dei servizi Google Cloud e consente alla VM di comunicare con lo strumento di verifica dell'attestazione.
|
--zone |
Obbligatorio. La zona in cui viene eseguita l'istanza VM. Confidential Space richiede Confidential Computing e Certificate Authority Service, disponibili in località specifiche. |
Immagini Confidential Space
L'immagine Confidential Space è disponibile in due varianti: produzione ed debug. Puoi specificare la variante da utilizzare con l'opzione --image-family
, insieme all'opzione --image-project=confidential-space-images
.
Valore famiglia di immagini | Descrizione |
---|---|
confidential-space |
L' immagine Confidential Space di produzione, che deve essere utilizzata per il carico di lavoro finale che elabora i dati riservati. È basato sui miglioramenti della sicurezza esistenti di Container-Optimized OS e aggiunge i seguenti vantaggi:
Esempio:
|
confidential-space-debug |
L'immagine di debug di Confidential Space, che è uguale all'immagine di produzione, ad eccezione dei seguenti dettagli:
L'immagine di debug deve essere utilizzata solo con dati non riservati. Esempio:
|
Variabili metadati
Puoi modificare il comportamento della VM di Confidential Space passando le variabili nell'opzione --metadata
.
Per trasmettere più variabili, imposta prima il delimitatore anteponendo il valore --metadata
a ^~^
. Questo imposta il delimitatore su ~
, poiché ,
viene utilizzato nei valori delle variabili.
Ad esempio:
metadata="^~^tee-image-reference=us-docker.pkg.dev/workload-author-project/workload-repository/workload-container:latest~tee-restart-policy=Always"
Puoi modificare il delimitatore cambiando il carattere tra ^
e ^
.
Alcune variabili di metadati possono essere verificate dai criteri di attestazione per decidere se il carico di lavoro deve essere autorizzato a eseguire e accedere a risorse riservate.
Chiave dei metadati | Tipo | Descrizione e valori |
---|---|---|
tee-image-reference |
String |
Obbligatorio. Deve puntare alla posizione del container del carico di lavoro. Esempio:
|
tee-cmd |
Array[String] |
Esegue l'override delle istruzioni CMD specificate nel file "Dockerfile" che ha creato il container del carico di lavoro. Esempio:
|
tee-container-log-redirect |
Boolean |
Restituisce gli output Esempio:
|
tee-env-ENVIRONMENT_VARIABLE_NAME |
String |
Imposta le variabili di ambiente nel container del carico di lavoro. Esempio:
|
tee-impersonate-service-account |
String |
Un elenco di account di servizio che possono essere impersonati dall'operatore del carico di lavoro. L'operatore del carico di lavoro deve essere autorizzato a impersonare gli account di servizio. È possibile elencare più account di servizio, separati da virgole. Esempio:
|
tee-restart-policy |
String |
Il criterio di riavvio di Avvio applicazioni quando il carico di lavoro viene arrestato. I valori validi includono Questa variabile è supportata solo dall'immagine di produzione. Esempio:
|