华为云AI开发平台ModelArts委托和依赖_云淘科技

功能依赖

功能依赖策略项

您在使用ModelArts服务中开发算法、管理训练作业过程中,需要和其它云服务交互,比如需要在提交训练作业时选择指定数据集OBS路径和日志存储OBS路径。因此管理员在为用户配置细粒度授权策略时,需要同时配置依赖的权限项,用户才能使用完整的功能。

如果您使用根用户(与账户同名的缺省子用户)使用ModelArts,根用户默认拥有所有权限,不再需要单独授权。
请用户确保当前用户具备委托授权中包含的依赖策略项权限。例如,用户给ModelArts的委托需要授权SWR Admin权限,需要保证用户本身具备SWR Admin权限。

表1 基本配置

业务场景

依赖的服务

依赖策略项

支持的功能

全局配置

IAM

iam:users:listUsers

查询用户列表(仅管理员需要)

基本功能

IAM

iam:tokens:assume

使用委托获取用户临时认证凭据(必需)

基本功能

BSS

bss:balance:view

在ModelArts控制台创建资源后,页面展示帐号当前余额

表2 管理工作空间

业务场景

依赖的服务

依赖策略项

支持的功能

工作空间

IAM

iam:users:listUsers

按用户进行工作空间授权

ModelArts

modelarts:*:*delete*

删除工作空间时,同时清理空间内的资源

表3 管理开发环境Notebook

业务场景

依赖的服务

依赖策略项

支持的功能

开发环境实例生命周期管理

ModelArts

modelarts:notebook:create

modelarts:notebook:list

modelarts:notebook:get

modelarts:notebook:update

modelarts:notebook:delete

modelarts:notebook:start

modelarts:notebook:stop

modelarts:notebook:updateStopPolicy

modelarts:image:delete

modelarts:image:list

modelarts:image:create

modelarts:image:get

modelarts:pool:list

modelarts:tag:list

modelarts:network:get

aom:metric:get

aom:metric:list

aom:alarm:list

实例的启动、停止、创建、删除、更新等依赖的权限。

动态挂载存储配置

ModelArts

modelarts:notebook:listMountedStorages

modelarts:notebook:mountStorage

modelarts:notebook:getMountedStorage

modelarts:notebook:umountStorage

动态挂载存储配置。

OBS

obs:bucket:ListAllMyBuckets

obs:bucket:ListBucket

镜像管理

ModelArts

modelarts:image:register

modelarts:image:listGroup

在镜像管理中注册和查看镜像。

保存镜像

SWR

SWR Admin

SWR Admin为SWR最大权限,用于:

开发环境运行的实例,保存成镜像。
使用自定义镜像创建开发环境Notebook实例。

使用SSH功能

ECS

ecs:serverKeypairs:list

ecs:serverKeypairs:get

ecs:serverKeypairs:delete

ecs:serverKeypairs:create

为开发环境Notebook实例配置登录密钥。

挂载SFS Turbo盘

SFS Turbo

SFS Turbo FullAccess

子用户对SFS目录的读写操作权限。专属池Notebook实例挂载SFS(公共池不支持),且挂载的SFS不是当前子用户创建的。

查看所有实例

ModelArts

modelarts:notebook:listAllNotebooks

ModelArts开发环境界面上,查询所有用户的实例列表,适用于给开发环境的实例管理员配置该权限。

IAM

iam:users:listUsers

VSCode插件(本地)/ PyCharm Toolkit(本地)

ModelArts

modelarts:notebook:listAllNotebooks

modelarts:trainJob:create

modelarts:trainJob:list

modelarts:trainJob:update

modelarts:trainJobVersion:delete

modelarts:trainJob:get

modelarts:trainJob:logExport

modelarts:workspace:getQuotas(若开通了工作空间功能,则需要配置此权限。)

从本地VSCode连接云上的Notebook实例、提交训练作业等。

OBS

obs:bucket:ListAllMybuckets

obs:bucket:HeadBucket

obs:bucket:ListBucket

obs:bucket:GetBucketLocation

obs:object:GetObject

obs:object:GetObjectVersion

obs:object:PutObject

obs:object:DeleteObject

obs:object:DeleteObjectVersion

