Menggunakan akun layanan khusus

Panduan ini menjelaskan cara mengonfigurasi Gemini Enterprise Agent Platform untuk menggunakan akun layanan kustom dalam skenario berikut:

Kapan harus menggunakan akun layanan kustom

Saat berjalan, Agent Platform umumnya bertindak dengan izin salah satu dari beberapa akun layanan yang dibuat dan dikelola Google untuk project Google Cloud Anda. Untuk memberi Platform Agen peningkatan akses ke layanan Google Cloud lainnya dalam konteks tertentu, Anda dapat menambahkan peran tertentu ke agen layanan Platform Agen.

Namun, menyesuaikan izin agen layanan mungkin tidak memberikan kontrol akses mendetail yang Anda inginkan. Beberapa kasus penggunaan umum mencakup:

  • Mengurangi izin akses untuk tugas dan model Agent Platform. Agen layanan Agent Platform default memiliki akses ke BigQuery dan Cloud Storage.
  • Mengizinkan akses tugas yang berbeda ke resource yang berbeda. Sebaiknya izinkan banyak pengguna meluncurkan tugas dalam satu project. Namun, berikan akses tugas setiap pengguna hanya ke tabel BigQuery atau bucket Cloud Storage tertentu.

Misalnya, Anda mungkin ingin menyesuaikan setiap tugas pelatihan kustom yang Anda jalankan secara terpisah agar memiliki akses ke berbagai resourceGoogle Cloud di luar project Anda.

Selain itu, menyesuaikan izin agen layanan tidak mengubah izin yang tersedia ke container yang menyalurkan prediksi dari Model yang dilatih khusus.

Untuk menyesuaikan akses setiap kali melakukan pelatihan kustom atau menyesuaikan izin container prediksi Model yang dilatih khusus, Anda harus menggunakan akun layanan kustom.

Akses default

Bagian ini menjelaskan akses default yang tersedia untuk container pelatihan kustom dan container prediksi resource Model yang dilatih kustom. Saat menggunakan akun layanan kustom, Anda akan mengganti akses ini untuk resource CustomJob, HyperparameterTuningJob, TrainingPipeline, atau DeployedModel tertentu.

Container pelatihan

Saat Anda membuat CustomJob, HyperparameterTuningJob, atau TrainingPipeline kustom, container pelatihan dijalankan menggunakan Google Cloud project Anda Gemini Enterprise Agent Platform Custom Code Service Agent secara default.

Pelajari lebih lanjut Agen Layanan Kode Kustom Platform Agen Gemini Enterprise, termasuk cara memberinya akses ke resource Google Cloud tambahan.

Container prediksi

Saat Anda men-deploy Model yang dilatih khusus ke Endpoint, container prediksi akan berjalan menggunakan akun layanan yang dikelola oleh Agent Platform. Akun layanan ini berbeda dengan agen layanan Agent Platform.

Akun layanan yang digunakan container prediksi secara default memiliki izin untuk membaca artefak model yang disediakan oleh Agent Platform di URI yang disimpan dalam variabel lingkungan AIP_STORAGE_URI. Jangan mengandalkan akun layanan untuk memiliki izin lain. Anda tidak dapat menyesuaikan izin akun layanan.

Mengonfigurasi akun layanan kustom

Bagian berikut menjelaskan cara menyiapkan akun layanan kustom untuk digunakan dengan Agent Platform dan cara mengonfigurasi CustomJob, HyperparameterTuningJob, TrainingPipeline, atau DeployedModel untuk menggunakan akun layanan. Perlu diperhatikan bahwa Anda tidak dapat mengonfigurasi akun layanan kustom untuk mengambil image dari Artifact Registry. Gemini Enterprise Agent Platform menggunakan akun layanan default untuk menarik gambar.

Menyiapkan akun layanan kustom

