Menetapkan izin untuk fungsi AI generatif yang memanggil LLM Vertex AI

Dokumen ini menunjukkan cara menyiapkan izin untuk menjalankan kueri AI generatif. Kueri AI generatif berisi fungsi AI.* yang memanggil model dasar di Vertex AI; misalnya, AI.GENERATE.

Ada dua cara untuk menyiapkan izin guna menjalankan kueri yang menggunakan fungsi AI.*:

  • Jalankan kueri menggunakan kredensial pengguna akhir Anda
  • Membuat koneksi BigQuery ML untuk menjalankan kueri menggunakan akun layanan

Pada umumnya, Anda dapat menggunakan kredensial pengguna akhir dan membiarkan argumen CONNECTION kosong. Jika tugas kueri Anda diperkirakan akan berjalan selama 48 jam atau lebih, Anda harus menggunakan koneksi BigQuery dan menyertakannya dalam argumen CONNECTION.

Menjalankan kueri AI generatif dengan kredensial pengguna akhir

Untuk menjalankan kueri AI generatif menggunakan kredensial pengguna akhir, konfigurasi izin yang diperlukan menggunakan konsol Google Cloud . Perhatikan bahwa jika Anda adalah pemilik project, Anda sudah memiliki semua izin yang diperlukan sehingga Anda tidak perlu melakukan apa pun.

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan untuk menjalankan tugas kueri yang memanggil model Vertex AI, minta administrator Anda untuk memberi Anda peran IAM berikut pada project:

Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Memberikan peran yang diperlukan kepada pengguna atau grup

Anda dapat menggunakan konsol Google Cloud untuk memberikan peran yang diperlukan bagi principal. Principal adalah pengguna atau grup yang menjalankan kueri yang menggunakan fungsi AI.* untuk memanggil model dasar Vertex AI.

  1. Di konsol Google Cloud , buka halaman IAM.

    Buka IAM

  2. Pilih project Anda.

  3. Untuk memberikan peran kepada akun utama:

    1. Buka halaman IAM & Admin.

      Buka IAM & Admin

    2. Klik Grant access.

      Dialog Add principals akan terbuka.

    3. Di kolom New principals, masukkan ID akun utama— misalnya, my-user@example.com atau //iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com.

    4. Di bagian Assign roles, untuk Select a role, klik panah drop-down.

    5. Telusuri peran Vertex AI User, lalu pilih peran tersebut.

    6. Klik Add another role.

    7. Di bagian Assign roles, untuk Select a role, klik panah drop-down.

    8. Telusuri atau jelajahi peran BigQuery Job User, lalu pilih peran tersebut.

    9. Klik Simpan.

      Klik Simpan untuk memberikan peran kepada akun utama

Untuk mengubah peran akun utama yang sudah memiliki peran di project, lihat Memberikan peran tambahan ke akun utama yang sama.

Untuk mengetahui informasi tentang metode lain untuk memberikan peran tingkat project kepada pokok keamanan, lihat Memberikan atau mencabut beberapa peran IAM secara terprogram.

Menjalankan kueri AI generatif dengan Koneksi BigQuery

Untuk menjalankan kueri AI generatif menggunakan koneksi, buat koneksi, lalu berikan akses ke akun layanan yang dibuat oleh koneksi.

Membuat koneksi

Anda dapat menyiapkan Koneksi Resource Cloud untuk menjalankan semua kueri AI generatif yang berisi fungsi AI.*. Saat membuat koneksi, Anda memberikan izin untuk menjalankan kueri ke akun layanan.

Pilih salah satu opsi berikut:

Konsol

  1. Buka halaman BigQuery.

    Buka BigQuery

  2. Di panel kiri, klik Explorer:

    Tombol yang ditandai untuk panel Explorer.

    Jika Anda tidak melihat panel kiri, klik Luaskan panel kiri untuk membuka panel.

  3. Di panel Explorer, luaskan nama project Anda, lalu klik Connections.

  4. Di halaman Koneksi, klik Buat koneksi.

  5. Untuk Connection type, pilih Vertex AI remote models, remote functions, BigLake and Spanner (Cloud Resource).

  6. Di kolom Connection ID, masukkan nama untuk koneksi Anda.

  7. Untuk Location type, pilih lokasi untuk koneksi Anda. Koneksi harus ditempatkan bersama resource Anda yang lain seperti set data.

  8. Klik Create connection.

  9. Klik Go to connection.

  10. Di panel Connection info, salin ID akun layanan untuk digunakan pada langkah berikutnya.