obs:object:ListMultipartUploadParts

obs:object:AbortMultipartUpload

obs:object:GetObjectAcl

obs:object:GetObjectVersionAcl

obs:bucket:PutBucketAcl

obs:object:PutObjectAcl

obs:object:ModifyObjectMetaData

IAM

iam:projects:listProjects

从本地PyCharm查询IAM项目列表,完成连接配置。

表4 管理训练作业

业务场景

依赖的服务

依赖策略项

支持的功能

训练管理

ModelArts

modelarts:trainJob:*

modelarts:trainJobLog:*

modelarts:aiAlgorithm:*

modelarts:image:list

创建训练作业和查看训练日志。

modelarts:workspace:getQuotas

查询工作空间配额。若开通了工作空间功能,则需要配置此权限。

modelarts:tag:list

在训练作业中使用标签管理服务TMS。

IAM

iam:credentials:listCredentials

iam:agencies:listAgencies

使用配置的委托授权项。

SFS Turbo

sfsturbo:shares:getShare

sfsturbo:shares:getAllShares

在训练作业中使用SFS Turbo。

SWR

swr:repository:listTags

swr:repository:getRepository

swr:repository:listRepositories

使用自定义镜像运行训练作业。

SMN

smn:topic:publish

smn:topic:list

通过SMN通知训练作业状态变化事件。

OBS

obs:bucket:ListAllMybuckets

obs:bucket:HeadBucket

obs:bucket:ListBucket

obs:bucket:GetBucketLocation

obs:object:GetObject

obs:object:GetObjectVersion

obs:object:PutObject

obs:object:DeleteObject

obs:object:DeleteObjectVersion

obs:object:ListMultipartUploadParts

obs:object:AbortMultipartUpload

obs:object:GetObjectAcl

obs:object:GetObjectVersionAcl

obs:bucket:PutBucketAcl

obs:object:PutObjectAcl

obs:object:ModifyObjectMetaData

使用OBS桶中的数据集运行训练作业。

表5 使用Workflow

业务场景

依赖的服务

依赖策略项

支持的功能

使用数据集

ModelArts

modelarts:dataset:getDataset

modelarts:dataset:createDataset

modelarts:dataset:createDatasetVersion

modelarts:dataset:createImportTask

modelarts:dataset:updateDataset

modelarts:processTask:createProcessTask

modelarts:processTask:getProcessTask

modelarts:dataset:listDatasets

在工作流中使用ModelArts数据集

管理AI应用

ModelArts

modelarts:model:list

modelarts:model:get

modelarts:model:create

modelarts:model:delete

modelarts:model:update

在工作流中管理ModelArts AI应用

部署上线

ModelArts

modelarts:service:get

modelarts:service:create

modelarts:service:update

modelarts:service:delete

modelarts:service:getLogs

在工作流中管理ModelArts在线服务

训练作业

ModelArts

modelarts:trainJob:get

modelarts:trainJob:create

modelarts:trainJob:list

modelarts:trainJobVersion:list

modelarts:trainJobVersion:create

modelarts:trainJob:delete

modelarts:trainJobVersion:delete

modelarts:trainJobVersion:stop

在工作流中管理ModelArts训练作业

工作空间

ModelArts

modelarts:workspace:get

modelarts:workspace:getQuotas

在工作流中使用ModelArts工作空间

管理数据

OBS

obs:bucket:ListAllMybuckets(获取桶列表)

obs:bucket:HeadBucket(获取桶元数据)

obs:bucket:ListBucket(列举桶内对象)

obs:bucket:GetBucketLocation(获取桶区域位置)

obs:object:GetObject(获取对象内容、获取对象元数据)

obs:object:GetObjectVersion(获取对象内容、获取对象元数据)

obs:object:PutObject(PUT上传、POST上传、复制对象、追加写对象、初始化上传段任务、上传段、合并段)

obs:object:DeleteObject(删除对象、批量删除对象)

obs:object:DeleteObjectVersion(删除对象、批量删除对象)

obs:object:ListMultipartUploadParts(列举已上传的段)

obs:object:AbortMultipartUpload(取消多段上传任务)

obs:object:GetObjectAcl(获取对象ACL)

obs:object:GetObjectVersionAcl(获取对象ACL)