Untuk menyiapkan akun layanan kustom, lakukan hal berikut:

  1. Buat akun layanan yang dikelola pengguna. Akun layanan yang dikelola pengguna dapat berada dalam project yang sama dengan resource Agent Platform Anda atau dalam project yang berbeda.

  2. Memberikan peran IAM akun layanan baru Anda yang memberikan akses ke layanan dan resource Google Cloud yang Anda inginkan agar dapat digunakan Agent Platform selama pelatihan kustom atau prediksi.

  3. Opsional: Jika akun layanan yang dikelola pengguna berada dalam project yang berbeda dengan tugas pelatihan Anda, Anda harus memberikan peran Service Account Token Creator (roles/iam.serviceAccountTokenCreator) kepada Agen Layanan Agent Platform dari project tempat Anda menggunakan Agent Platform.

    gcloud iam service-accounts add-iam-policy-binding \
        --role=roles/iam.serviceAccountTokenCreator \
        --member=serviceAccount:AI_PLATFORM_SERVICE_AGENT \
        CUSTOM_SERVICE_ACCOUNT
    
  4. Opsional: Jika Anda juga berencana menggunakan akun layanan yang dikelola pengguna untuk prediksi, Anda harus memberikan peran Admin Akun Layanan (roles/iam.serviceAccountAdmin) kepada Agen Layanan Agent Platform dari project tempat Anda menggunakan Agent Platform:

    gcloud iam service-accounts add-iam-policy-binding \
      --role=roles/iam.serviceAccountAdmin \
      --member=serviceAccount:AI_PLATFORM_SERVICE_AGENT \
      CUSTOM_SERVICE_ACCOUNT
    

    Ganti kode berikut:

    • AI_PLATFORM_SERVICE_AGENT: Alamat email Agent Platform Service Agent project Anda, yang memiliki format berikut:

      service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com

      Untuk menemukan Agen Layanan Platform Agen, buka halaman IAM di konsol Google Cloud .

      Buka IAM

    • CUSTOM_SERVICE_ACCOUNT: Alamat email akun layanan yang dikelola pengguna baru yang Anda buat di langkah pertama bagian ini.

Menentukan akun layanan kustom untuk resource Agent Platform

Proses mengonfigurasi Agent Platform agar menggunakan akun layanan tertentu untuk suatu resource disebut melampirkan akun layanan ke resource. Bagian berikut menjelaskan cara melampirkan akun layanan yang Anda buat di bagian sebelumnya ke beberapa resource Agent Platform.

Melampirkan akun layanan ke resource pelatihan kustom

Untuk mengonfigurasi Platform Agen agar menggunakan akun layanan baru selama pelatihan khusus, tentukan alamat email akun layanan di kolom serviceAccount pesan CustomJobSpec saat Anda memulai pelatihan khusus. Bergantung pada jenis resource pelatihan kustom yang Anda buat, penempatan kolom ini di permintaan API akan berbeda:

  • Jika Anda membuat CustomJob, tentukan alamat email akun layanan di CustomJob.jobSpec.serviceAccount.

    Pelajari lebih lanjut cara membuat CustomJob.

  • Jika Anda membuat HyperparameterTuningJob, tentukan alamat email akun layanan di HyperparameterTuningJob.trialJobSpec.serviceAccount.

    Pelajari cara membuat HyperparameterTuningJob lebih lanjut.

  • Jika Anda membuat TrainingPipeline kustom tanpa penyesuaian hyperparameter, tentukan alamat email akun layanan di TrainingPipeline.trainingTaskInputs.serviceAccount.

  • Jika Anda membuat TrainingPipeline kustom dengan penyesuaian hyperparameter, tentukan alamat email akun layanan di TrainingPipeline.trainingTaskInputs.trialJobSpec.serviceAccount.

Melampirkan akun layanan ke container yang menayangkan prediksi online

Untuk mengonfigurasi container prediksi Model yang dilatih khusus agar menggunakan akun layanan baru, tentukan alamat email akun layanan saat Anda men-deploy Model ke Endpoint:

Konsol

Ikuti Men-deploy model menggunakan Google Cloud konsol. Saat Anda menentukan setelan model, pilih akun layanan dari menu drop-down Akun layanan.

gcloud

Ikuti Men-deploy model menggunakan Agent Platform API. Saat menjalankan perintah gcloud ai endpoints deploy-model, gunakan flag --service-account untuk menentukan alamat email akun layanan Anda.

Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:

  • ENDPOINT_ID: ID untuk endpoint.
  • LOCATION_ID: Region tempat Anda menggunakan Platform Agen.
  • MODEL_ID: ID untuk model yang akan di-deploy.
  • DEPLOYED_MODEL_NAME: Nama untuk DeployedModel. Anda juga dapat menggunakan nama tampilan Model untuk DeployedModel.
  • MACHINE_TYPE: Opsional. Resource mesin yang digunakan untuk setiap node deployment ini. Setelan defaultnya adalah n1-standard-2. Pelajari jenis-jenis mesin lebih lanjut.
  • MIN_REPLICA_COUNT: Jumlah minimum node untuk deployment ini. Jumlah node dapat ditingkatkan atau diturunkan sesuai kebutuhan beban inferensi, hingga mencapai jumlah maksimum node dan tidak pernah kurang dari jumlah ini.
  • MAX_REPLICA_COUNT: Jumlah maksimum node untuk deployment ini. Jumlah node dapat ditingkatkan atau diturunkan sesuai kebutuhan beban inferensi, hingga mencapai jumlah maksimum node dan tidak pernah kurang dari jumlah ini.
  • CUSTOM_SERVICE_ACCOUNT: Alamat email akun layanan. Contoh: SA_NAME@PROJECT_ID.iam.gserviceaccount.com.

