Secara default, Google Cloud otomatis mengenkripsi data saat dalam penyimpanan menggunakan kunci enkripsi yang dikelola oleh Google. Jika Anda memiliki persyaratan kepatuhan atau peraturan khusus yang terkait dengan kunci yang melindungi data, Anda dapat menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) untuk tugas pelatihan Anda.
Anda dapat membaca lebih lanjut manfaat spesifik penggunaan CMEK dengan AI Platform Training di bagian berikut dalam panduan ini. Untuk mengetahui informasi selengkapnya tentang CMEK secara umum, termasuk waktu dan alasan mengaktifkannya, lihat Dokumentasi Cloud Key Management Service.
Panduan ini menjelaskan beberapa manfaat menggunakan CMEK untuk AI Platform Training dan panduan cara mengonfigurasi tugas pelatihan untuk menggunakan CMEK.
Memahami CMEK untuk Pelatihan AI Platform
Bagian berikut menjelaskan informasi dasar tentang CMEK untuk Pelatihan AI Platform yang harus Anda pahami sebelum mengonfigurasi CMEK untuk tugas pelatihan.
Manfaat CMEK
Secara umum, CMEK paling berguna jika Anda memerlukan kontrol penuh atas kunci yang digunakan untuk mengenkripsi data Anda. Dengan CMEK, Anda dapat mengelola kunci dalam Cloud KMS. Misalnya, Anda dapat merotasi atau menonaktifkan kunci, atau bisa juga menyiapkan jadwal rotasi menggunakan Cloud KMS API. Untuk mengetahui informasi selengkapnya tentang CMEK secara umum, termasuk waktu dan alasan mengaktifkannya, lihat Dokumentasi Cloud KMS.
Saat Anda menjalankan tugas pelatihan, kode Anda akan berjalan pada satu atau beberapa instance virtual machine (VM) yang dikelola oleh AI Platform Training. Saat Anda mengaktifkan CMEK untuk AI Platform Training, kunci yang Anda tetapkan, bukan kunci yang dikelola oleh Google, digunakan untuk mengenkripsi data pada boot disk VM ini. Kunci CMEK mengenkripsi jenis data berikut:
- Salinan kode pelatihan Anda di VM.
- Data apa pun yang dimuat oleh kode pelatihan Anda.
- Semua data sementara yang disimpan ke disk lokal oleh kode pelatihan Anda.
Kunci CMEK tidak mengenkripsi metadata yang terkait dengan tugas pelatihan Anda, seperti nama dan region tugas. Metadata yang terkait dengan tugas pelatihan selalu dienkripsi menggunakan mekanisme enkripsi default Google.
Menggunakan CMEK dengan produk Google Cloud lainnya
Mengonfigurasi CMEK untuk Pelatihan AI Platform tidak otomatis mengonfigurasi CMEK untuk produk Google Cloud lain yang Anda gunakan bersama dengan AI Platform Training. Untuk menggunakan CMEK guna mengenkripsi data di produk Google Cloud lainnya, konfigurasi tambahan diperlukan. Contoh:
Cloud Storage: Saat Anda menjalankan tugas container non-kustom, Pelatihan AI Platform akan memuat aplikasi pelatihan Anda dari bucket Cloud Storage. Selain itu, sebagian besar tugas pelatihan juga mengekspor artefak model terlatih (misalnya, direktori SaveModel TensorFlow) ke bucket Cloud Storage sebagai bagian dari output-nya.
Untuk memastikan data Anda di Cloud Storage dienkripsi dengan CMEK, baca panduan Cloud Storage untuk menggunakan kunci enkripsi yang dikelola pelanggan. Anda dapat menetapkan kunci enkripsi sebagai kunci default untuk bucket Cloud Storage yang digunakan dengan AI Platform Training, atau menggunakannya untuk mengenkripsi objek tertentu.
Container Registry: Saat Anda menjalankan tugas container kustom, AI Platform Training akan memuat image container Anda dari Container Registry.
Untuk memastikan bahwa image container Anda dienkripsi dengan CMEK, baca panduan Container Registry untuk menggunakan kunci enkripsi yang dikelola pelanggan.
Cloud Logging: Saat Anda menjalankan tugas pelatihan, AI Platform Training akan menyimpan log ke Logging. Log ini tidak dienkripsi dengan CMEK. Namun, jika menggunakan Router Log, Anda dapat mengonfigurasi CMEK untuk file sementara tertentu yang dibuat oleh Router Log.
Batasan
Anda tidak dapat menggunakan CMEK dengan AI Platform Training dalam situasi berikut:
- Anda tidak dapat menggunakan CMEK dengan tugas pelatihan yang menggunakan TPU.
- Jika Anda mulai menggunakan AI Platform Training and Prediction API pada tahun 2017 atau sebelumnya dan mengirimkan tugas pelatihan dengan CMEK, Anda mungkin akan mengalami error yang menjelaskan mekanisme autentikasi lama yang tidak kompatibel. Dalam hal ini, buat project Google Cloud baru atau pilih project lain untuk menjalankan tugas Pelatihan AI Platform Anda.
Mengonfigurasi CMEK untuk tugas pelatihan Anda
Bagian berikut menjelaskan cara membuat keyring dan kunci di Cloud Key Management Service, memberikan izin encoder dan pendekripsi Pelatihan AI Platform untuk kunci Anda, serta membuat tugas pelatihan yang menggunakan CMEK.
Sebelum memulai
Panduan ini mengasumsikan bahwa Anda menggunakan dua project Google Cloud yang terpisah untuk mengonfigurasi CMEK untuk pelatihan:
- Project untuk mengelola kunci enkripsi Anda (disebut sebagai "project Cloud KMS").
- Project untuk mengakses Pelatihan AI Platform, mengelola data atau output pelatihan di Cloud Storage, dan berinteraksi dengan produk Google Cloud lainnya yang Anda perlukan untuk kasus penggunaan Anda (disebut sebagai "Project AI Platform").
Penyiapan yang direkomendasikan ini mendukung pemisahan tugas.
Atau, Anda dapat menggunakan satu project Google Cloud untuk seluruh panduan. Untuk melakukannya, gunakan project yang sama untuk semua tugas berikut yang merujuk ke project Cloud KMS dan tugas yang merujuk ke project AI Platform.
Menyiapkan project Cloud KMS
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Aktifkan API Cloud KMS.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Aktifkan API Cloud KMS.
Menyiapkan project AI Platform
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Aktifkan API AI Platform Training & Prediction.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Aktifkan API AI Platform Training & Prediction.
Menyiapkan Google Cloud CLI
Gcloud CLI diwajibkan untuk beberapa langkah dalam panduan ini, dan bersifat opsional untuk langkah lainnya.Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:
gcloud init
Membuat key ring dan kunci
Ikuti Panduan Cloud KMS untuk membuat kunci simetris untuk membuat key ring dan kunci. Saat Anda membuat key ring, tentukan wilayah yang mendukung AI Platform Training sebagai lokasi key ring. AI Platform Training hanya mendukung CMEK jika tugas dan kunci pelatihan Anda menggunakan region yang sama. Anda tidak boleh menentukan lokasi dual-regional, multi-regional, atau global untuk key ring.
Pastikan untuk membuat key ring dan kunci di project Cloud KMS Anda.
Memberikan izin AI Platform Training
Agar dapat menggunakan CMEK untuk tugas pelatihan, Anda harus memberikan izin AI Platform Training untuk mengenkripsi dan mendekripsi data menggunakan kunci Anda. AI Platform Training menggunakan akun layanan yang dikelola Google untuk menjalankan tugas pelatihan Anda. Akun layanan ini diidentifikasi oleh alamat email dengan format berikut:
service-AI_PLATFORM_PROJECT_NUMBER@cloud-ml.google.com.iam.gserviceaccount.com
Untuk menemukan akun layanan yang sesuai dengan project AI Platform Anda, buka halaman IAM di Konsol Google Cloud dan temukan anggota yang cocok dengan format alamat email ini, dengan nomor project untuk project AI Platform Anda yang menggantikan variabel AI_PLATFORM_PROJECT_NUMBER. Akun layanan juga memiliki nama Google Cloud ML Engine Service Agent
.
Catat alamat email untuk akun layanan ini, dan gunakan dalam langkah-langkah berikut guna memberi akan layanan tersebut izin untuk mengenkripsi dan mendekripsi data menggunakan kunci Anda. Anda dapat memberikan izin menggunakan Konsol Google Cloud atau Google Cloud CLI:
Konsol Google Cloud
Di konsol Google Cloud, buka halaman Cryptographic Keys dan pilih project Cloud KMS Anda.
Klik nama key ring yang Anda buat di bagian sebelumnya dalam panduan ini untuk membuka halaman Key ring details.
Centang kotak untuk kunci yang Anda buat di bagian sebelumnya dalam panduan ini. Jika panel info yang berlabel nama kunci Anda belum terbuka, klik Show info panel.
Di panel info, klik
Add member untuk membuka dialog Add members to "KEY_NAME". Dalam dialog ini, lakukan hal berikut:- Di kotak New members, masukkan alamat email akun layanan yang Anda catat di bagian sebelumnya:
service-AI_PLATFORM_PROJECT_NUMBER@cloud-ml.google.com.iam.gserviceaccount.com
Di menu drop-down Select a role, klik Cloud KMS, lalu pilih peran Cloud KMS Encrypter/Decrypter.
Klik Simpan.
- Di kotak New members, masukkan alamat email akun layanan yang Anda catat di bagian sebelumnya:
gcloud
Jalankan perintah berikut:
gcloud kms keys add-iam-policy-binding KEY_NAME \
--keyring=KEY_RING_NAME \
--location=REGION \
--project=KMS_PROJECT_ID \
--member=serviceAccount:service-AI_PLATFORM_PROJECT_NUMBER@cloud-ml.google.com.iam.gserviceaccount.com \
--role=roles/cloudkms.cryptoKeyEncrypterDecrypter
Dalam perintah ini, ganti placeholder berikut:
- KEY_NAME: Nama kunci yang Anda buat di bagian sebelumnya dalam panduan ini.
- KEY_RING_NAME: Key ring yang Anda buat di bagian sebelumnya dalam panduan ini.
- REGION: Region tempat Anda membuat key ring.
- KMS_PROJECT_ID: ID project Cloud KMS Anda.
- AI_PLATFORM_PROJECT_NUMBER: Nomor project AI Platform Anda, yang telah Anda catat di bagian sebelumnya sebagai bagian dari alamat email akun layanan.
Membuat tugas pelatihan dengan CMEK
Setelah Anda memberikan izin Pelatihan AI Platform untuk mengenkripsi dan mendekripsi data
menggunakan kunci, Anda dapat membuat tugas pelatihan yang mengenkripsi data sementara menggunakan
kunci ini. Saat membuat tugas pelatihan, tentukan kolom encryptionConfig
di kolom trainingInput
tugas Anda.
Contoh berikut menunjukkan cara melakukannya menggunakan gcloud CLI. Saat ini, Anda tidak dapat membuat tugas pelatihan dengan CMEK di konsol Google Cloud.
Contoh ini mengasumsikan bahwa Anda memiliki aplikasi
pelatihan di sistem file lokal di
direktori bernama trainer
dengan modul bernama task
.
Buat file konfigurasi
config.yaml
yang berisi hal berikut:trainingInput: encryptionConfig: kmsKeyName: projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
Di file konfigurasi, ganti placeholder berikut:
- KMS_PROJECT_ID: ID project Cloud KMS Anda.
- KEY_RING_NAME: Nama key ring Anda.
- KEY_NAME: Nama kunci Anda.
Untuk membuat tugas pelatihan, jalankan perintah berikut:
gcloud ai-platform jobs submit training JOB_ID \ --config=config.yaml \ --job-dir=JOB_DIR \ --module-name=trainer.task \ --package-path=trainer \ --python-version=3.7 \ --region=REGION \ --runtime-version=2.11 \ --scale-tier=basic
Dalam perintah ini, ganti placeholder berikut:
- JOB_ID: Nama yang Anda pilih untuk pekerjaan.
JOB_DIR: Jalur ke direktori Cloud Storage tempat aplikasi pelatihan Anda diupload. Tugas pelatihan Anda juga dapat menggunakan direktori ini selama pelatihan; misalnya, untuk menyimpan output. Untuk memudahkan, pilih direktori di bucket Cloud Storage dalam project AI Platform Anda.
REGION: Wilayah tempat Anda membuat key ring dan tempat Anda berencana membuat tugas pelatihan.
Perintah ini menghasilkan output berikut jika berhasil:
Job [JOB_ID] submitted successfully. Your job is still active. You may view the status of your job with the command $ gcloud ai-platform jobs describe JOB_ID or continue streaming the logs with the command $ gcloud ai-platform jobs stream-logs JOB_ID jobId: JOB_ID state: QUEUED
Sekarang Anda dapat memantau tugas pelatihan.
Selain kolom region
dan encryptionConfig
, Anda dapat menyesuaikan konfigurasi tugas pelatihan untuk memenuhi kebutuhan Anda. Anda bahkan dapat menggunakan container kustom untuk pelatihan.
Langkah selanjutnya
- Pelajari lebih lanjut tentang CMEK di Google Cloud.
- Pelajari cara menggunakan CMEK dengan produk Google Cloud lainnya.
- Untuk mempelajari cara mengonfigurasi opsi tambahan selain CMEK, baca panduan untuk menjalankan tugas pelatihan.