使用 IAM 进行访问权限控制

AI Platform Training 使用 Identity and Access Management (IAM) 管理资源访问权限。如需授予对某项资源的访问权限,请为用户、群组或服务账号分配一个或多个角色

AI Platform Training 中可以使用三种类型的 IAM 角色:

  • 基本角色(Owner、Viewer、Editor)在所有 Google Cloud 服务中通用。

  • 预定义的 AI Platform Training 角色,使您可以在项目级层和模型级层对 AI Platform Training 资源进行精细的访问权限控制。

  • 自定义角色让您可以基于一组特定权限创建具有这些权限的专属角色,然后将该角色授予组织中的用户。

本指南将着重介绍预定义的 AI Platform Training 角色、其常见用法和关联的权限

本指南重点介绍访问 AI Platform Training 资源所需的角色和权限。如需详细了解这些资源本身访问其他 Google Cloud 资源所需的权限,请参阅 AI Platform Google 管理的服务账号和自定义服务账号

基本角色

旧版 AI Platform Training IAM 角色基于所有 GCP 服务通用的基本角色:Owner、Viewer、Editor。

旧版项目 Editor 角色等同于 AI Platform Training Admin 角色

旧版项目 Viewer 角色不仅授予用户与 AI Platform Training Viewer 角色相同的权限,还授予用户发送在线预测请求的权限。使用 AI Platform Training Viewer 角色的优势在于,用户仅可获取 AI Platform Training 资源的只读访问权限。

预定义角色

预定义角色可以授予一组相关权限。 AI Platform Training 将为您的项目以及单个模型、作业和操作提供预定义角色。

如需查看每个角色的完整权限列表,请点击角色名称。

项目角色

AI Platform Training Admin、Developer 和 Viewer 角色可以在项目级层授予不同级别的资源访问权限。

如需在 AI Platform Training 项目中添加、更新或移除这些角色,请参阅有关授予、更改和撤消访问权限的文档。

角色称谓 角色名称 权限
AI Platform Training Admin

roles/ml.admin

拥有 AI Platform Training 项目及其作业、操作、模型和版本的完全控制权。

注意:基本项目角色 Editor 等效于 roles/ml.admin

AI Platform Training Developer

roles/ml.developer

可以创建训练和预测作业、模型与版本以及发送在线预测请求。

AI Platform Training Viewer

roles/ml.viewer

拥有 AI Platform Training 资源的只读权限。

作业和操作角色

Model Owner 角色类似,作业和操作资源级层的所有者角色也会自动授予给创建作业或操作的用户。这些角色允许用户完全控制自己创建的任何作业或操作。如需了解详情,请参阅作业和操作角色的权限

权限和角色

请参阅本部分内容,了解为各个 AI Platform Training 预定义角色授予的完整权限列表。如果这些预定义角色无法满足您的需求,请参考此部分内容以创建专属自定义角色

Admin 角色

角色名称 说明 权限
roles/ml.admin AI Platform Training Admin

拥有 AI Platform Training 项目及其作业、操作、模型和版本的完全访问权限。

注意:从基本的项目 Editor 角色迁移至此角色相当简单。如果您以前使用的是在项目级分配的基本 Editor 角色,可以使用此 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

Developer 角色

角色名称 说明 权限
roles/ml.developer

拥有创建训练和预测作业、模型与版本以及发送在线预测请求的权限。

注意:开发者拥有其创建的所有作业的 ml.jobs.cancelml.jobs.update 权限,因为在创建作业时,系统将自动授予他们 AI Platform Training Job Owner 角色

建议:授予开发者对 AI Platform Training 日志的只读权限,以便其排查问题

  • 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

Viewer 角色

角色名称 说明 权限
roles/ml.viewer

拥有对特定项目的 AI Platform Training 资源的只读权限。

注意:旧版项目 Viewer 角色不仅授予用户与 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

Job Owner 角色

角色名称 说明 权限
roles/ml.jobOwner

拥有对特定作业资源的全部访问权限。系统会将 Job Owner 角色自动授予创建该作业的用户。

例如,对项目拥有 AI Platform Training Developer 角色的用户可以创建作业、列出所有作业并获取给定项目中的所有作业。不过,Developer 仅有权取消自己创建的作业。

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

Operation Owner 角色

角色名称 说明 权限
roles/ml.operationOwner

拥有对特定操作资源的全部访问权限。 如果用户在创建版本或模型时,间接创建了任何操作,则系统会自动将这些操作的操作所有者角色授予该用户,这样用户始终可以获取和取消自己的操作。

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

方法所需的权限

为方便起见,本部分列出了调用 AI Platform Training 中的各个方法所需的权限:

方法 所需权限
projects.getConfig ml.projects.getConfig
projects.jobs.cancel ml.jobs.cancel
projects.jobs.create ml.jobs.create
projects.jobs.get ml.jobs.get
projects.jobs.list ml.jobs.list
projects.operations.cancel ml.operations.cancel
projects.operations.get ml.operations.get
projects.operations.list ml.operations.list

后续步骤