obs:bucket:PutBucketAcl(设置桶ACL)

obs:object:PutObjectAcl(设置对象ACL)

在工作流中使用OBS数据

工作流运行

IAM

iam:users:listUsers(查询用户列表)

iam:agencies:getAgency(查询指定委托详情)

iam:tokens:assume(获取委托Token)

在工作流运行时,调用Modelarts其它服务

集成DLI

DLI

dli:jobs:get(查询作业详情)

dli:jobs:list_all(查询作业列表)

dli:jobs:create(创建新作业)

在工作流中集成DLI

集成MRS

MRS

mrs:job:get(查询作业详情)

mrs:job:submit(创建并执行作业)

mrs:job:list(查询作业列表)

mrs:job:stop(停止作业)

mrs:job:batchDelete(批量删除作业)

mrs:file:list(查询文件列表)

在工作流中集成MRS

表6 管理AI应用

业务场景

依赖的服务

依赖策略项

支持的功能

管理AI应用

SWR

swr:repository:deleteRepository

swr:repository:deleteTag

swr:repository:getRepository

swr:repository:listTags

从自定义镜像导入

从OBS导入时使用自定义引擎

OBS

obs:bucket:ListAllMybuckets(获取桶列表)

obs:bucket:HeadBucket(获取桶元数据)

obs:bucket:ListBucket(列举桶内对象)

obs:bucket:GetBucketLocation(获取桶区域位置)

obs:object:GetObject(获取对象内容、获取对象元数据)

obs:object:GetObjectVersion(获取对象内容、获取对象元数据)

obs:object:PutObject(PUT上传、POST上传、复制对象、追加写对象、初始化上传段任务、上传段、合并段)

obs:object:DeleteObject(删除对象、批量删除对象)

obs:object:DeleteObjectVersion(删除对象、批量删除对象)

obs:object:ListMultipartUploadParts(列举已上传的段)

obs:object:AbortMultipartUpload(取消多段上传任务)

obs:object:GetObjectAcl(获取对象ACL)

obs:object:GetObjectVersionAcl(获取对象ACL)

obs:bucket:PutBucketAcl(设置桶ACL)

obs:object:PutObjectAcl(设置对象ACL)

从OBS导入模型

模型转换指定OBS路径

表7 管理部署上线

业务场景

依赖的服务

依赖策略项

支持的功能

在线服务

LTS

lts:logs:list(查询日志列表)

查询和展示LTS日志

OBS

obs:bucket:GetBucketPolicy (获取桶策略)

obs:bucket:HeadBucket (获取桶元数据)

obs:bucket:ListAllMyBuckets (获取桶列表)

obs:bucket:PutBucketPolicy (设置桶策略)

obs:bucket:DeleteBucketPolicy (删除桶策略)

服务运行时容器挂载外部存储卷

批量服务

OBS

obs:object:GetObject(获取对象内容、获取对象元数据)

obs:object:PutObject(PUT上传、POST上传、复制对象、追加写对象、初始化上传段任务、上传段、合并段)

obs:bucket:CreateBucket(创建桶)

obs:bucket:ListBucket(列举桶内对象)

obs:bucket:ListAllMyBuckets(获取桶列表)

创建批量服务,批量推理。

边缘服务

CES

ces:metricData:list(查询指标数据)

查看服务的监控指标

IEF

ief:deployment:delete(删除应用部署)

管理边缘服务

表8 管理数据集

业务场景

依赖的服务

依赖策略项

支持的功能

管理数据集和标注

OBS

obs:bucket:ListBucket(列举桶内对象)

obs:object:GetObject(获取对象内容、获取对象元数据)

obs:object:PutObject(PUT上传、POST上传、复制对象、追加写对象、初始化上传段任务、上传段、合并段)

obs:object:DeleteObject(删除对象、批量删除对象)

obs:bucket:HeadBucket(获取桶元数据)

obs:bucket:GetBucketAcl(获取桶ACL)

obs:bucket:PutBucketAcl(设置桶ACL)

obs:bucket:GetBucketPolicy(获取桶策略)

obs:bucket:PutBucketPolicy(设置桶策略)

obs:bucket:DeleteBucketPolicy(删除桶策略)

