Menggunakan akun layanan kustom

Anda dapat mengonfigurasi AI Platform Prediction untuk menggunakan akun layanan pilihan Anda saat menjalankan kode kustom untuk menayangkan prediksi. Secara khusus, Anda dapat menentukan akun layanan kustom saat melakukan salah satu hal berikut:

Dengan menggunakan akun layanan kustom, Anda dapat menyesuaikan resource Google Cloud yang dapat diakses kode penayangan kustom tanpa memberikan izin yang terlalu luas ke akun layanan yang digunakan AI Platform Prediction secara default.

Panduan ini berfokus pada izin resource AI Platform Prediction untuk mengakses resource Google Cloud lainnya. Untuk mempelajari izin yang Anda perlukan untuk mengakses resource AI Platform Prediction itu sendiri, baca Kontrol akses.

Memahami agen layanan

Secara default, AI Platform Prediction menggunakan agen layanan untuk menayangkan prediksi online dari versi model yang tidak menggunakan penampung kustom. Agen 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 konsol Google Cloud atau menggunakan Google Cloud CLI:

Konsol Google Cloud

Buka halaman IAM di konsol Google Cloud, pilih Sertakan pemberian peran yang disediakan Google, 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.

Buka halaman IAM

gcloud

Jalankan perintah berikut di lingkungan Shell tempat Anda telah melakukan inisialisasi 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 agen layanan AI Platform project Anda.

Agen layanan ini memiliki izin yang sesuai untuk sebagian besar versi model. Misalnya, bucket dapat membaca dari bucket Cloud Storage dalam project Google Cloud yang sama.

Jika Anda memerlukan rutinitas prediksi kustom untuk 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 lain.

Akun layanan yang digunakan secara default di penampung kustom

Jika versi model Anda menggunakan container kustom, secara default, container tersebut tidak berjalan menggunakan agen layanan AI Platform; sebagai gantinya, container tersebut berjalan menggunakan akun layanan yang dikelola oleh AI Platform Prediction. Akun layanan ini memiliki izin untuk membaca artefak model yang disediakan oleh AI Platform Prediction pada URI yang disimpan di AIP_STORAGE_URI variabel lingkungan.

Anda tidak dapat menyesuaikan izin akun layanan ini yang digunakan secara default dalam penampung kustom. Jika Anda ingin menyesuaikan izin yang tersedia untuk container 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 agen layanan.

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:

  1. Buat akun layanan yang dikelola pengguna.

  2. Berikan peran IAM akun layanan baru Anda untuk memberikan kode penayangan prediksi dengan izin yang diperlukan saat dijalankan.

  3. Jika akun layanan yang dikelola pengguna berada dalam project yang berbeda dengan versi model Anda, konfigurasi akun layanan yang dikelola pengguna sehingga dapat dilampirkan ke versi model Anda.

  1. Berikan peran Admin Akun Layanan (roles/iam.serviceAccountAdmin) kepada agen layanan AI Platform project Anda 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:

Menentukan akun layanan kustom untuk versi model Anda

Untuk memberi kode penayangan prediksi akses ke akun layanan kustom, tentukan kolom serviceAccount saat Anda membuat versi model. Ingat bahwa versi model harus menggunakan penampung 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:

Langkah selanjutnya