Dokumen ini menunjukkan cara menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) untuk mengenkripsi dan mengontrol data tidak aktif di layanan cloud melalui Cloud Key Management Service. CMEK terintegrasi dengan penyesuaian kode untuk Gemini Code Assist. Gemini Code Assist tidak mendukung penggunaan kunci Cloud EKM.
Dalam dokumen ini, Anda akan melakukan hal berikut:
- Mempelajari cara membuat CMEK.
- Memberikan izin ke akun layanan Gemini Code Assist.
- Membuat indeks repositori kode dengan CMEK.
- Menghapus akses ke repositori CMEK.
Secara default, Gemini for Google Cloud mengenktipsi konten pelanggan yang tidak aktif. Gemini menangani enkripsi untuk Anda tanpa tindakan tambahan apa pun dari pihak Anda. Opsi ini disebut enkripsi default Google.
Jika ingin mengontrol kunci enkripsi, Anda dapat menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) di Cloud KMS dengan layanan terintegrasi CMEK, termasuk Gemini. Dengan menggunakan kunci Cloud KMS, Anda dapat mengontrol tingkat perlindungan , lokasi, jadwal rotasi, izin penggunaan dan akses, serta batasan kriptografisnya. Dengan Cloud KMS, Anda juga dapat melihat log audit dan mengontrol siklus proses kunci. Bukan Google yang memiliki dan mengelola kunci enkripsi kunci (KEK) simetris yang melindungi data Anda. Andalah yang mengontrol dan mengelola kunci ini di Cloud KMS.
Setelah Anda menyiapkan resource dengan CMEK, pengalaman mengakses resource Gemini Anda akan serupa dengan menggunakan enkripsi default Google. Untuk mengetahui informasi selengkapnya tentang opsi enkripsi, lihat Kunci enkripsi yang dikelola pelanggan (CMEK).
Sebelum memulai
-
Di konsol, aktifkan Cloud Shell. Google Cloud
Di lingkungan pengembangan tempat Anda menyiapkan gcloud CLI, jalankan perintah
gcloud components updateuntuk memastikan Anda telah mengupdate semua komponen gcloud CLI yang diinstal ke versi terbaru.gcloud components update
Membuat CMEK dan memberikan izin
Untuk membuat CMEK dan memberikan izin akun layanan Gemini Code Assist pada kunci, lakukan tugas berikut:
Di Google Cloud project tempat Anda ingin mengelola kunci, lakukan hal berikut:
Berikan peran IAM Pengenkripsi/Pendekripsi CryptoKey (
roles/cloudkms.cryptoKeyEncrypterDecrypter) ke akun layanan Gemini Code Assist. Berikan izin ini pada kunci yang Anda buat.Konsol
Buka Key management.
Pilih kunci yang Anda buat.
Berikan akses ke akun layanan Gemini Code Assist:
- Klik Add principal.
- Tambahkan akun layanan Gemini Code Assist. Akun
layanan ini adalah
service-PROJECT_NUMBER@gcp-sa-cloudaicompanions.iam.gserviceaccount.com, dengan PROJECT_NUMBER adalah nomor project dari Google Cloud project tempat Gemini Code Assist diaktifkan. - Di Select a role, pilih Cloud KMS > Cloud KMS CryptoKey Encrypter/Decrypter.
- Klik Save.
Ulangi langkah sebelumnya untuk memberikan akses ke akun yang akan membuat indeks repositori kode dengan CMEK.
Kembali ke halaman Key management , lalu pilih kunci lagi.
Pilih Show info panel. Anda akan melihat peran di kolom Role/Member.
gcloud CLI
Untuk memberikan akses ke akun layanan Gemini Code Assist, di lingkungan shell, gunakan perintah
kms keys add-iam-policy-binding:gcloud kms keys add-iam-policy-binding KEY_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --keyring=KEYRING_NAME \ --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-cloudaicompanion.iam.gserviceaccount.com" \ --role="roles/cloudkms.cryptoKeyEncrypterDecrypter"Ganti kode berikut:
- KEY_NAME: nama kunci.
- PROJECT_ID: ID project yang berisi kunci.
- LOCATION: lokasi kunci.
- KEYRING_NAME: nama key ring.
- PROJECT_NUMBER: nomor project dari project dengan Gemini Code Assist diaktifkan. Google Cloud
Ulangi langkah sebelumnya untuk memberikan akses ke akun yang akan membuat indeks repositori kode dengan CMEK.
Untuk mengetahui informasi selengkapnya tentang perintah ini, lihat
gcloud kms keys add-iam-policy-bindingdokumentasi.
Sekarang Anda dapat membuat indeks repositori kode dengan CMEK menggunakan API, dan menentukan kunci yang akan digunakan untuk enkripsi.
Membuat indeks repositori kode dengan CMEK
Untuk membuat repositori baru yang memiliki perlindungan CMEK, lakukan salah satu hal berikut:
gcloud CLI
Gunakan perintah gemini code-repository-indexes create command:
gcloud gemini code-repository-indexes create CODE_REPOSITORY_INDEX_NAME \
--location=LOCATION \
--kms-key="projects/KEY_PROJECT_ID/locations/LOCATION/keyRings/KEYRING_NAME/cryptoKeys/KEY_NAME"
Ganti kode berikut:
- CODE_REPOSITORY_INDEX_NAME: nama indeks repositori kode baru yang akan Anda buat.
- LOCATION: lokasi kunci.
- KEY_PROJECT_ID: ID project kunci.
- KEYRING_NAME: nama key ring.
- KEY_NAME: nama kunci.
API
Buat file JSON yang berisi informasi berikut:
{ "kmsKey": "projects/KEY_PROJECT_ID/locations/KEY_LOCATION/keyRings/KEYRING_NAME/cryptoKeys/KEY_NAME" }Ganti kode berikut:
KEY_PROJECT_ID: ID project kunciKEY_LOCATION: lokasi kunciKEYRING_NAME: nama key ringKEY_NAME: nama kunci
Gunakan perintah
cURLuntuk memanggil metodeprojects.locations.codeRepositoryIndexes.create:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://cloudaicompanion.googleapis.com/v1/projects/PROJECT_ID/locations/KEY_LOCATION/codeRepositoryIndexes?codeRepositoryIndexId=CODE_REPOSITORY_INDEX_NAME"Ganti kode berikut:
JSON_FILE_NAME: jalur untuk file JSON yang Anda buat di langkah sebelumnya.PROJECT_ID: ID project tempat repositori akan dibuat.KEY_LOCATION: lokasi tempat repositori akan dibuat, yang harus cocok dengan lokasi tempat CMEK berada.CODE_REPOSITORY_INDEX_NAME: nama indeks repositori kode baru yang akan Anda buat. Contoh,zg-btf-0001.
Respons akan menampilkan kumpulan entri log.
Menghapus akses ke repositori CMEK
Ada beberapa cara untuk menghapus akses ke repositori yang dienkripsi CMEK:
- Mencabut peran Pengenkripsi/Pendekripsi CryptoKey Cloud KMS dari akun layanan Gemini Code Assist menggunakan Google Cloud konsol atau gcloud CLI.
- Menonaktifkan CMEK untuk sementara.
- Menghancurkan CMEK secara permanen.
Sebaiknya cabut izin dari akun layanan Gemini Code Assist sebelum menonaktifkan atau menghancurkan kunci. Perubahan pada izin akan konsisten dalam hitungan detik, sehingga Anda dapat mengamati dampak dari menonaktifkan atau menghancurkan kunci.