控管資源存取權

您可以設定身分與存取權管理 (IAM) 政策,控管下列 Vertex AI 特徵儲存庫資源的存取權:

  • 特徵群組

  • 線上商店執行個體

  • 特徵檢視表

IAM 政策是一組繫結,可將一或多個成員或主體與 IAM 角色建立關聯。您可以在 IAM 政策繫結中加入下列類型的成員:

  • 個人使用者帳戶

  • Google 網路論壇

  • 網域

  • 服務帳戶

事前準備

向 Vertex AI 進行驗證 (如果尚未完成)。

如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。

    安裝 Google Cloud CLI。 安裝完成後,執行下列指令初始化 Google Cloud CLI:

    gcloud init

    如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI

詳情請參閱 Google Cloud 驗證說明文件中的「Authenticate for using REST」。

為特徵群組設定 IAM 政策

使用下列範例,為現有特徵群組設定 IAM 政策。

REST

如要將 IAM 政策指派給FeatureGroup資源,請使用 featureGroups.setIamPolicy 方法傳送 POST 要求。

使用任何要求資料之前,請先替換以下項目:

  • LOCATION_ID:線上商店執行個體所在的區域,例如 us-central1
  • PROJECT_ID:您的專案 ID。
  • FEATUREGROUP_NAME:要設定 IAM 政策的網路商店執行個體名稱。
  • IAM_ROLE_NAME:要指派給成員的 IAM 角色名稱。如需 Vertex AI 的完整 IAM 角色清單,請參閱「運用 IAM 執行存取控管」。
  • USER_EMAIL:選用。獲派角色的使用者帳戶電子郵件地址。
  • GROUP_EMAIL:選用。指派角色的 Google 群組電子郵件地址。
  • DOMAIN_NAME:選用。指派角色的網域名稱。
  • SERVICE_ACCOUNT_EMAIL:選用。獲派角色的服務帳戶電子郵件地址。

HTTP 方法和網址:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureGroups/FEATUREGROUP_NAME:setIamPolicy

JSON 要求主體:

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

如要傳送要求,請選擇以下其中一個選項:

curl

將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

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

將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

$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

您應該會收到如下的 JSON 回應:

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

為線上商店設定 IAM 政策

使用下列範例,為現有的線上商店執行個體設定 IAM 政策。

REST

如要將 IAM 政策指派給FeatureOnlineStore資源,請使用 featureOnlineStores.setIamPolicy 方法傳送 POST 要求。

使用任何要求資料之前,請先替換以下項目:

  • LOCATION_ID:線上商店執行個體所在的區域,例如 us-central1
  • PROJECT_ID:您的專案 ID。
  • FEATUREONLINESTORE_NAME:要設定 IAM 政策的網路商店執行個體名稱。
  • IAM_ROLE_NAME:要指派給成員的 IAM 角色名稱。如需 Vertex AI 的完整 IAM 角色清單,請參閱「運用 IAM 執行存取控管」。
  • USER_EMAIL:選用。獲派角色的使用者帳戶電子郵件地址。
  • GROUP_EMAIL:選用。指派角色的 Google 群組電子郵件地址。
  • DOMAIN_NAME:選用。指派角色的網域名稱。
  • SERVICE_ACCOUNT_EMAIL:選用。要指派角色的服務帳戶電子郵件地址。

HTTP 方法和網址:

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

JSON 要求主體:

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

如要傳送要求,請選擇以下其中一個選項:

curl

將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

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

將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

$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

您應該會收到如下的 JSON 回應:

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

為特徵檢視區塊設定 IAM 政策

請使用下列範例,為現有的特徵檢視區塊設定 IAM 政策。

REST

如要將 IAM 政策指派給FeatureView資源,請使用 featureViews.setIamPolicy 方法傳送 POST 要求。

使用任何要求資料之前,請先替換以下項目:

  • LOCATION_ID:特徵檢視畫面所在的區域,例如 us-central1
  • PROJECT_ID:您的專案 ID。
  • FEATUREONLINESTORE_NAME:包含特徵檢視區塊的線上商店執行個體名稱。
  • FEATUREVIEW_NAME:要設定 IAM 政策的特徵檢視表名稱。
  • IAM_ROLE_NAME:要指派給成員的 IAM 角色名稱。如需 Vertex AI 的完整 IAM 角色清單,請參閱「運用 IAM 執行存取控管」。
  • USER_EMAIL:選用。獲派角色的使用者帳戶電子郵件地址。
  • GROUP_EMAIL:選用。指派角色的 Google 群組電子郵件地址。
  • DOMAIN_NAME:選用。指派角色的網域名稱。
  • SERVICE_ACCOUNT_EMAIL:選用。要指派角色的服務帳戶電子郵件地址。

HTTP 方法和網址:

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

JSON 要求主體:

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

如要傳送要求,請選擇以下其中一個選項:

curl

將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

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

將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:

$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

您應該會收到如下的 JSON 回應:

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

後續步驟