obs:bucket:PutBucketCORS(设置桶的CORS配置、删除桶的CORS配置)

obs:bucket:GetBucketCORS(获取桶的CORS配置)

obs:object:PutObjectAcl(设置对象ACL)

管理OBS中的数据集

标注OBS数据

创建数据管理作业

管理表格数据集

DLI

dli:database:displayAllDatabases

dli:database:displayAllTables

dli:table:describe_table

在数据集中管理DLI数据

管理表格数据集

DWS

dws:openAPICluster:list

dws:openAPICluster:getDetail

在数据集中管理DWS数据

管理表格数据集

MRS

mrs:job:submit

mrs:job:list

mrs:cluster:list

mrs:cluster:get

在数据集中管理MRS数据

智能标注

ModelArts

modelarts:service:list

modelarts:model:list

modelarts:model:get

modelarts:model:create

modelarts:trainJobInnerModel:list

modelarts:workspace:get

modelarts:workspace:list

使用智能标注

团队标注

IAM

iam:projects:listProjects(查询租户项目)

iam:users:listUsers(查询用户列表)

iam:agencies:createAgency(创建委托)

iam:quotas:listQuotasForProject(查询指定项目的配额)

管理标注团队

表9 资源管理

业务场景

依赖的服务

依赖策略项

支持的功能

资源池管理

BSS

bss:coupon:view

bss:order:view

bss:balance:view

bss:discount:view

bss:renewal:view

bss:bill:view

bss:contract:update

bss:order:pay

bss:unsubscribe:update

bss:renewal:update

bss:order:update

资源池的创建、续费、退订等与计费相关的功能。依赖权限需要配置在IAM项目视图中。

ECS

ecs:availabilityZones:list

查询可用区列表。依赖权限需要配置在IAM项目视图中。

网络管理

VPC

vpc:routes:create

vpc:routes:list

vpc:routes:get

vpc:routes:delete

vpc:peerings:create

vpc:peerings:accept

vpc:peerings:get

vpc:peerings:delete

vpc:routeTables:update

vpc:routeTables:get

vpc:routeTables:list

vpc:vpcs:create

vpc:vpcs:list

vpc:vpcs:get

vpc:vpcs:delete

vpc:subnets:create

vpc:subnets:get

vpc:subnets:delete

vpcep:endpoints:list

vpcep:endpoints:create

vpcep:endpoints:delete

vpcep:endpoints:get

vpc:ports:create

vpc:ports:get

vpc:ports:update

vpc:ports:delete

vpc:networks:create

vpc:networks:get

vpc:networks:update

vpc:networks:delete

ModelArts网络资源创建和删除、VPC网络打通。依赖权限需要配置在IAM项目视图中。

SFS Turbo

sfsturbo:shares:addShareNic

sfsturbo:shares:deleteShareNic

sfsturbo:shares:showShareNic

sfsturbo:shares:listShareNics

用户的网络和SFS Turbo资源打通。依赖权限需要配置在IAM项目视图中。

边缘资源池

IEF

ief:node:list

ief:group:get

ief:application:list

ief:application:get

ief:node:listNodeCert

ief:node:get

ief:IEFInstance:get

ief:deployment:list

ief:group:listGroupInstanceState

ief:IEFInstance:list

ief:deployment:get

ief:group:list

边缘池增删改查管理

委托授权

用户在使用ModelArts服务运行作业过程中,为了简化用户的操作,ModelArts后台可以代替用户完成一些工作,如训练作业启动前自动下载用户OBS桶中的数据集到作业空间、自动转储训练作业日志到用户OBS桶中。

ModelArts服务不会保存用户的Token认证凭据,在后台异步作业中操作用户的资源(如OBS桶)前,需要用户通过IAM委托向ModelArts显式授权,ModelArts在需要时使用用户的委托获取临时认证凭据用于操作用户资源,见“添加授权”。

图1 委托授权

如图1所示,用户向ModelArts授权后,ModelArts使用委托授权的临时凭证访问和操作用户资源,协助用户自动化一些繁琐和耗时的操作。同时,委托凭证会同步到用户的作业中(Notebook实例和训练作业),客户在作业中可以使用委托凭证自行访问自己的资源。

在ModelArts服务中委托授权有两种方式:

