存取權控管

AI Platform 會使用 Identity and Access Management (IAM) 來管理資源的存取權限。如要授予資源的存取權限,請為使用者、群組或服務帳戶指派一或多個角色

在 AI Platform 中可以使用三種身分與存取權管理角色:

  • 原始角色 (擁有者、檢視者和編輯者) 是所有 GCP 服務通用的角色。

  • 預先定義的 AI Platform 角色可讓您在專案和模型層級精確地掌控 AI Platform 資源的存取權。

  • 自訂角色可讓您選擇特定的一組權限,使用這些權限建立您自己的角色,然後將該角色授予機構中的使用者。

本指南將著重說明預先定義的 AI Platform 角色、一般用途和相關權限

原始角色

舊版的 AI Platform 身分與存取權管理角色是以所有 GCP 服務通用的原始角色為基礎,也就是擁有者、檢視者和編輯者。

舊版專案的編輯者角色相當於 AI Platform 的管理員角色

舊版專案的檢視者角色可授予與 AI Platform 檢視者角色相同的權限,以及傳送線上預測要求的權限。使用 AI Platform 檢視者角色的優點是使用者可以取得 AI Platform 資源的唯讀存取權。

預先定義的角色

預先定義的角色可授予一組相關權限。AI Platform 可為專案以及個別模型、工作和作業提供預先定義的角色。

如要查看每個角色的完整權限清單,請按一下角色的名稱。

專案角色

AI Platform 管理員、開發人員及檢視者角色可在專案層級授予不同程度的資源存取權。

如要在 AI Platform 專案中新增、更新或移除這些角色,請參閱授予、變更及撤銷團隊成員的存取權的說明文件。

角色職稱 角色名稱 權限
AI Platform 管理員

roles/ml.admin

具備 AI Platform 專案以及其工作、作業、模型和版本的完整控制權。

注意事項:原始專案的編輯者角色相當於 roles/ml.admin

AI Platform 開發人員

roles/ml.developer

建立訓練和預測工作、模型和版本,以及傳送線上預測要求。

AI Platform 檢視者

roles/ml.viewer

具備 AI Platform 資源的唯讀存取權。

模型角色

AI Platform 模型擁有者和模型使用者角色可針對特定模型資源授予不同的權限。

您可以授予模型使用者角色,來與個別使用者或服務共用模型。

角色職稱 角色名稱 權限
AI Platform 模型擁有者

roles/ml.modelOwner

具備模型及其版本的完整存取權。系統會自動將這個角色授予建立模型的使用者。

AI Platform 模型使用者

roles/ml.modelUser

具備讀取模型及其版本,以及使用這些項目進行預測的權限。授予這個角色即可輕鬆地共用特定模型。

工作和作業角色

工作和作業資源層級也有擁有者角色,與模型擁有者角色類似,系統會將這些角色自動指派給建立工作或作業的使用者。這些角色可讓使用者完全掌控自己建立的任何工作或作業。詳情請參閱工作和作業角色的權限

權限與角色

如需每個 AI Platform 預先定義的角色所授予權限的完整清單,請參閱本節內容。如果這些預先定義的角色無法滿足您的需求,請使用本節做為建立自訂角色的參考。

管理員角色

角色名稱 說明 權限
roles/ml.admin AI Platform 管理員

具備 AI Platform 專案以及其工作、作業、模型和版本的完整存取權。

附註:從原始專案編輯者角色遷移到這個角色非常簡單。如果您先前使用的是在專案層級指派的原始編輯者角色,現在可以使用這個 roles/ml.admin 角色,為使用者授予完全相同的一組權限。

  • resourcemanager.projects.get
  • ml.projects.getConfig
  • ml.jobs.create
  • ml.jobs.list
  • ml.jobs.get
  • ml.jobs.getIamPolicy
  • ml.jobs.setIamPolicy
  • ml.jobs.cancel
  • ml.operations.list
  • ml.operations.get
  • ml.operations.cancel
  • ml.models.create
  • ml.models.list
  • ml.models.get
  • ml.models.setIamPolicy
  • ml.models.getIamPolicy
  • ml.models.predict
  • ml.models.delete
  • ml.models.update
  • ml.versions.create
  • ml.versions.list
  • ml.versions.get
  • ml.versions.predict
  • ml.versions.delete

開發人員角色

角色名稱 說明 權限
roles/ml.developer

具備建立訓練和預測工作、模型和版本,以及傳送線上預測要求的存取權。

注意事項:開發人員會取得所建立工作的 ml.jobs.cancelml.jobs.update 權限,因為建立工作會讓系統自動授予他們 AI Platform 工作擁有者角色

