Anda dapat mengonfigurasi Prediksi AI Platform untuk menggunakan akun layanan pilihan Anda saat menjalankan kode kustom untuk menyajikan prediksi. Secara khusus, Anda dapat menentukan akun layanan kustom saat melakukan salah satu hal berikut:
- Buat versi model yang menggunakan penampung kustom.
- Buat versi model yang menggunakan rutinitas prediksi kustom.
Dengan akun layanan kustom, Anda dapat menyesuaikan resource Google Cloud yang dapat diakses oleh kode penayangan kustom Anda tanpa memberikan izin yang terlalu luas ke akun layanan yang digunakan secara default oleh AI Platform Prediction.
Panduan ini berfokus pada izin resource Prediksi AI Platform untuk mengakses resource Google Cloud lainnya. Untuk mempelajari izin yang Anda perlukan untuk mengakses resource Prediction AI Platform, baca Kontrol akses.
Memahami akun layanan yang dikelola Google
Secara default, AI Platform Prediction menggunakan akun layanan yang dikelola Google untuk menayangkan prediksi online dari versi model yang tidak menggunakan penampung kustom. Akun layanan ini diidentifikasi oleh alamat email dengan format berikut:
service-PROJECT_NUMBER@cloud-ml.google.com.iam.gserviceaccount.com
PROJECT_NUMBER diganti dengan nomor project untuk project Google Cloud Anda.
Temukan akun layanan yang sesuai untuk project Anda di Google Cloud Console atau dengan menggunakan Google Cloud CLI:
Konsol Google Cloud
Buka halaman IAM di Konsol Google Cloud,
pilih Include Google- provided role Grants
dan temukan akun utama yang
cocok dengan format alamat email yang dijelaskan sebelumnya di bagian ini. Akun
layanan juga memiliki nama Google Cloud ML Engine Service Agent
.
gcloud
Jalankan perintah berikut di lingkungan Shell tempat Anda menginisialisasi gcloud CLI:
gcloud projects get-iam-policy PROJECT_ID \
--flatten="bindings[].members" \
--format="table(bindings.members)" \
--filter="bindings.role:roles/ml.serviceAgent" \
| grep serviceAccount:
Ganti PROJECT_ID dengan ID project Google Cloud Anda.
Perintah ini menghasilkan output berikut:
serviceAccount:GOOGLE_MANAGED_SERVICE_ACCOUNT
GOOGLE_MANAGED_SERVICE_ACCOUNT adalah alamat email akun layanan yang dikelola Google AI Platform pada project Anda.
Akun layanan yang dikelola Google ini memiliki izin yang sesuai untuk sebagian besar versi model. Misalnya, aplikasi dapat membaca dari bucket Cloud Storage di project Google Cloud yang sama.
Jika rutinitas prediksi kustom perlu dijalankan dengan izin tambahan, Anda dapat menetapkan peran Identity and Access Management (IAM) tambahan ke akun layanan ini. Misalnya, Anda dapat memberinya akses ke bucket Cloud Storage di project Google Cloud lainnya.
Akun layanan yang digunakan secara default di penampung kustom
Jika versi model Anda menggunakan penampung kustom, secara default container tidak dijalankan menggunakan akun layanan yang dikelola Google AI Platform. Sebagai gantinya, container tersebut dijalankan menggunakan akun layanan yang dikelola oleh AI Platform Prediction. Akun layanan ini memiliki izin untuk membaca artefak model yang disediakan oleh AI Platform Prediction di URI yang disimpan di variabel lingkungan AIP_STORAGE_URI
.
Anda tidak dapat menyesuaikan izin akun layanan ini yang digunakan secara default dalam penampung kustom. Jika Anda ingin menyesuaikan izin yang tersedia untuk penampung kustom, baca bagian berikut untuk menggunakan akun layanan kustom dengan versi model Anda.
Menggunakan akun layanan kustom
Jika Anda ingin memberikan atau membatasi izin Google Cloud untuk versi model tertentu, gunakan akun layanan kustom sebagai pengganti akun layanan yang dikelola Google.
Untuk melakukannya, siapkan akun layanan kustom terlebih dahulu. Kemudian, tentukan akun layanan kustom saat Anda membuat versi model.
Menyiapkan akun layanan kustom
Untuk menyiapkan akun layanan kustom, lakukan hal berikut:
Berikan peran IAM akun layanan baru Anda untuk memberi kode penayangan prediksi Anda izin apa pun yang diperlukannya saat dijalankan.
Jika akun layanan yang dikelola pengguna berada dalam project yang berbeda dengan versi model Anda, konfigurasikan akun layanan yang dikelola pengguna sehingga Anda dapat menambahkannya ke versi model.
Beri akun layanan yang dikelola Google AI Platform pada project Anda peran Admin Akun Layanan (
roles/iam.serviceAccountAdmin
) untuk akun layanan kustom baru Anda. Untuk melakukannya, gunakan gcloud CLI untuk menjalankan perintah berikut:gcloud iam service-accounts add-iam-policy-binding \ --role=roles/iam.serviceAccountAdmin \ --member=serviceAccount:GOOGLE_MANAGED_SERVICE_ACCOUNT \ CUSTOM_SERVICE_ACCOUNT
Dalam perintah ini, ganti placeholder berikut:
GOOGLE_MANAGED_SERVICE_ACCOUNT: Alamat email
Google Cloud ML Engine Service Agent
project Anda. Pelajari cara menemukan alamat email ini di bagian sebelumnya dalam panduan ini.CUSTOM_SERVICE_ACCOUNT: Alamat email akun layanan yang dikelola pengguna baru yang baru saja Anda buat di langkah sebelumnya pada bagian ini.
Menentukan akun layanan kustom untuk versi model Anda
Untuk memberikan akses kode penayangan prediksi ke akun layanan kustom, tentukan kolom serviceAccount
saat Anda membuat versi model. Ingat kembali bahwa versi model harus menggunakan container kustom atau rutinitas prediksi kustom.
Jika menggunakan gcloud CLI untuk membuat versi model, Anda dapat menggunakan flag --service-account
dengan komponen gcloud beta
. Contoh:
gcloud beta ai-platform versions create VERSION \
--service-account CUSTOM_SERVICE_ACCOUNT \
...
Ganti kode berikut:
- VERSION: Nama untuk versi model.
- CUSTOM_SERVICE_ACCOUNT: Alamat email akun layanan yang dikelola pengguna yang Anda siapkan di bagian sebelumnya dalam panduan ini.
- ...: Opsi tambahan untuk versi model.
Langkah selanjutnya
Pelajari cara membuat versi model yang menggunakan penampung kustom
Pelajari cara membuat versi model yang menggunakan rutinitas prediksi kustom.
Pelajari selengkapnya tentang akun layanan.