Mengontrol akses ke resource toko online

Anda dapat mengontrol akses ke instance toko online dan tampilan fitur dengan menetapkan kebijakan Identity and Access Management (IAM) untuk resource tersebut. Kebijakan IAM adalah kumpulan binding, yang mengaitkan satu atau beberapa anggota, atau akun utama, ke peran IAM. Anda dapat menyertakan jenis anggota berikut dalam binding kebijakan IAM:

  • Akun pengguna perorangan

  • Grup Google

  • Domain

  • Akun layanan

Sebelum memulai

Lakukan autentikasi ke Vertex AI, kecuali jika Anda telah melakukannya.

Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.

    Install the Google Cloud CLI, then initialize it by running the following command:

    gcloud init

Untuk informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud.

Menetapkan kebijakan IAM untuk toko online

Gunakan contoh berikut untuk menetapkan kebijakan IAM untuk instance toko online yang ada.

REST

Untuk menetapkan kebijakan IAM ke resource FeatureOnlineStore, kirim permintaan POST menggunakan metode featureOnlineStores.setIamPolicy.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • LOCATION_ID: Region tempat instance toko online berada, seperti us-central1.
  • PROJECT_ID: Project ID Anda.
  • FEATUREONLINESTORE_NAME: Nama instance toko online yang ingin Anda tetapkan kebijakan IAM-nya.
  • IAM_ROLE_NAME: Nama peran IAM yang akan ditetapkan ke anggota, misalnya, aiplatform.featureOnlineStoreUser. Untuk mengetahui daftar lengkap peran IAM untuk Vertex AI, lihat [Kontrol akses dengan IAM](/vertex-ai/docs/general/access-control).
  • USER_EMAIL: Opsional. Alamat email akun pengguna yang diberi peran.
  • GROUP_EMAIL: Opsional. Alamat email grup Google tempat peran ditetapkan.
  • DOMAIN_NAME: Opsional. Nama domain tempat peran ditetapkan.
  • SERVICE_ACCOUNT_EMAIL: Opsional. Alamat email akun layanan tempat peran ditetapkan.

Metode HTTP dan URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME:setIamPolicy

Isi JSON permintaan:

{
  "policy": {
    "bindings": [
      {
        "role": "IAM_ROLE_NAME",
        "members": [
          "user:USER_EMAIL",
          "group:GROUP_EMAIL",
          "domain:DOMAIN_NAME",
          "serviceAccount:SERVICE_ACCOUNT_EMAIL"
        ]
      }
    ]
  }
}

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME:setIamPolicy"

PowerShell

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME:setIamPolicy" | Select-Object -Expand Content

Anda akan melihat respons JSON seperti berikut:

{
  "bindings": [
  {
    "role": "IAM_ROLE_NAME",
    "members": [
      "user:USER_EMAIL",
      "group:GROUP_EMAIL",
      "domain:DOMAIN_NAME",
      "serviceAccount:SERVICE_ACCOUNT_EMAIL"
    ]
  }
  ],
  "etag": "etag"
}

Menetapkan kebijakan IAM untuk tampilan fitur

Gunakan contoh berikut untuk menetapkan kebijakan IAM untuk tampilan fitur yang ada.

REST

Untuk menetapkan kebijakan IAM ke resource FeatureView, kirim permintaan POST menggunakan metode featureViews.setIamPolicy.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • LOCATION_ID: Region tempat tampilan fitur berada, seperti us-central1.
  • PROJECT_ID: Project ID Anda.
  • FEATUREONLINESTORE_NAME: Nama instance toko online yang berisi tampilan fitur.
  • FEATUREVIEW_NAME: Nama tampilan fitur yang ingin Anda tetapkan kebijakan IAM-nya.
  • IAM_ROLE_NAME: Nama peran IAM yang akan ditetapkan ke anggota, misalnya, aiplatform.featureOnlineStoreUser. Untuk mengetahui daftar lengkap peran IAM untuk Vertex AI, lihat [Kontrol akses dengan IAM](/vertex-ai/docs/general/access-control).
  • USER_EMAIL: Opsional. Alamat email akun pengguna yang diberi peran.
  • GROUP_EMAIL: Opsional. Alamat email grup Google tempat peran ditetapkan.
  • DOMAIN_NAME: Opsional. Nama domain tempat peran ditetapkan.
  • SERVICE_ACCOUNT_EMAIL: Opsional. Alamat email akun layanan tempat peran ditetapkan.

Metode HTTP dan URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:setIamPolicy

Isi JSON permintaan:

{
  "policy": {
    "bindings": [
      {
        "role": "IAM_ROLE_NAME",
        "members": [
          "user:USER_EMAIL",
          "group:GROUP_EMAIL",
          "domain:DOMAIN_NAME",
          "serviceAccount:SERVICE_ACCOUNT_EMAIL"
        ]
      }
    ]
  }
}

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:setIamPolicy"

PowerShell

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME:setIamPolicy" | Select-Object -Expand Content

Anda akan melihat respons JSON yang mirip dengan berikut ini:

{
  "bindings": [
  {
    "role": "IAM_ROLE_NAME",
    "members": [
      "user:USER_EMAIL",
      "group:GROUP_EMAIL",
      "domain:DOMAIN_NAME",
      "serviceAccount:SERVICE_ACCOUNT_EMAIL"
    ]
  }
  ],
  "etag": "etag"
}

Langkah berikutnya