本頁說明如何使用 Identity and Access Management (IAM) 管理 Vertex AI 資源的存取權。如要管理 Vertex AI Workbench 執行個體的存取權,請參閱 Vertex AI Workbench 執行個體存取權控管。
總覽
Vertex AI 會使用 IAM 管理資源存取權。規劃資源的存取權控管機制時,請考慮下列事項:
您可以在專案層級或資源層級管理存取權。專案層級的存取權會套用至該專案中的所有資源。 特定資源的存取權僅適用於該資源。請參閱「專案層級與資源層級存取權」。
您可以將 IAM 角色指派給主體,授予存取權。預先定義角色可簡化存取權設定程序,但建議使用自訂角色,因為您可以自行建立,並將存取權限制為僅限必要權限。請參閱「身分與存取權管理角色」。
IAM 角色
您可以在 Vertex AI 中使用不同類型的 IAM 角色:
自訂角色可讓您選擇特定的一組權限,使用這些權限建立您自己的角色,然後將該角色授予機構中的使用者。
預先定義的角色可讓您在專案層級,將一組相關權限授予 Vertex AI 資源。
基本角色 (擁有者、編輯者和檢視者) 可在專案層級控管 Vertex AI 資源的存取權,且適用於所有 Google Cloud 服務。
如要在 Vertex AI 專案中新增、更新或移除這些角色,請參閱授予、變更及撤銷存取權的說明文件。
自訂角色
自訂角色可讓您選擇特定的一組權限,使用這些權限建立專屬角色,然後將該角色授予機構中的使用者。詳情請參閱「瞭解 IAM 自訂角色」。
使用自訂角色授予最低權限
預先定義的角色通常包含的權限超出您的需求。您可以建立自訂角色,只授予主體所需的特定權限。
舉例來說,您可以建立具有 aiplatform.endpoints.predict
權限的自訂角色,然後將該角色指派給端點上的服務帳戶。這會授予服務帳戶呼叫預測端點的權限,但無法控制端點。
Vertex AI 的預先定義角色
Role | Permissions |
---|---|
Vertex AI Administrator( Grants full access to all resources in Vertex AI |
|
Vertex AI Batch Prediction Service Agent( Vertex AI Batch Prediction Service Agent for serving batch prediction requests. |
|
Colab Enterprise Admin( Admin role of using colab enterprise. |
|
Colab Enterprise User( User role of using colab enterprise. |
|
Vertex AI Colab Service Agent( Gives Vertex AI Colab the proper permissions to function. |
|
Vertex AI Custom Code Service Agent( Gives Vertex AI Custom Code the proper permissions. |
|
Vertex AI Feature Store EntityType owner( Provides full access to all permissions for a particular entity type resource. Lowest-level resources where you can grant this role:
|
|
Vertex AI Platform Express Admin Beta( Grants admin access to Vertex AI Express |
|
Vertex AI Platform Express User Beta( Grants user access to Vertex AI Express |
|
Vertex AI Extension Custom Code Service Agent( Gives Vertex AI Extension that executes custom code the permissions it needs to function. |
|
Vertex AI Extension Service Agent( Gives Vertex AI Extension the permissions it needs to function. |
|
Vertex AI Feature Store Admin( Grants full access to all resources in Vertex AI Feature Store Lowest-level resources where you can grant this role:
|
|
Vertex AI Feature Store Data Viewer( This role provides permissions to read Feature data. Lowest-level resources where you can grant this role:
|
|
Vertex AI Feature Store Data Writer( This role provides permissions to read and write Feature data. Lowest-level resources where you can grant this role:
|
|
Vertex AI Feature Store Instance Creator( Administrator of Featurestore resources, but not the child resources under Featurestores. Lowest-level resources where you can grant this role:
|
|
Vertex AI Feature Store Resource Viewer( Viewer of all resources in Vertex AI Feature Store but cannot make changes. Lowest-level resources where you can grant this role:
|
|
Vertex AI Feature Store User Beta( Deprecated. Use featurestoreAdmin instead. |
|
Vertex AI Migration Service User( Grants access to use migration service in Vertex AI |
|
Vertex AI Model Monitoring Service Agent( Gives Vertex AI Model Monitoring the permissions it needs to function. |
|
Notebook Executor User Beta( Grants users full access to schedules and notebook execution jobs. |
|
Notebook Runtime Admin( Grants full access to all runtime templates and runtimes in Notebook Service. |
|
Notebook Runtime User( Grants users permissions to create runtime resources using a runtime template and manage the runtime resources they created. |
|
Vertex AI Notebook Service Agent( Vertex AI Service Agent used to run Notebook managed resources in user project with restricted permissions. |
|
Vertex AI Online Prediction Service Agent( Gives Vertex AI Online Prediction the permissions it needs to function. |
|
Vertex AI Platform Provisioned Throughput Admin Beta( Grants access to use all resources related to Vertex AI Provisioned Throughput |
|
Vertex AI RAG Data Service Agent( Vertex AI Service Agent used by Vertex RAG to access user imported data, Vertex AI, Document AI processors in the project |
|
Vertex AI Rapid Eval Service Agent( Vertex AI Service Agent used by GenAI Rapid Evaluation Service to access publisher model endpoints in the user project |
|
Vertex AI Reasoning Engine Service Agent( Gives Vertex AI Reasoning Engine the proper permissions to function. |
|
Vertex AI Service Agent( Gives Vertex AI the permissions it needs to function. |
|
Vertex AI Tensorboard Web App User Beta( Grants access to the Vertex AI TensorBoard web app. |
|
Vertex AI Tuning Service Agent( Vertex AI Service Agent used for tuning in user project. |
|
Vertex AI User( Grants access to use all resource in Vertex AI |
|
Vertex AI Viewer( Grants access to view all resource in Vertex AI |
|
基本角色
舊版 Google Cloud 基本角色 適用於所有 Google Cloud 服務。這些角色包括擁有者、編輯者和檢視者。
專案層級與資源層級存取權
您可以在專案層級或資源層級管理存取權。您也可能可以在資料夾或機構層級管理存取權。
對於大多數 Vertex AI 資源,存取權只能由專案、資料夾和機構控管。您只能針對特定資源類型 (例如端點或特徵商店) 授予個別資源的存取權。
使用者會共用所有可存取資源的控制權。舉例來說,如果使用者註冊模型,專案中所有其他授權使用者都可以存取、變更及刪除模型。
如要授予專案層級的資源存取權,請為主體 (使用者、群組或服務帳戶) 指派一或多個角色。
對於允許您在資源層級授予存取權的 Vertex AI 資源,您可以在該資源上設定 IAM 政策。這項政策會定義要將哪些角色指派給哪些主體。
在資源層級設定政策不會影響專案層級政策。資源會繼承其祖先的所有政策。您可以利用兩個層級的精細程度來自訂權限。舉例來說,您可以在專案層級授予使用者讀取權限,讓他們讀取專案中的所有資源,然後在資源層級授予使用者各項資源的寫入權限。
並非所有 Vertex AI 預先定義角色和資源都支援資源層級政策。如要瞭解哪些角色可用於哪些資源,請參閱預先定義角色表。
支援的資源
Vertex AI 支援 Vertex AI 特徵儲存庫特徵儲存庫和實體類型資源。詳情請參閱「控管 Vertex AI 特徵儲存庫資源的存取權」。
授予或撤銷資源存取權後,相關變更需要一段時間才會生效。詳情請參閱「存取權變更傳播」。
資源、服務帳戶和服務代理
Vertex AI 服務通常會管理執行動作的長期執行資源,例如執行讀取訓練資料的訓練作業,或提供讀取模型權重的機器學習 (ML) 模型。執行動作時,這類獨立資源會有自己的資源 ID。這項身分與建立資源的主體身分不同。授予資源身分的權限會定義資源身分可存取的資料和其他資源,而非建立資源的主體權限。
根據預設,Vertex AI 資源會使用 Vertex AI 管理的服務帳戶做為資源 ID。這些服務帳戶稱為 Vertex AI 服務代理,會附加至建立資源的專案。具備特定 Vertex AI 權限的使用者可以建立使用 Vertex AI 服務代理的資源。對於某些服務,您可以指定要附加至資源的服務帳戶。資源會使用這個服務帳戶存取其他資源和服務。如要進一步瞭解服務帳戶,請參閱服務帳戶。
Vertex AI 會根據呼叫的 API 使用不同的服務代理。每個服務代理在所屬專案中都有特定的身分與存取權管理權限。資源身分會使用這些權限執行動作,權限可包括專案中所有 Cloud Storage 資源和 BigQuery 資料的唯讀存取權。
服務帳戶
服務帳戶是應用程式或虛擬機器 (VM) 執行個體使用的特殊帳戶,而非個人帳戶。您可以建立服務帳戶並指派權限,為資源或應用程式提供特定權限。
如要瞭解如何使用服務帳戶,自訂自訂訓練容器或容器可用的權限,以便為自訂訓練模型提供線上預測服務,請參閱「使用自訂服務帳戶」。
服務帳戶會透過電子郵件地址來識別。
服務代理
系統會自動提供服務代理,讓服務代表您存取資源。
建立服務代理程式時,系統會授予專案預先定義的角色。下表列出 Vertex AI 服務代理程式、電子郵件地址和各自的角色:
名稱 | 適用於: | 電子郵件地址 | 角色 |
---|---|---|---|
Vertex AI 服務代理 | Vertex AI 功能 | service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com |
roles/aiplatform.serviceAgent |
Vertex AI RAG 資料服務代理 | Vertex AI RAG 可存取使用者匯入的資料、Vertex AI 和專案中的 Document AI 處理器 | service-PROJECT_NUMBER@gcp-sa-vertex-rag.iam.gserviceaccount.com |
roles/ |
Vertex AI 自訂程式碼服務代理人 |
自訂訓練程式碼 Ray on Vertex AI 應用程式程式碼 |
service-PROJECT_NUMBER@gcp-sa-aiplatform-cc.iam.gserviceaccount.com |
roles/aiplatform.customCodeServiceAgent |
Vertex AI 擴充功能服務代理 | Vertex 擴充功能 | service-PROJECT_NUMBER@gcp-sa-vertex-ex.iam.gserviceaccount.com |
|
Cloud AI 平台 Notebooks 服務帳戶 | Vertex AI Workbench 功能 | service-PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com |
roles/notebooks.serviceAgent |
只有在執行自訂訓練程式碼來訓練自訂訓練模型時,才會建立 Vertex AI 自訂程式碼服務代理。
服務代理角色和權限
請參閱授予 Vertex AI 服務代理程式的下列角色和權限。
角色 | 權限 |
---|---|
Vertex AI 服務代理( 授予 Vertex AI 正常運作所需的權限。 |
|
Vertex AI RAG 資料服務代理( Vertex RAG 可以透過這個 Vertex AI 服務代理,在專案存取使用者匯入的資料、Vertex AI 和 Document AI 處理器。 |
|
Vertex AI 自訂程式碼服務代理( 可將適當的權限授予 Vertex AI 自訂程式碼。 |
|
Vertex AI 擴充功能服務代理( 可授予 Vertex AI 擴充功能運作所需的權限。 |
|
AI 平台筆記本服務代理人( 為筆記本服務代理授予管理使用者專案中筆記本執行個體的權限 |
|
授予 Vertex AI 服務代理程式其他資源的存取權
有時您需要授予 Vertex AI 服務代理額外的角色。舉例來說,如果需要 Vertex AI 存取其他專案中的 Cloud Storage 值區,您必須將一或多個額外角色授予服務代理。
BigQuery 角色新增規定
下表說明需要新增至 Vertex AI 服務代理的其他角色,才能存取不同專案中的 BigQuery 資料表或檢視畫面,或存取外部資料來源支援的資料表或檢視畫面。
主專案是指 Vertex AI 資料集或模型所在的專案。「其他專案」是指任何其他專案。
資料表類型 | 表格專案 | 資料來源專案 | 必須新增角色 |
---|---|---|---|
原生 BigQuery 資料表 | 住家專案 | 不適用 | 無 |
原生 BigQuery 資料表 | 其他專案 | 不適用 | BigQuery Data Viewer ,適用於不同專案。瞭解詳情。 |
BigQuery 檢視區塊 | 住家專案 | 不適用 | 無 |
BigQuery 檢視區塊 | 其他專案 | 不適用 | BigQuery Data Viewer ,適用於不同專案。瞭解詳情。 |
Bigtable 支援的外部 BigQuery 資料來源 | 住家專案 | 住家專案 | Bigtable Reader ,瞭解詳情。 |
Bigtable 支援的外部 BigQuery 資料來源 | 住家專案 | 其他專案 | Bigtable Reader ,適用於不同專案。瞭解詳情。 |
Bigtable 支援的外部 BigQuery 資料來源 | 其他專案 | 其他專案 | BigQuery Reader 和 Bigtable Reader ,適用於不同專案。瞭解詳情。 |
以 Cloud Storage 為後端的外部 BigQuery 資料來源 | 住家專案 | 住家專案 | 無 |
以 Cloud Storage 為後端的外部 BigQuery 資料來源 | 住家專案 | 其他專案 | Storage Object Viewer ,適用於不同專案。瞭解詳情。 |
以 Cloud Storage 為後端的外部 BigQuery 資料來源 | 其他專案 | 其他專案 | Storage Object Viewer 和 BigQuery Data Viewer ,適用於不同專案。瞭解詳情。 |
以 Google 試算表為基礎的外部 BigQuery 資料來源 | 住家專案 | 不適用 | 與 Vertex AI 服務帳戶共用 Google 試算表檔案。瞭解詳情。 |
以 Google 試算表為基礎的外部 BigQuery 資料來源 | 其他專案 | 不適用 | BigQuery Reader 不同專案,並與 Vertex AI 服務帳戶共用 Google 試算表檔案。 |
Cloud Storage 的角色新增規定
如要存取其他專案中 Cloud Storage 值區的資料,您必須在該專案中授予 Vertex AI Storage > Storage Object Viewer
角色。瞭解詳情。
如果您使用 Cloud Storage 值區接收本機電腦的資料,以進行匯入作業,且該值區與Google Cloud 專案位於不同專案,則必須將 Storage > Storage Object Creator
角色授予該專案中的 Vertex AI。瞭解詳情。
授予 Vertex AI 存取主專案中資源的權限
如要為住家專案中的 Vertex AI 服務代理人授予其他角色,請按照下列步驟操作:
前往主專案的 Google Cloud 控制台「IAM」IAM頁面。
選取「包含 Google 提供的角色授權」核取方塊。
找出要授予權限的服務代理,然後點選 鉛筆圖示。
您可以篩選 Principal:@gcp-sa-aiplatform-cc。iam.gserviceaccount.com ,找出 Vertex AI 服務代理程式。
將必要角色授予服務代理,然後儲存變更。
授予 Vertex AI 存取其他專案中資源的權限
如果使用其他專案中的資料來源或目的地,您必須在該專案中授予 Vertex AI 服務代理權限。啟動第一個非同步工作 (例如建立端點) 後,系統就會建立 Vertex AI 服務代理。您也可以明確建立 Vertex AI 服務代理程式。詳情請參閱「gcloud beta services identity create」。這項 Google Cloud CLI 指令會建立主要服務代理人和自訂程式碼服務代理人。不過,回應中只會傳回主要服務代理。
如要在其他專案中新增 Vertex AI 的權限,請按照下列步驟操作:
前往主專案 (您使用 Vertex AI 的專案) 的 Google Cloud 控制台「IAM」IAM頁面。
選取「包含 Google 提供的角色授權」核取方塊。
找出要授予權限的服務代理,然後複製其電子郵件地址 (列在「主體」下方)。
您可以篩選 Principal:@gcp-sa-aiplatform-cc。iam.gserviceaccount.com ,找出 Vertex AI 服務代理程式。
將專案變更為需要授予權限的專案。
按一下「新增」,然後在「New principals」(新增主體) 中輸入電子郵件地址。
新增所有必要角色,然後按一下「儲存」。
提供 Google 試算表存取權
如果您使用 Google 試算表支援的外部 BigQuery 資料來源,請務必與 Vertex AI 服務帳戶共用試算表。啟動第一個非同步工作 (例如建立端點) 後,系統就會建立 Vertex AI 服務帳戶。您也可以按照這項說明,使用 gcloud CLI 建立 Vertex AI 服務帳戶。
如要授權 Vertex AI 存取 Google 試算表檔案,請按照下列步驟操作:
前往 Google Cloud 控制台的「IAM」IAM頁面。
找出名稱為
Vertex AI Service Agent
的服務帳戶,並複製其電子郵件地址 (列在「Principal」下方)。開啟試算表檔案,然後與該地址共用。
後續步驟
- 進一步瞭解 IAM。
- 瞭解特定 IAM 權限和支援的作業。
- 如要瞭解為團隊設定專案的建議方式,請參閱「為團隊設定專案」。
- 大致瞭解 Vertex AI。