权限管理
Octopus自动驾驶云服务支持用户对其进行细粒度的权限配置,以达到精细化资源、权限管理之目的。
为了支持客户对Octopus的权限做精细化控制,提供了3个方面的能力来支撑,分别是:权限、委托和工作空间。下面分别讲解。
理解Octopus的权限与委托
如果您需要对华为云上购买的Octopus自动驾驶云服务资源,给企业中的员工设置不同的访问权限,以达到不同员工之间的权限隔离,您可以使用统一身份认证服务(Identity and Access Management,简称IAM)进行精细的权限管理。该服务提供用户身份认证、权限分配、访问控制等功能,可以帮助您安全的控制华为云资源的访问。
通过IAM,您可以在华为云账号中给员工创建IAM用户,并使用策略来控制IAM用户对华为云资源的访问范围,例如您的员工中有负责软件开发的人员,您希望他们拥有Octopus的使用权限,但是不希望他们拥有删除通道等高危操作的权限,那么您可以使用IAM为开发人员创建用户,通过授予仅能使用通道,但是不允许删除通道的权限策略,控制他们对通道资源的使用范围;在使用Octopus云资源过程中需要访问用户的其他服务,需要先获得用户的授权,这个动作就是一个“委托”,用户委托Octopus代表自己访问特定的云服务,已完成其在Octopus平台上的操作。
- 权限:使用Octopus自动驾驶云服务平台上的镜像仓库、运维配置、工作空间、数据资产、数据合规、数据处理、标注服务、训练服务、仿真服务的所有功能,均需要通过IAM权限体系进行正确权限授权。
- 委托:使用Octopus自动驾驶云服务平台上的智驾模型服务中的模型微调和2D图像生成功能需要访问对象存储服务(OBS),均需要获得用户的委托授权。
IAM是华为云提供权限管理的基础服务,无需付费即可使用,您只需要为您账号中的资源进行付费。关于IAM的详细介绍,请参见《IAM产品介绍》。
如果华为云账号已经能满足您的要求,不需要创建独立的IAM用户进行权限管理,您可以跳过本章节,不影响您使用Octopus的其它功能。
Octopus权限管理
默认情况下,管理员创建的IAM用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。创建用户并授权使用八爪鱼自动驾驶云服务请参考创建用户并授权使用服务。
Octopus部署时通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在指定区域(如华北-北京1)对应的项目(cn-north-1)中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问Octopus时,需要先切换至授权区域。
IAM在对用户组授权的时候,并不是直接将具体的某个权限进行赋权,而是需要先将权限加入到“策略”当中,再把策略赋给用户组。为了方便用户的权限管理,各个云服务都提供了一些预置的“系统策略”供用户直接使用。如果预置的策略不能满足您的细粒度权限控制要求,则可以通过“自定义策略”来进行精细控制。请参考创建自定义策略。
如表1所示,包括了Octopus的所有系统权限。
策略名称 |
描述 |
策略类别 |
角色/策略内容 |
---|---|---|---|
Octopus FullAccess |
Octopus管理员权限,拥有该权限的用户可以操作并使用所有Octopus服务。 |
系统策略 |
|
Octopus CommonOperations |
Octopus操作权限,拥有该权限的用户拥有Octopus服务的除智驾模型服务、数据合规递送、创建工作空间、编辑工作空间、删除工作空间之外的所有操作权限。 |
系统策略 |
表2列出了Octopus常用操作与系统权限的授权关系,您可以参照该表选择合适的系统权限。
服务 |
功能 |
操作 |
Octopus FullAccess |
Octopus CommonOperations |
---|---|---|---|---|
镜像仓库 |
ALL |
ALL |
√ |
√ |
运维配置 |
ALL |
ALL |
√ |
√ |
标注服务 |
ALL |
ALL |
√ |
√ |
训练服务 |
ALL |
ALL |
√ |
√ |
仿真服务 |
ALL |
ALL |
√ |
√ |
智驾模型服务 |
ALL |
ALL |
√ |
x |
数据资产 |
ALL |
ALL |
√ |
√ |
数据合规 |
数据合规递送 |
创建合规订单 |
√ |
x |
获取合规订单列表 |
√ |
x |
||
获取合规订单配置信息 |
√ |
x |
||
更新合规订单状态 |
√ |
x |
||
获取合规数据包列表 |
√ |
x |
||
推送合规数据包 |
√ |
x |
||
合规处理模板 |
创建合规处理模板 |
√ |
x |
|
查询合规处理模板列表 |
√ |
x |
||
查询合规处理模板详情 |
√ |
x |
||
更新合规处理模板 |
√ |
x |
||
删除合规处理模板 |
√ |
x |
||
合规作业 |
查询合规作业列表 |
√ |
x |
|
查询合规作业详情 |
√ |
x |
||
创建合规作业 |
√ |
x |
||
操作合规作业和作业队列 |
√ |
x |
||
删除合规作业 |
√ |
x |
||
数据处理 |
ALL |
ALL |
√ |
√ |
工作空间 |
ALL |
获取工作空间列表 |
√ |
√ |
查看工作空间详情 |
√ |
√ |
||
创建工作空间 |
√ |
x |
||
编辑工作空间 |
√ |
x |
||
删除工作空间 |
√ |
x |
更详细的细粒度策略支持的授权项请参考《Octopus API参考》中“策略及授权项说明”章节。
智驾模型委托授权
在使用智驾模型服务模型微调和2D图像生成时,需要访问对象存储服务(OBS),因此需要用户委托Octopus平台访问OBS。
- 登录华为云账号,访问统一身份认证服务。
- 在“统一身份认证服务”控制台,单击“委托 > 创建委托”,填写委托参数。
图3 创建委托
- 委托名称:自定义名称,不得超过64个字符; 建议为 : octopus_obs_agency。
- 委托类型:选择“云服务”。
- 云服务:选择“自动驾驶云服务”。
- 持久时间:可自定义持续时间。
- 描述:简要描述委托信息,不包含“@#$%^&*< > \”,不得超过255个字符。
- 单击“下一步”,设置最小授权范围。
在模糊搜索,输入“OBS”,选择“OBS OperateAccess”。图4 设置最小授权范围
- 单击“下一步”,选择授权范围方案。
图5 选择授权范围方案
- 授权后需要等待15-30分钟方可生效。
图6 生效时间提醒
- 单击“完成”,授权完成。
在“授权记录”界面,可查看授权记录。
图7 授权记录
- 访问Octopus自动驾驶云服务,在Octopus控制台左侧菜单分别选择“智驾模型服务 > 模型微调”、“智驾模型服务 > 2D图像生成”,单击“修改”,填写委托名称。
图8 填写委托名称
工作空间隔离资源
工作空间:是Octopus自动驾驶云服务面向企业客户提供的一个高阶功能,用于进一步将用户的资源划分在多个逻辑隔离的空间中,并支持以空间维度进行访问的权限限定。
工作空间默认有一个“default”空间,在没有创建新的工作空间之前,您操作的所有资源均默认在该空间下。当您创建新的工作空间之后,相当于您拥有了一个新的“Octopus分身”,您可以通过菜单栏的左上角进行工作空间的切换,不同工作空间中的工作互不影响。只有被授权的用户才能访问特定的工作空间(在创建、编辑工作空间进行配置),像数据资产、仿真服务等,均可以借助工作空间做访问的限制。
Octopus FullAccess策略内容
{ "Version": "1.1", "Statement": [ { "Action": [ "octopus:*:*" ], "Effect": "Allow" } ] }
Octopus CommonOperations策略内容
{ "Version": "1.1", "Statement": [ { "Action": [ "octopus:annotation*:*", "octopus:common*:*", "octopus:dataCache:*", "octopus:dataCalibration:*", "octopus:dataExpress:create", "octopus:dataExpress:delete", "octopus:dataExpress:get", "octopus:dataExpress:list", "octopus:dataExpress:updateBaseInfo", "octopus:dataExpress:updateTaskConfig", "octopus:dataImportRecord:*", "octopus:dataJob:*", "octopus:dataMap:*", "octopus:dataOverview:get", "octopus:dataPackage:*", "octopus:dataProcessors:*", "octopus:dataReplay:get", "octopus:dataScenario:*", "octopus:dataset:*", "octopus:dataTag:*", "octopus:dataVehicle:*", "octopus:dataWarehouse:*", "octopus:imageRepo:*", "octopus:resource*:*", "octopus:sim*:*", "octopus:training*:*", "octopus:workspace:list", "octopus:workspace:get" ], "Effect": "Allow" } ] }