Mengonfigurasi Kunci Enkripsi yang Dikelola Pelanggan (CMEK) untuk sandbox

Enkripsi data sandbox dalam penyimpanan dengan kunci Cloud Key Management Service yang Anda miliki dan kontrol.

Ringkasan

Secara default, Cloud de Confiance by S3NS mengenkripsi data Anda saat istirahat dengan Google Cloud-powered encryption keys. Dengan kunci enkripsi yang dikelola pelanggan (CMEK), Anda dapat membuat dan mengelola kunci enkripsi Cloud Key Management Service sehingga Anda dapat mengaudit penggunaannya, merotasinya, serta menonaktifkan atau menghancurkannya untuk membuat data yang dilindungi tidak dapat dibaca.

Sandbox Gemini Enterprise Agent Platform menjalankan kode, browser, atau penampung kustom agen Anda di lingkungan yang terisolasi. Lingkungan tersebut menulis konten pelanggan ke disk dan dapat di-checkpoint ke snapshot, yang dilindungi CMEK saat Anda mengaktifkannya di instance Gemini Enterprise Agent Platform induk sandbox.

Anda hanya dapat mengonfigurasi CMEK untuk sandbox Gemini Enterprise Agent Platform saat membuat instance Gemini Enterprise Agent Platform. Kunci CMEK mengamankan instance Gemini Enterprise Agent Platform dan sub-resource-nya, termasuk lingkungan sandbox, template, dan snapshot.

Yang dienkripsi CMEK untuk sandbox

Mengaktifkan CMEK di instance Gemini Enterprise Agent Platform induk mengenkripsi permukaan saat istirahat sandbox dengan kunci Anda:

  • Disk booting / sistem file root node GKE: File yang ditulis sesi saat runtime dan status dalam memori yang di-paging ke disk (CMEK disk booting node).
  • Bucket Cloud Storage snapshot: Checkpoint disk dan memori sandbox (snapshot) (enkripsi default bucket).

Metadata resource (nama, label, status, info koneksi), serta variabel lingkungan dan email akun layanan tidak dienkripsi dengan kunci CMEK.

Untuk mengenkripsi image container kustom, tetapkan CMEK di repositori Artifact Registry Anda sendiri.

Batasan dan pertimbangan

  • Hanya kunci satu region yang didukung untuk CMEK di Gemini Enterprise Agent Platform. Kunci multi-region, region ganda, dan global tidak didukung.
  • Kunci tidak dapat diubah saat Anda membuat instance Gemini Enterprise Agent Platform. Untuk menggunakan kunci yang berbeda, Anda harus membuat instance Gemini Enterprise Agent Platform baru. Rotasi ke versi baru dari kunci yang sama didukung dan diterapkan secara otomatis.
  • Jika Anda menonaktifkan atau menghancurkan versi kunci, atau mencabut peran Encrypter/Decrypter, sandbox tidak dapat disediakan atau dilanjutkan, dan penulisan snapshot akan gagal. Pulihkan akses kunci untuk memulihkan resource sandbox.

Sebelum memulai

  • Memiliki atau membuat key ring dan kunci Cloud Key Management Service. Sebagai praktik terbaik, simpan kunci di project terpisah dari beban kerja Gemini Enterprise Agent Platform Anda, yang dikelola oleh administrator yang berbeda.
  • Pastikan Anda memiliki peran untuk membuat dan mengelola kunci (roles/cloudkms.admin) serta untuk membuat instance Gemini Enterprise Agent Platform.
  • Buat agen layanan Agent Runtime, jika Anda belum melakukannya:

    # Create the service agent if needed
    gcloud beta services identity create \
        --service=aiplatform.googleapis.com \
        --project=PROJECT_ID
    

Membuat kunci Cloud Key Management Service

Buat kunci satu region di region yang sama dengan instance Gemini Enterprise Agent Platform Anda:

# Key ring (once per region)
gcloud kms keyrings create sandbox-keyring \
    --location=REGION

# Key
gcloud kms keys create sandbox-key \
    --location=REGION \
    --keyring=sandbox-keyring \
    --purpose=encryption

Ganti kode berikut:

  • REGION: Region Cloud de Confiance instance Gemini Enterprise Agent Platform Anda (misalnya, us-central1).

Memberi agen layanan Agent Platform akses ke kunci Anda

Berikan peran Pengenkripsi/Pendekripsi CryptoKey Cloud Key Management Service (roles/cloudkms.cryptoKeyEncrypterDecrypter) kepada agen layanan Agent Runtime pada kunci:

# Grant Encrypter/Decrypter on the key
gcloud kms keys add-iam-policy-binding sandbox-key \
    --location=REGION \
    --keyring=sandbox-keyring \
    --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-aiplatform-re.s3ns-system.iam.gserviceaccount.com" \
    --role="roles/cloudkms.cryptoKeyEncrypterDecrypter"

Ganti kode berikut:

  • PROJECT_NUMBER: Nomor project Cloud de Confiance by S3NS Anda.

Mengaktifkan CMEK di instance Agent Platform

Tetapkan encryption_spec.kms_key_name saat Anda membuat instance Gemini Enterprise Agent Platform. Setiap template sandbox dan sandbox yang Anda buat di bawahnya akan mewarisi kunci ini.

Python SDK

import vertexai

client = vertexai.Client(project="PROJECT_ID", location="REGION",
                        http_options={"api_version": "v1beta1"})
agent_instance = client.agent_engines.create(
    config={
        "encryption_spec": {
            "kms_key_name":
                "projects/PROJECT_ID/locations/REGION/keyRings/sandbox-keyring/cryptoKeys/sandbox-key"
        }
    },
)

REST

Dengan menggunakan REST API, tetapkan nilai yang sama di reasoningEngines.encryptionSpec.kmsKeyName saat membuat:

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/reasoningEngines \
  -d '{
    "display_name": "cmek-protected-engine",
    "encryption_spec": {
      "kms_key_name": "projects/PROJECT_ID/locations/REGION/keyRings/sandbox-keyring/cryptoKeys/sandbox-key"
    }
  }'

Membuat sandbox dan memverifikasi konfigurasi CMEK

  1. Buat template dan sandbox Anda di instance Gemini Enterprise Agent Platform yang dilindungi CMEK.
  2. Konfirmasi bahwa instance Gemini Enterprise Agent Platform melaporkan kunci Anda di encryption_spec.kms_key_name dengan mendapatkan detail instance.
  3. Atau, periksa log audit Cloud Key Management Service untuk mengonfirmasi bahwa operasi enkripsi dan dekripsi terjadi saat sandbox dimulai dan snapshot ditulis.

Langkah berikutnya