建議:授予開發人員 AI Platform 記錄檔的唯讀存取權,以便進行疑難排解

  • resourcemanager.projects.get
  • ml.projects.getConfig
  • ml.jobs.create
  • ml.jobs.list
  • ml.jobs.get
  • ml.jobs.getIamPolicy
  • ml.operations.list
  • ml.operations.get
  • ml.models.create
  • ml.models.list
  • ml.models.get
  • ml.models.getIamPolicy
  • ml.models.predict
  • ml.versions.list
  • ml.versions.get
  • ml.versions.predict

檢視者角色

角色名稱 說明 權限
roles/ml.viewer

針對特定專案具備 AI Platform 資源的唯讀存取權。

注意事項:舊版專案的檢視者角色可授予使用者與 roles/ml.viewer 角色相同的權限,以及傳送線上預測要求的權限。

  • resourcemanager.projects.get
  • ml.projects.getConfig
  • ml.jobs.list
  • ml.jobs.get
  • ml.operations.list
  • ml.operations.get
  • ml.models.list
  • ml.models.get
  • ml.versions.list
  • ml.versions.get

模型擁有者角色

角色名稱 說明 權限
roles/ml.modelOwner 具備模型及其版本的完整權限。系統會自動將這個角色授予建立模型的使用者。
  • ml.models.get
  • ml.models.setIamPolicy
  • ml.models.getIamPolicy
  • ml.models.predict
  • ml.models.delete
  • ml.models.update
  • ml.versions.create
  • ml.versions.list
  • ml.versions.get
  • ml.versions.predict
  • ml.versions.delete

模型使用者角色

角色名稱 說明 權限
roles/ml.modelUser 具備讀取模型及其版本,以及使用這些項目進行預測的權限。
  • ml.models.get
  • ml.models.predict
  • ml.versions.list
  • ml.versions.get
  • ml.versions.predict

工作擁有者角色

角色名稱 說明 權限
roles/ml.jobOwner

具備特定工作資源的所有完整權限。系統會自動將工作擁有者角色授予建立該工作的使用者。

例如,具有某一專案的 AI Platform 開發人員角色的使用者可以在該特定專案中建立工作、列出所有工作,以及取得所有工作。開發人員僅有權取消他們建立的工作。

  • ml.jobs.get
  • ml.jobs.getIamPolicy
  • ml.jobs.cancel

作業擁有者角色

角色名稱 說明 權限
roles/ml.operationOwner

具備特定作業資源的所有完整權限。 系統會針對使用者在建立版本或模型時間接建立的任何作業,自動將作業擁有者角色授予使用者,讓使用者永遠可以取得和取消自己的作業。

  • ml.operations.get
  • ml.operations.cancel

訓練和預測所需的權限

為了方便起見,下表摘要說明訓練和預測作業需要的特定權限:

工作 所需權限
訓練
  • ml.jobs.create
批次預測
  • ml.jobs.create
  • ml.models.predict*
  • ml.versions.predict*

附註:您可以指定儲存於 Google Cloud Storage 的模型所在位置,藉此建立沒有已部署版本的批次預測工作。這類批次預測工作僅需要 ml.jobs.create 權限。

若要建立使用已部署版本的批次預測工作,您也會需要 ml.models.predictml.versions.predict 權限。

線上預測
  • ml.models.predict
  • ml.versions.predict

呼叫各個方法時需要的權限

為方便起見,本節列出在 AI Platform 中呼叫各個方法時所需的權限:

方法 所需權限
projects.getConfig ml.projects.getConfig
projects.jobs.cancel ml.jobs.cancel
projects.jobs.create ml.jobs.create

注意事項:如要針對已部署的版本建立批次預測工作,您必須具備 ml.models.predictml.versions.predict 其中一項權限。

projects.jobs.get ml.jobs.get
projects.jobs.list ml.jobs.list
projects.models.create ml.models.create
projects.models.delete ml.models.delete
projects.models.get ml.models.get
projects.models.list ml.models.list
projects.models.versions.create ml.versions.create
projects.models.versions.delete ml.versions.delete
projects.models.versions.get ml.versions.get
projects.models.versions.list ml.versions.list
projects.models.versions.setDefault ml.models.update
projects.operations.cancel ml.operations.cancel
projects.operations.get ml.operations.get
projects.operations.list ml.operations.list

儲存所需的權限

當您在 AI Platform 上部署經過訓練的模型,以便取得預測結果時,您必須將模型存檔上傳到 Cloud Storage。在 Cloud Storage 值區中,模型檔案屬於物件。您必須確定您的 AI Platform 服務帳戶可以存取檔案,以用於 Cloud Storage 值區中經過訓練的模型。

請授予 AI Platform 服務帳戶 Cloud Storage 身分與存取權管理角色,該角色至少應具備下列權限:

工作 所需權限 說明
預測 storage.buckets.list 允許您的 AI Platform 專案在 Cloud Storage 值區中尋找模型檔案。
預測 storage.objects.get 允許您的 AI Platform 專案讀取 Cloud Storage 值區中的模型檔案。

請參閱如何為 AI Platform 設定 Cloud Storage 權限

後續步驟