bq

  1. Di lingkungan command line, buat koneksi:

    bq mk --connection --location=REGION --project_id=PROJECT_ID \
        --connection_type=CLOUD_RESOURCE CONNECTION_ID

    Parameter --project_id akan mengganti project default.

    Ganti kode berikut:

    • REGION: region koneksi Anda
    • PROJECT_ID: Project ID Google Cloud Anda
    • CONNECTION_ID: ID untuk koneksi Anda

    Saat Anda membuat resource koneksi, BigQuery akan membuat akun layanan sistem unik dan mengaitkannya dengan koneksi.

    Pemecahan masalah: Jika Anda mendapatkan error koneksi berikut, update Google Cloud SDK:

    Flags parsing error: flag --connection_type=CLOUD_RESOURCE: value should be one of...
    
  2. Ambil dan salin ID akun layanan untuk digunakan pada langkah berikutnya:

    bq show --connection PROJECT_ID.REGION.CONNECTION_ID

    Outputnya mirip dengan hal berikut ini:

    name                          properties
    1234.REGION.CONNECTION_ID     {"serviceAccountId": "connection-1234-9u56h9@gcp-sa-bigquery-condel.iam.gserviceaccount.com"}
    

Terraform

Gunakan resource google_bigquery_connection.

Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.

Contoh berikut membuat koneksi resource Cloud bernama my_cloud_resource_connection di region US:


# This queries the provider for project information.
data "google_project" "default" {}

# This creates a cloud resource connection in the US region named my_cloud_resource_connection.
# Note: The cloud resource nested object has only one output field - serviceAccountId.
resource "google_bigquery_connection" "default" {
  connection_id = "my_cloud_resource_connection"
  project       = data.google_project.default.project_id
  location      = "US"
  cloud_resource {}
}

Untuk menerapkan konfigurasi Terraform di project, selesaikan langkah-langkah di bagian berikut. Google Cloud

Menyiapkan Cloud Shell

  1. Luncurkan Cloud Shell.
  2. Tetapkan project Google Cloud default tempat Anda ingin menerapkan konfigurasi Terraform.

    Anda hanya perlu menjalankan perintah ini sekali per project, dan dapat dijalankan di direktori mana pun.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Variabel lingkungan akan diganti jika Anda menetapkan nilai eksplisit dalam file konfigurasi Terraform.

Menyiapkan direktori

Setiap file konfigurasi Terraform harus memiliki direktorinya sendiri (juga disebut modul root).

  1. Di Cloud Shell, buat direktori dan file baru di dalam direktori tersebut. Nama file harus memiliki ekstensi .tf—misalnya main.tf. Dalam tutorial ini, file ini disebut sebagai main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Jika mengikuti tutorial, Anda dapat menyalin kode contoh di setiap bagian atau langkah.

    Salin kode contoh ke dalam main.tf yang baru dibuat.

    Atau, salin kode dari GitHub. Tindakan ini direkomendasikan jika cuplikan Terraform adalah bagian dari solusi menyeluruh.

  3. Tinjau dan ubah contoh parameter untuk diterapkan pada lingkungan Anda.
  4. Simpan perubahan Anda.
  5. Lakukan inisialisasi Terraform. Anda hanya perlu melakukan ini sekali per direktori.
    terraform init

    Secara opsional, untuk menggunakan versi penyedia Google terbaru, sertakan opsi -upgrade:

    terraform init -upgrade

Menerapkan perubahan

  1. Tinjau konfigurasi dan pastikan resource yang akan dibuat atau diupdate oleh Terraform sesuai yang Anda inginkan:
    terraform plan

    Koreksi konfigurasi jika diperlukan.

  2. Terapkan konfigurasi Terraform dengan menjalankan perintah berikut dan memasukkan yes pada prompt:
    terraform apply

    Tunggu hingga Terraform menampilkan pesan "Apply complete!".

  3. Buka Google Cloud project Anda untuk melihat hasilnya. Di konsol Google Cloud , buka resource Anda di UI untuk memastikan bahwa Terraform telah membuat atau mengupdatenya.

Untuk mengetahui informasi selengkapnya, lihat Membuat dan menyiapkan koneksi resource Cloud.

Memberikan akses ke akun layanan