1、一键式委托授权

ModelArts提供了一键式自动授权功能,用户可以在ModelArts的全局配置功能中,快速完成委托授权,由ModelArts为用户自动创建委托并配置到ModelArts服务中。

这种方式为保证使用业务过程中有足够的权限,基于依赖服务的预置系统策略指定授权范围,创建的委托的权限比较大,基本覆盖了依赖服务的全部权限。如果您需要对委托授权的权限范围进行精确控制,请使用第二种方式。

2、定制化委托授权

管理员在IAM中为不同用户创建不同的委托授权策略,再到ModelArts中为用户配置已创建好的委托。管理员在IAM中为用户创建委托时,根据用户的实际权限范围为委托指定最小权限范围,控制用户在使用ModelArts过程中可访问的资源内容。具体参考配置ModelArts基本使用权限。

委托授权的越权风险

可以看到用户的委托授权是独立的,理论上用户的委托授权范围是可以超出用户自身用户组的授权策略的授权范围,如果配置不当就会出现用户越权的问题。

为了控制委托授权的越权风险,ModelArts服务的全局配置功能要求只有租户管理员才能为用户配置委托,由管理员保证委托授权的安全性。

委托授权的最小化

管理员在配置委托授权时,应严格控制授权的范围。

ModelArts为用户异步自动化完成作业的准备、清理等操作,所需的委托授权内容是基础授权范围。如果用户只使用ModelArts的部分功能,管理员可以依据委托授权表格的说明屏蔽不使用的基础权限项。相反地,如果用户需要在作业中使用基础授权范围外的资源权限,管理员也可以为用户在委托授权中增加新的权限项。总之,委托授权的范围应该基于实际业务场景所需权限范围来进行定制,保持委托授权范围的最小化。

委托基础授权范围

当您需要定制委托授权的权限列表时,请参考下面表格,根据实际业务选择授权项。

表10 开发环境基础委托授权

业务场景

依赖的服务

委托授权项

说明

配置建议

JupyterLab

OBS

obs:object:DeleteObject

obs:object:GetObject

obs:object:GetObjectVersion

obs:bucket:CreateBucket

obs:bucket:ListBucket

obs:bucket:ListAllMyBuckets

obs:object:PutObject

obs:bucket:GetBucketAcl

obs:bucket:PutBucketAcl

obs:bucket:PutBucketCORS

通过ModelArts的Notebook,在JupyterLab中使用OBS上传下载数据。

建议配置。

开发环境监控功能

AOM

aom:alarm:put

调用AOM的接口,获取Notebook相关的监控数据和事件,展示在ModelArts的Notebook中。

建议配置。

表11 训练作业基础委托授权

业务场景

依赖的服务

委托授权项

说明

训练作业

OBS

obs:bucket:ListBucket

obs:object:GetObject

obs:object:PutObject

训练作业启动前下载数据、模型、代码。

训练作业运行中上传日志、模型。

表12 部署上线基础委托授权

业务场景

依赖的服务

委托授权项

说明

在线服务

LTS

lts:groups:create

lts:groups:list

lts:topics:create

lts:topics:delete

lts:topics:list

在线服务配置LTS日志上报

批量服务

OBS

obs:bucket:ListBucket

obs:object:GetObject

obs:object:PutObject

运行批量服务

边缘服务

IEF

ief:deployment:list

ief:deployment:create

ief:deployment:update

ief:deployment:delete

ief:node:createNodeCert

ief:iefInstance:list

ief:node:list

通过IEF部署边缘服务

表13 数据管理基础委托授权

业务场景

依赖的服务

委托授权项

说明

数据集和数据标注

OBS

obs:object:GetObject

obs:object:PutObject

obs:object:DeleteObject

obs:object:PutObjectAcl

obs:bucket:ListBucket

obs:bucket:HeadBucket

obs:bucket:GetBucketAcl

obs:bucket:PutBucketAcl

obs:bucket:GetBucketPolicy

obs:bucket:PutBucketPolicy

obs:bucket:DeleteBucketPolicy

obs:bucket:PutBucketCORS

obs:bucket:GetBucketCORS

管理OBS桶中的数据集

数据标注

ModelArts 推理

modelarts:service:get

