IAM
介绍ModelArts所有功能涉及到的IAM权限配置。
IAM权限简介
如果您需要为企业中的员工设置不同的权限访问ModelArts资源,以达到不同员工之间的权限隔离,您可以使用统一身份认证服务(Identity and Access Management,简称IAM)进行精细的权限管理。该服务提供用户身份认证、权限分配、访问控制等功能,可以帮助您安全的控制云服务资源的访问。如果华为账号已经能满足您的要求,不需要通过IAM对用户进行权限管理,您可以跳过本章节,不影响您使用ModelArts服务的其他功能。
IAM是提供权限管理的基础服务,无需付费即可使用,您只需要为您账号中的资源进行付费。
通过IAM,您可以通过授权控制用户对服务资源的访问范围。例如您的员工中有负责软件开发的人员,您希望这些用户拥有ModelArts的使用权限,但是不希望这些用户拥有删除ModelArts等高危操作的权限,那么您可以使用IAM进行权限分配,通过授予用户仅能使用ModelArts,但是不允许删除ModelArts的权限,控制用户对ModelArts资源的使用范围。
关于IAM的详细介绍,请参见IAM产品介绍。
角色与策略权限管理
ModelArts服务支持角色与策略授权。默认情况下,管理员创建的IAM用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。
ModelArts部署时通过物理区域划分,为项目级服务。授权时,“授权范围”需要选择“指定区域项目资源”,然后在指定区域(如华北-北京1)对应的项目(cn-north-1)中设置相关权限,并且该权限仅对此项目生效;如果“授权范围”选择“所有资源”,则该权限在所有区域项目中都生效。访问ModelArts时,需要先切换至授权区域。
如表1所示,包括了ModelArts的所有系统策略权限。如果系统预置的ModelArts权限,不满足您的授权要求,可以创建自定义策略,可参考策略JSON格式字段介绍。
策略名称 |
描述 |
类型 |
---|---|---|
ModelArts FullAccess |
ModelArts管理员用户,拥有所有ModelArts服务的权限。 |
系统策略 |
ModelArts CommonOperations |
ModelArts操作用户,拥有所有ModelArts服务操作权限除了管理专属资源池的权限。 |
系统策略 |
ModelArts Dependency Access |
ModelArts服务的常用依赖服务的权限。 |
系统策略 |
ModelArts对其他云服务有依赖关系,因此在ModelArts控制台的各项功能需要配置相应的服务权限后才能正常查看或使用,依赖服务及其预置的权限如下。
控制台功能 |
依赖服务 |
需配置角色/策略 |
---|---|---|
数据管理(数据集/ 数据标注/数据处理) |
对象存储服务OBS |
OBS Administrator |
数据湖探索DLI |
DLI FullAccess |
|
MapReduce服务MRS |
MRS Administrator |
|
数据仓库服务GaussDB(DWS) |
DWS Administrator |
|
云审计服务CTS |
CTS Administrator |
|
AI开发平台ModelArts |
ModelArts CommonOperations ModelArts Dependency Access |
|
开发环境Notebook/镜像管理/弹性节点Server |
对象存储服务OBS |
OBS Administrator |
凭据管理服务CSMS |
CSMS ReadOnlyAccess |
|
云审计服务CTS |
CTS Administrator |
|
弹性云服务器ECS |
ECS FullAccess |
|
容器镜像服务SWR |
SWR Admin |
|
弹性文件服务SFS |
SFS Turbo FullAccess |
|
应用运维管理服务AOM |
AOM FullAccess |
|
密钥管理服务KMS |
KMS CMKFullAccess |
|
AI开发平台ModelArts |
ModelArts CommonOperations ModelArts Dependency Access |
|
算法管理/训练管理/Workflow/自动学习 |
对象存储服务OBS |
OBS Administrator |
消息通知服务SMN |
SMN Administrator |
|
云审计服务CTS |
CTS Administrator |
|
企业项目管理服务EPS |
EPS FullAccess |
|
弹性文件服务SFS |
SFS ReadOnlyAccess |
|
容器镜像服务SWR |
SWR Admin |
|
应用运维管理服务AOM |
AOM FullAccess |
|
密钥管理服务KMS |
KMS CMKFullAccess |
|
虚拟私有云服务VPC |
VPC FullAccess |
|
AI开发平台ModelArts |
ModelArts CommonOperations ModelArts Dependency Access |
|
模型管理/在线服务/批量服务/边缘服务/边缘部署专属资源池 |
对象存储服务OBS |
OBS Administrator |
云监控服务CES |
CES ReadOnlyAccess |
|
消息通知服务SMN |
SMN Administrator |
|
企业项目管理服务EPS |
EPS FullAccess |
|
云审计服务CTS |
CTS Administrator |
|
云日志服务LTS |
LTS FullAccess |
|
虚拟私有云VPC |
VPC FullAccess |
|
容器镜像服务SWR |
SWR Admin |
|
AI开发平台ModelArts |
ModelArts CommonOperations ModelArts Dependency Access |
|
AI Gallery |
对象存储服务OBS |
OBS Administrator |
云审计服务CTS |
CTS Administrator |
|
容器镜像服务SWR |
SWR Admin |
|
AI开发平台ModelArts |
ModelArts CommonOperations ModelArts Dependency Access |
|
弹性集群Cluster(包含Standard资源池和Lite资源池) |
云审计服务CTS |
CTS Administrator |
云容器引擎CCE |
CCE Administrator |
|
裸金属服务器BMS |
BMS FullAccess |
|
镜像服务IMS |
IMS FullAccess |
|
数据加密服务DEW |
DEW KeypairReadOnlyAccess |
|
虚拟私有云VPC |
VPC FullAccess |
|
弹性云服务器ECS |
ECS FullAccess |
|
弹性文件服务SFS |
SFS Turbo FullAccess |
|
对象存储服务OBS |
OBS Administrator |
|
应用运维管理服务AOM |
AOM FullAccess |
|
标签管理服务TMS |
TMS FullAccess |
|
AI开发平台ModelArts |
ModelArts CommonOperations ModelArts Dependency Access |
|
费用中心 |
BSS Administrator |
如果系统预置的权限,不满足您的授权要求,可以创建自定义策略。自定义策略中可以添加的授权项(Action)请参考ModelArts资源权限项。
目前支持以下两种方式创建自定义策略:
- 可视化视图创建自定义策略:无需了解策略语法,按可视化视图导航栏选择云服务、操作、资源、条件等策略内容,可自动生成策略。
- JSON视图创建自定义策略:可以在选择策略模板后,根据具体需求编辑策略内容;也可以直接在编辑框内编写JSON格式的策略内容。
具体创建步骤请参见:创建自定义策略。下面为您介绍常用的ModelArts自定义策略样例。
- 示例1:授权镜像管理的权限。
{ "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "modelarts:image:register", "modelarts:image:listGroup" ] } ] }
- 示例2:拒绝用户创建、更新、删除专属资源池。
拒绝策略需要同时配合其他策略使用,否则没有实际作用。用户被授予的策略中,一个授权项的作用如果同时存在Allow和Deny,则遵循Deny优先原则。
{ "Version": "1.1", "Statement": [ { "Action": [ "modelarts:*:*" ], "Effect": "Allow" }, { "Action": [ "swr:*:*" ], "Effect": "Allow" }, { "Action": [ "smn:*:*" ], "Effect": "Allow" }, { "Action": [ "modelarts:pool:create", "modelarts:pool:update", "modelarts:pool:delete" ], "Effect": "Deny" } ] }
- 示例3:多个授权项策略。
一个自定义策略中可以包含多个授权项,且除了可以包含本服务的授权项外,还可以包含其他服务的授权项,可以包含的其他服务必须跟本服务同属性,即都是项目级服务或都是全局级服务。多个授权语句策略描述如下:
{ "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "modelarts:service:*" ] }, { "Effect": "Allow", "Action": [ "lts:logs:list" ] } ] }
策略JSON格式字段介绍
策略结构
策略结构包括Version(策略版本号)和Statement(策略权限语句)两部分,其中Statement可以有多个,表示不同的授权项。
策略参数
下面介绍策略参数详细说明。了解策略参数后,您可以根据场景自定义策略。具体可以参考文档自定义策略使用样例。
参数 |
含义 |
值 |
|
---|---|---|---|
Version |
策略的版本。 |
1.1:代表基于策略的访问控制。 |
|
Statement:策略的授权语句 |
Effect:作用 |
定义Action中的操作权限是否允许执行。 |
|
Action:授权项 |
操作权限。 |
格式为“服务名:资源类型:操作”。授权项支持通配符号*,通配符号*表示所有。 示例: "modelarts:notebook:list":表示查看Notebook实例列表权限,其中modelarts为服务名,notebook为资源类型,list为操作。 您可以在对应服务“API参考”资料中查看该服务所有授权项。 |
|
Condition:条件 |
格式为“条件运算符:{条件键:[条件值1,条件值2]}”。 如果您设置多个条件,同时满足所有条件时,该策略才生效。 示例: "StringEndWithIfExists":{"g:UserName":["specialCharacter"]}:表示当用户输入的用户名以"specialCharacter"结尾时该条statement生效。 |
||
Resource: 资源类型 |
策略所作用的资源。 |
格式为“服务名:<region>:<account-id>:资源类型:资源路径”,资源类型支持通配符号*,通配符号*表示所有。
说明:
ModelArts的授权不支持指定具体资源路径。 |
ModelArts资源类型
管理员可以按ModelArts的资源类型选择授权范围。ModelArts支持的资源类型如下表:
资源类型 |
说明 |
---|---|
notebook |
开发环境的Notebook实例 |
exemlProject |
自动学习项目 |
exemlProjectInf |
自动学习项目的在线推理服务 |
exemlProjectTrain |
自动学习项目的训练作业 |
exemlProjectVersion |
自动学习项目的版本 |
workflow |
Workflow项目 |
pool |
专属资源池 |
network |
专属资源池网络连接 |
trainJob |
训练作业 |
trainJobLog |
训练作业的运行日志 |
trainJobInnerModel |
系统预置模型 |
model |
模型 |
service |
在线服务 |
nodeservice |
边缘服务 |
workspace |
工作空间 |
dataset |
数据集 |
dataAnnotation |
数据集的标注信息 |
aiAlgorithm |
训练算法 |
image |
镜像 |
devserver |
弹性裸金属 |