Mengontrol akses ke resource

Anda dapat menetapkan kebijakan Identity and Access Management (IAM) untuk mengontrol akses ke resource Vertex AI Feature Store berikut:

  • Grup fitur

  • Instance toko online

  • Tampilan fitur

Kebijakan IAM adalah kumpulan binding, yang mengaitkan satu atau beberapa anggota, atau akun utama, dengan 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, Anda menggunakan kredensial yang Anda berikan ke gcloud CLI.

    Menginstal Google Cloud CLI. Setelah penginstalan, lakukan inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:

    gcloud init

    Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

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

Menetapkan kebijakan IAM untuk grup fitur

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

REST

Untuk menetapkan kebijakan IAM ke resource FeatureGroup, kirim permintaan POST menggunakan metode featureGroups.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.
  • FEATUREGROUP_NAME: Nama instance toko online yang IAM kebijakannya ingin Anda tetapkan.
  • IAM_ROLE_NAME: Nama peran IAM yang akan ditetapkan kepada anggota. Untuk mengetahui daftar lengkap peran IAM untuk Vertex AI, lihat Kontrol akses dengan IAM.
  • USER_EMAIL: Opsional. Alamat email akun pengguna yang diberi peran.
  • GROUP_EMAIL: Opsional. Alamat email grup Google yang diberi peran.
  • DOMAIN_NAME: Opsional. Nama domain tempat peran ditetapkan.
  • SERVICE_ACCOUNT_EMAIL: Opsional. Alamat email akun layanan yang diberi peran.

Metode HTTP dan URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureGroups/FEATUREGROUP_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/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureGroups/FEATUREGROUP_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/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureGroups/FEATUREGROUP_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 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 IAM kebijakannya ingin Anda tetapkan.
  • IAM_ROLE_NAME: Nama peran IAM yang akan ditetapkan kepada anggota. Untuk mengetahui daftar lengkap peran IAM untuk Vertex AI, lihat Kontrol akses dengan IAM.
  • USER_EMAIL: Opsional. Alamat email akun pengguna yang diberi peran.
  • GROUP_EMAIL: Opsional. Alamat email grup Google yang diberi peran.
  • DOMAIN_NAME: Opsional. Nama domain tempat peran ditetapkan.
  • SERVICE_ACCOUNT_EMAIL: Opsional. Alamat email akun layanan yang diberi peran.

Metode HTTP dan URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/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/v1/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/v1/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 sudah 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 kebijakannya IAM ingin Anda tetapkan.
  • IAM_ROLE_NAME: Nama peran IAM yang akan ditetapkan kepada anggota. Untuk mengetahui daftar lengkap peran IAM untuk Vertex AI, lihat Kontrol akses dengan IAM.
  • USER_EMAIL: Opsional. Alamat email akun pengguna yang diberi peran.
  • GROUP_EMAIL: Opsional. Alamat email grup Google yang diberi peran.
  • DOMAIN_NAME: Opsional. Nama domain tempat peran ditetapkan.
  • SERVICE_ACCOUNT_EMAIL: Opsional. Alamat email akun layanan yang diberi peran.

Metode HTTP dan URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/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/v1/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/v1/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