modelarts:service:create

modelarts:service:update

基于ModelArts推理进行智能数据标注

表14 专属资源池管理基础委托授权

业务场景

依赖的服务

委托授权项

说明

资源池网络管理(新版本)

VPC

vpc:routes:create

vpc:routes:list

vpc:routes:get

vpc:routes:delete

vpc:peerings:create

vpc:peerings:accept

vpc:peerings:get

vpc:peerings:delete

vpc:routeTables:update

vpc:routeTables:get

vpc:routeTables:list

vpc:vpcs:create

vpc:vpcs:list

vpc:vpcs:get

vpc:vpcs:delete

vpc:subnets:create

vpc:subnets:get

vpc:subnets:delete

vpcep:endpoints:list

vpcep:endpoints:create

vpcep:endpoints:delete

vpcep:endpoints:get

vpc:ports:create

vpc:ports:get

vpc:ports:update

vpc:ports:delete

vpc:networks:create

vpc:networks:get

vpc:networks:update

vpc:networks:delete

ModelArts网络资源创建和删除、VPC网络打通。此处依赖权限需要配置在IAM项目视图中。

SFS Turbo

sfsturbo:shares:addShareNic

sfsturbo:shares:deleteShareNic

sfsturbo:shares:showShareNic

sfsturbo:shares:listShareNics

用户的网络和SFS Turbo资源打通。依赖权限需要配置在IAM项目视图中。

资源池管理

BSS

bss:coupon:view

bss:order:view

bss:balance:view

bss:discount:view

bss:renewal:view

bss:bill:view

bss:contract:update

bss:order:pay

bss:unsubscribe:update

bss:renewal:update

bss:order:update

资源池的创建、续费、退订等与计费相关的功能。依赖权限需要配置在IAM项目视图中。

资源池管理

ECS

ecs:availabilityZones:list

查询可用区列表。依赖权限需要配置在IAM项目视图中。

表15 workflow基础委托授权

业务场景

依赖的服务

委托授权项

说明

使用数据集

ModelArts

modelarts:dataset:getDataset

modelarts:dataset:createDataset

modelarts:dataset:createDatasetVersion

modelarts:dataset:createImportTask

modelarts:dataset:updateDataset

modelarts:processTask:createProcessTask

modelarts:processTask:getProcessTask

modelarts:dataset:listDatasets

在工作流中使用ModelArts数据集

管理AI应用

ModelArts

modelarts:model:list

modelarts:model:get

modelarts:model:create

modelarts:model:delete

modelarts:model:update

在工作流中管理ModelArts AI应用

部署上线

ModelArts

modelarts:service:get

modelarts:service:create

modelarts:service:update

modelarts:service:delete

modelarts:service:getLogs

在工作流中管理ModelArts在线服务

训练作业

ModelArts

modelarts:trainJob:get

modelarts:trainJob:create

modelarts:trainJob:list

modelarts:trainJobVersion:list

modelarts:trainJobVersion:create

modelarts:trainJob:delete

modelarts:trainJobVersion:delete

modelarts:trainJobVersion:stop

在工作流中管理ModelArts训练作业

工作空间

ModelArts

modelarts:workspace:get

modelarts:workspace:getQuotas

在工作流中使用ModelArts工作空间

管理数据

OBS

obs:bucket:GetBucketPolicyobs:bucket:PutBucketPolicy

obs:bucket:GetBucketAcl

obs:bucket:PutBucketAcl

obs:object:GetObject

obs:object:PutObject

obs:bucket:ListBucket

obs:object:PutObjectAcl

obs:object:DeleteObject

在工作流中使用OBS数据

工作流运行

IAM

iam:users:listUsers(查询用户列表)

iam:agencies:getAgency(查询指定委托详情)

iam:tokens:assume(获取委托Token)

在工作流运行时,调用Modelarts其它服务

集成DLI

DLI

dli:jobs:get

dli:jobs:listAll

dli:jobs:create

dli:jobs:stop

在工作流中集成DLI

集成MRS

MRS

mrs:job:get

mrs:job:submit

mrs:job:list

mrs:job:stop

mrs:job:batchDelete

mrs:file:list

在工作流中集成MRS

父主题: 权限控制方式

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家