Untuk menjalankan kueri yang menggunakan fungsi generatif AI.* yang memanggil model Vertex AI, Anda harus memberikan izin yang sesuai ke akun layanan yang dibuat saat Anda membuat koneksi. Untuk menjalankan fungsi yang memanggil model dasar Vertex AI, peran Vertex AI User (roles/aiplatform.user) diperlukan.

Pilih salah satu opsi berikut:

Konsol

  1. Buka halaman IAM & Admin.

    Buka IAM & Admin

  2. Klik Grant access.

    Dialog Add principals akan terbuka.

  3. Di kolom New principals, masukkan ID akun layanan yang Anda salin sebelumnya.

  4. Di bagian Tetapkan peran, klik Tambahkan peran.

  5. Cari peran Vertex AI User, pilih, lalu klik Terapkan.

  6. Klik Simpan.

gcloud

Gunakan perintah gcloud projects add-iam-policy-binding:

gcloud projects add-iam-policy-binding gs://PROJECT_ID \
--member="serviceAccount:$(bq show --format=prettyjson --connection $PROJECT_ID.$REGION.$CONNECTION_ID | jq -r .cloudResource.serviceAccountId)"
--role=roles/aiplatform.user

Ganti kode berikut:

  • PROJECT_ID: nama project Anda.
  • REGION: lokasi tempat koneksi dibuat.
  • CONNECTION_ID: Nama koneksi yang Anda buat.

Terraform

Gunakan resource google_bigquery_connection.

Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.

Contoh berikut memberikan akses peran IAM ke akun layanan koneksi resource Cloud:


# This queries the provider for project information.
data "google_project" "default" {}

# This creates a cloud resource connection in the US region named my_cloud_resource_connection.
# Note: The cloud resource nested object has only one output field - serviceAccountId.
resource "google_bigquery_connection" "default" {
  connection_id = "my_cloud_resource_connection"
  project       = data.google_project.default.project_id
  location      = "US"
  cloud_resource {}
}

## This grants IAM role access to the service account of the connection created in the previous step.
resource "google_project_iam_member" "connectionPermissionGrant" {
  project = data.google_project.default.project_id
  role    = "roles/storage.objectViewer"
  member  = "serviceAccount:${google_bigquery_connection.default.cloud_resource[0].service_account_id}"
}

Untuk menerapkan konfigurasi Terraform di project, selesaikan langkah-langkah di bagian berikut. Google Cloud

Menyiapkan Cloud Shell

  1. Luncurkan Cloud Shell.
  2. Tetapkan project Google Cloud default tempat Anda ingin menerapkan konfigurasi Terraform.

    Anda hanya perlu menjalankan perintah ini sekali per project, dan dapat dijalankan di direktori mana pun.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Variabel lingkungan akan diganti jika Anda menetapkan nilai eksplisit dalam file konfigurasi Terraform.

Menyiapkan direktori

Setiap file konfigurasi Terraform harus memiliki direktorinya sendiri (juga disebut modul root).

  1. Di Cloud Shell, buat direktori dan file baru di dalam direktori tersebut. Nama file harus memiliki ekstensi .tf—misalnya main.tf. Dalam tutorial ini, file ini disebut sebagai main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Jika mengikuti tutorial, Anda dapat menyalin kode contoh di setiap bagian atau langkah.

    Salin kode contoh ke dalam main.tf yang baru dibuat.

    Atau, salin kode dari GitHub. Tindakan ini direkomendasikan jika cuplikan Terraform adalah bagian dari solusi menyeluruh.

  3. Tinjau dan ubah contoh parameter untuk diterapkan pada lingkungan Anda.
  4. Simpan perubahan Anda.
  5. Lakukan inisialisasi Terraform. Anda hanya perlu melakukan ini sekali per direktori.
    terraform init

    Secara opsional, untuk menggunakan versi penyedia Google terbaru, sertakan opsi -upgrade:

    terraform init -upgrade

Menerapkan perubahan

  1. Tinjau konfigurasi dan pastikan resource yang akan dibuat atau diupdate oleh Terraform sesuai yang Anda inginkan:
    terraform plan

    Koreksi konfigurasi jika diperlukan.

  2. Terapkan konfigurasi Terraform dengan menjalankan perintah berikut dan memasukkan yes pada prompt:
    terraform apply

    Tunggu hingga Terraform menampilkan pesan "Apply complete!".

  3. Buka Google Cloud project Anda untuk melihat hasilnya. Di konsol Google Cloud , buka resource Anda di UI untuk memastikan bahwa Terraform telah membuat atau mengupdatenya.