Menggunakan akun layanan khusus

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

Kapan harus menggunakan akun layanan kustom

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

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 Platform Agen. Agen layanan Platform Agen 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 Google Cloud resource 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 TrainingPipelinekustom, container pelatihan dijalankan menggunakan Google Cloud Agen Layanan Kode Kustom Platform Agen Gemini Enterprise project Anda secara default.

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

Container prediksi

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

Akun layanan yang digunakan container prediksi secara default memiliki izin untuk membaca artefak model yang disediakan oleh Platform Agen pada URI yang disimpan di AIP_STORAGE_URI lingkungan variabel. 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 Platform Agen 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. Platform Agen Gemini Enterprise 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 Platform Agen Anda atau dalam project yang berbeda.

  2. Berikan peran IAM ke akun layanan baru Anda yang menyediakan akses ke layanan dan resource yang Anda inginkan agar dapat digunakan oleh Platform Agen selama pelatihan atau prediksi kustom. Google Cloud

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

    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 Platform Agen project tempat Anda menggunakan Platform Agen:

    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 Agen Layanan Platform Agen 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 Google Cloud konsol.

      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 Platform Agen

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

Melampirkan akun layanan ke resource pelatihan kustom

Untuk mengonfigurasi Platform Agen agar menggunakan akun layanan baru Anda selama pelatihan kustom, tentukan alamat email akun layanan di serviceAccount kolom CustomJobSpec pesan saat Anda memulai pelatihan kustom. 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 Platform Agen 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 endpoint 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 Platform Agen API. Saat Anda mengirim projects.locations.endpoints.deployModel permintaan, tetapkan deployedModel.serviceAccount kolom ke alamat email akun layanan Anda.

Melampirkan akun layanan ke permintaan CopyModel

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

REST

Ikuti Menyalin model menggunakan Platform Agen 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 Anda.

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 Google Cloud dan resource apa pun yang dapat diakses akun layanan menjadi sasaran.

Untuk mengakses Google Cloud layanan, 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 lain.

Batasan

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

  • Untuk inferensi batch, agen layanan Platform Agen Gemini Enterprise 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.