Men-deploy workload


Operator workload dapat meneruskan opsi ke VM workload Confidential Space untuk menentukan perilakunya sebelum dijalankan. Meskipun beberapa tanda memiliki nilai wajib yang tidak berubah, Anda tetap harus membuat pilihan berikut:

Berikut adalah contoh yang membuat Confidential VM di zona us-west1-b berdasarkan image Confidential Space produksi terbaru, dan menjalankan container Docker yang disebut WORKLOAD_CONTAINER_NAME:

gcloud compute instances create workload-vm-name \
    --confidential-compute-type=CONFIDENTIAL_COMPUTING_TECHNOLOGY \
    --machine-type=MACHINE_TYPE_NAME \
    --maintenance-policy=MAINTENANCE_POLICY \
    --shielded-secure-boot \
    --image-project=confidential-space-images \
    --image-family=IMAGE_FAMILY \
    --metadata="^~^tee-image-reference=us-docker.pkg.dev/WORKLOAD_AUTHOR_PROJECT_ID/REPOSITORY_NAME/WORKLOAD_CONTAINER_NAME:latest" \
    --service-account=WORKLOAD_SERVICE_ACCOUNT_NAME@WORKLOAD_OPERATOR_PROJECT_ID.iam.gserviceaccount.com \
    --scopes=cloud-platform \
    --zone=us-west1-b

Opsi yang digunakan dalam contoh ini dijelaskan dalam tabel berikut.

Flag Deskripsi
--confidential-compute-type

Wajib. Memberi tahu Compute Engine teknologi Confidential Computing yang akan digunakan saat membuat instance Confidential VM.

Ganti CONFIDENTIAL_COMPUTING_TECHNOLOGY dengan salah satu nilai berikut:

  • SEV
  • TDX

Teknologi Confidential Computing harus sesuai dengan kelompok image yang Anda pilih.

--machine-type Opsional. Menentukan nama jenis mesin Confidential VM. Lihat Konfigurasi yang didukung untuk jenis mesin yang mendukung AMD SEV dan Intel TDX.
--maintenance-policy Untuk jenis mesin N2D yang menggunakan SEV, tetapkan ini ke MIGRATE untuk dukungan migrasi langsung. Untuk semua jenis mesin lainnya, tetapkan nilai ini ke TERMINATE, karena tidak mendukung migrasi langsung.
--shielded-secure-boot Wajib. Memberi tahu Compute Engine untuk menggunakan Boot Aman untuk instance.
--image-project=confidential-space-images Wajib. Memberi tahu Compute Engine untuk mencari di project confidential-space-images image Confidential Space.

--image-family

Wajib. Memberi tahu Compute Engine untuk menggunakan image Confidential Space terbaru, yang merupakan bagian dari project confidential-space-images.

Untuk menggunakan image produksi dengan beban kerja akhir yang memproses data rahasia, ganti IMAGE_FAMILY dengan confidential-space.

Untuk menggunakan image debug untuk pemantauan dan proses debug, ganti IMAGE_FAMILY dengan confidential-space-debug.

Kelompok image yang Anda gunakan harus cocok dengan teknologi Confidential Computing yang Anda pilih.

--metadata

Wajib. Mengubah perilaku VM Confidential Space dengan meneruskan variabel. Kunci dan nilai tee-image-reference diperlukan dan memberi tahu instance VM untuk menjalankan container Docker yang ditentukan di atas image Confidential Space yang ditentukan.

Untuk pasangan nilai/kunci yang tersedia, lihat Variabel metadata.

--service-account Opsional. Akun layanan yang terpasang ke instance VM yang menjalankan workload, dan meniru identitas akun layanan yang terpasang ke kumpulan identitas workload di project lain. Jika tidak ditentukan, akun layanan Compute Engine default akan digunakan.
--scopes=cloud-platform Wajib. Menetapkan cakupan akses. Cakupan cloud-platform adalah cakupan OAuth untuk sebagian besar Google Cloud layanan, dan memungkinkan VM berkomunikasi dengan verifier pengesahan.
--zone

Wajib. Zona tempat instance VM berjalan. Ruang Privasi memerlukan layanan berikut, yang tersedia di lokasi tertentu:

Akun layanan terlampir

Akun layanan harus dilampirkan ke Confidential VM beban kerja untuk menjalankan beban kerja. Akun layanan harus disiapkan dengan cara berikut:

  • Dengan peran berikut:

  • Dengan akses baca ke tempat kolaborator data menyimpan data rahasia mereka, misalnya, bucket Cloud Storage atau tabel BigQuery.

  • Dengan akses tulis ke tempat workload harus mengeluarkan data, misalnya, bucket Cloud Storage. Kolaborator data harus memiliki akses baca ke lokasi ini.