Jalankan perintah gcloud ai endpoints deploy-model:

Linux, macOS, atau Cloud Shell

gcloud ai endpoints deploy-model ENDPOINT_ID \
  --region=LOCATION \
  --model=MODEL_ID \
  --display-name=DEPLOYED_MODEL_NAME \
  --machine-type=MACHINE_TYPE \
  --min-replica-count=MIN_REPLICA_COUNT \
  --max-replica-count=MAX_REPLICA_COUNT \
  --traffic-split=0=100 \
  --service-account=CUSTOM_SERVICE_ACCOUNT

Windows (PowerShell)

gcloud ai endpoints deploy-model ENDPOINT_ID `
  --region=LOCATION `
  --model=MODEL_ID `
  --display-name=DEPLOYED_MODEL_NAME `
  --machine-type=MACHINE_TYPE `
  --min-replica-count=MIN_REPLICA_COUNT `
  --max-replica-count=MAX_REPLICA_COUNT `
  --traffic-split=0=100 `
  --service-account=CUSTOM_SERVICE_ACCOUNT

Windows (cmd.exe)

gcloud ai endpoints deploy-model ENDPOINT_ID ^
  --region=LOCATION ^
  --model=MODEL_ID ^
  --display-name=DEPLOYED_MODEL_NAME ^
  --machine-type=MACHINE_TYPE ^
  --min-replica-count=MIN_REPLICA_COUNT ^
  --max-replica-count=MAX_REPLICA_COUNT ^
  --traffic-split=0=100 ^
  --service-account=CUSTOM_SERVICE_ACCOUNT
 

API

Ikuti Men-deploy model menggunakan Agent Platform API. Saat Anda mengirim permintaan projects.locations.endpoints.deployModel, tetapkan kolom deployedModel.serviceAccount ke alamat email akun layanan Anda.

Melampirkan akun layanan ke permintaan CopyModel

Untuk mengonfigurasi Platform Agen agar menggunakan akun layanan baru saat menyalin model, tentukan alamat email akun layanan di kolom customServiceAccount pesan CopyModelRequest. Akun layanan ini harus dimiliki oleh project tujuan tempat model disalin dan Anda harus memiliki izin iam.serviceAccounts.actAs di akun layanan ini.

REST

Ikuti Menyalin model menggunakan Agent Platform API, tambahkan kolom customServiceAccount di isi JSON permintaan.

API

Saat Anda mengirim permintaan projects.locations.models.copy, tetapkan kolom customServiceAccount ke alamat email akun layanan.

Mengakses Google Cloud layanan dalam kode Anda

Jika Anda mengonfigurasi Platform Agen untuk menggunakan akun layanan kustom dengan mengikuti petunjuk di bagian sebelumnya, container pelatihan atau container prediksi Anda dapat mengakses layanan dan resource Google Cloud apa pun yang dapat diakses akun layanan.

Untuk mengakses layanan Google Cloud , tulis kode pelatihan atau kode penyaluran prediksi Anda untuk menggunakan Kredensial Default Aplikasi (ADC) dan secara eksplisit tentukan project ID atau nomor project resource yang ingin Anda akses. Pelajari lebih lanjut cara menulis kode untuk mengakses layanan Google Cloud lainnya.

Batasan

Akun layanan kustom di Gemini Enterprise Agent Platform memiliki batasan berikut:

  • Untuk inferensi batch, agen layanan Gemini Enterprise Agent Platform akan tetap digunakan untuk mengakses BigQuery dan Cloud Storage meskipun akun layanan kustom dikonfigurasi.
  • Maksimum ada 20 akun layanan kustom per project per region per layanan (misalnya, Inferensi Vertex AI).

Langkah berikutnya

  • Pelajari lebih lanjut Kontrol akses untuk Platform Agen.
  • Pelajari izin IAM tertentu dan operasi yang didukungnya.