Selain itu, kolaborator data dan operator beban kerja perlu menyiapkan hal-hal berikut:

  • Kolaborator data harus menambahkan akun layanan ke penyedia workload identity pool mereka sebagai kondisi atribut:

    'WORKLOAD_SERVICE_ACCOUNT_NAME@DATA_COLLABORATOR_PROJECT_ID.iam.gserviceaccount.com' in assertion.google_service_accounts
    
  • Operator beban kerja memerlukan peran roles/iam.serviceAccountUser untuk menyamar sebagai akun layanan. Hal ini memungkinkan mereka melampirkannya ke VM workload sehingga dapat menjalankan workload.

Variabel metadata

Anda dapat mengubah perilaku VM workload Confidential Space dengan meneruskan variabel ke opsi --metadata saat Anda membuat VM.

Untuk meneruskan beberapa variabel, tetapkan terlebih dahulu pembatas dengan menambahkan awalan nilai --metadata dengan ^~^. Tindakan ini menetapkan pembatas ke ~, karena , digunakan dalam nilai variabel.

Contoh:

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

Tabel berikut menjelaskan variabel metadata yang dapat Anda tetapkan untuk VM beban kerja.

Kunci metadata Jenis Deskripsi dan nilai

tee-image-reference

Berinteraksi dengan:

String

Wajib. Ini mengarah ke lokasi container workload.

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

tee-added-capabilities

Berinteraksi dengan:

Array string JSON

Menambahkan kemampuan Linux tambahan ke container workload.

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

tee-cgroup-ns

Berinteraksi dengan:

Boolean

Nilai defaultnya adalah false. Jika ditetapkan ke true, mengaktifkan pemasangan cgroup namespace di /sys/fs/cgroup.

Contoh
tee-cgroup-ns=true

tee-cmd

Berinteraksi dengan:

Array string JSON

Menggantikan petunjuk CMD yang ditentukan dalam Dockerfile container workload.

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

tee-container-log-redirect

Berinteraksi dengan:

String yang ditentukan

Menampilkan STDOUT dan STDERR dari container workload ke Cloud Logging atau konsol serial, di kolom confidential-space-launcher.

Nilai yang valid adalah:

  • false: (default) tidak ada logging.
  • true: output ke konsol serial dan Cloud Logging.
  • cloud_logging: hanya menghasilkan output ke Cloud Logging.
  • serial: output ke konsol serial saja.

Volume log yang tinggi di konsol serial dapat memengaruhi performa workload.

Contoh
tee-container-log-redirect=true

tee-dev-shm-size-kb

Bilangan bulat

Menetapkan ukuran dalam kB dari pemasangan memori bersama /dev/shm.

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

tee-env-ENVIRONMENT_VARIABLE_NAME

Berinteraksi dengan:

String

Menetapkan variabel lingkungan dalam container beban kerja. Penulis beban kerja juga harus menambahkan nama variabel lingkungan ke kebijakan peluncuran allow_env_override , atau variabel tersebut tidak akan ditetapkan.

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

tee-impersonate-service-accounts

Berinteraksi dengan:

String

Daftar akun layanan yang dapat ditiru identitasnya oleh operator workload. Operator workload harus diizinkan untuk meniru identitas akun layanan.

Beberapa akun layanan dapat dicantumkan, yang dipisahkan dengan koma.

Contoh
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-monitoring-memory-enable

Berinteraksi dengan:

Boolean

Nilai defaultnya adalah false. Jika disetel ke true, mengaktifkan pemantauan penggunaan memori. Metrik yang dikumpulkan oleh Confidential VM berjenis guest/memory/bytes_used dan dapat dilihat di Cloud Logging atau Metrics Explorer.

Contoh
tee-monitoring-memory-enable=true

tee-mount

Berinteraksi dengan:

String

Daftar definisi pemasangan yang dipisahkan dengan titik koma. Definisi pemasangan terdiri dari daftar pasangan nilai kunci yang dipisahkan koma, yang memerlukan type, source, dan destination. destination harus berupa jalur absolut dan type/source harus berupa tmpfs.

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

tee-restart-policy

Berinteraksi dengan:

String yang ditentukan

Kebijakan mulai ulang peluncur container saat workload berhenti

Nilai yang valid adalah:

  • Never (default)
  • Always
  • OnFailure

Variabel ini hanya didukung oleh image Confidential Space produksi.

Contoh
tee-restart-policy=OnFailure

tee-signed-image-repos

Berinteraksi dengan:

String

Daftar repositori penampung yang dipisahkan koma yang menyimpan tanda tangan yang dihasilkan oleh Sigstore Cosign.

Contoh
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

Penskalaan

Untuk penskalaan dan ketersediaan tinggi workload Ruang Rahasia produksi, lihat Managed Instance Groups.