
# 策略授权参考
本章节介绍自动驾驶云服务（Octopus）策略授权场景下支持的策略授权项。
#### 支持的授权项
策略包含系统策略和自定义策略，如果系统策略不满足授权要求，管理员可以创建自定义策略，并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作与API相对应，授权项列表说明如下：
- 权限：允许或拒绝某项操作。
- 对应API接口：自定义策略实际调用的API接口。
- 授权项：自定义策略中支持的Action，在自定义策略中的Action中写入授权项，可以实现授权项对应的权限功能。
- 依赖的授权项：部分Action存在对其他Action的依赖，需要将依赖的Action同时写入授权项，才能实现对应的权限功能。
- IAM项目(Project)/企业项目(Enterprise Project)：自定义策略的授权范围，包括IAM项目与企业项目。授权范围如果同时支持IAM项目和企业项目，表示此授权项对应的自定义策略，可以在IAM和企业管理两个服务中给用户组授权并生效。如果仅支持IAM项目，不支持企业项目，表示仅能在IAM中给用户组授权并生效，如果在企业管理中授权，则该自定义策略不生效。管理员可以在授权项列表中查看授权项是否支持IAM项目或企业项目，"√"表示支持，"×"表示暂不支持。关于IAM项目与企业项目的区别，详情请参见：[IAM与企业管理的区别](https://support.huaweicloud.com/iam_faq/iam_01_0101.html)。
自动驾驶云服务（Octopus）的支持自定义策略授权项如下所示：
#### 镜像仓库
表1镜像仓库权限 
| 权限       | 对应API接口                                                          | 授权项（Action）              | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 获取镜像仓库列表 | GET /v1.0/{project_id}/common/image-registry/image-repos         | octopus:imageRepo:list   | √                                                           | ×                                                                     |
| 创建镜像仓库   | POST /v1.0/{project_id}/common/image-registry/image-repos        | octopus:imageRepo:create | √                                                           | ×                                                                     |
| 修改镜像仓库   | PUT /v1.0/{project_id}/common/image-registry/image-repos/{id}    | octopus:imageRepo:update | √                                                           | ×                                                                     |
| 删除镜像仓库   | DELETE /v1.0/{project_id}/common/image-registry/image-repos/{id} | octopus:imageRepo:delete | √                                                           | ×                                                                     |
   
#### 镜像版本
表2镜像版本权限 
| 权限           | 对应API接口                                                                                    | 授权项（Action）                     | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 获取镜像仓库版本列表   | GET /v1.0/{project_id}/common/image-registry/image-repos/{id}/versions                     | octopus:imageRepo:list          | √                                                               | ×                                                                         |
| 创建镜像仓库版本     | POST /v1.0/{project_id}/common/image-registry/image-repos/{id}/versions                    | octopus:imageRepo:create        | √                                                               | ×                                                                         |
| 获取镜像仓库版本详情   | GET /v1.0/{project_id}/common/image-registry/image-repos/{id}/versions/{version}           | octopus:imageRepo:get           | √                                                               | ×                                                                         |
| 删除镜像仓库版本     | DELETE /v1.0/{project_id}/common/image-registry/image-repos/{id}/versions/{version}        | octopus:imageRepo:delete        | √                                                               | ×                                                                         |
| 更新镜像仓库版本状态   | POST /v1.0/{project_id}/common/image-registry/image-repos/{id}/versions/{version}/status   | octopus:imageRepo:update        | √                                                               | ×                                                                         |
| 创建镜像仓库版本操作账号 | POST /v1.0/{project_id}/common/image-registry/image-repos/{id}/versions/{version}/accounts | octopus:imageRepo:createAccount | √           | ×                     |
   
#### 数据集
表3数据集权限 
| 权限      | 对应API接口                                                | 授权项（Action）            | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 获取数据集列表 | GET /v1.0/{project_id}/common/datasets                 | octopus:dataset:list   | √                                                               | ×                                                                        |
| 创建数据集   | POST /v1.0/{project_id}/common/datasets                | octopus:dataset:create | √                                                               | ×                                                                        |
| 获取数据集详情 | GET /v1.0/{project_id}/common/datasets/{dataset_id}    | octopus:dataset:get    | √                                                               | ×                                                                        |
| 删除数据集   | DELETE /v1.0/{project_id}/common/datasets/{dataset_id} | octopus:dataset:delete | √                                                               | ×                                                                        |
   
#### 数据集版本
表4数据集版本权限 
| 权限        | 对应API接口                                                                      | 授权项（Action）            | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 获取数据集版本列表 | GET /v1.0/{project_id}/common/datasets/{dataset_id}/versions                 | octopus:dataset:list   | √                                                              | ×                                                                      |
| 创建数据集版本   | POST /v1.0/{project_id}/common/datasets/{dataset_id}/versions                | octopus:dataset:create | √                                                              | ×                                                                      |
| 获取数据集版本详情 | GET /v1.0/{project_id}/common/datasets/{dataset_id}/versions/{version_id}    | octopus:dataset:get    | √                                                              | ×                                                                      |
| 删除数据集版本   | DELETE /v1.0/{project_id}/common/datasets/{dataset_id}/versions/{version_id} | octopus:dataset:delete | √                                                              | ×                                                                      |
   
#### 数据仓库
表5数据仓库权限 
| 权限          | 对应API接口                                                            | 授权项（Action）                | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 获取数据仓库列表    | GET /v1.0/{project_id}/common/warehouses                           | octopus:dataWarehouse:list | √                                                             | ×                                                                       |
| 获取数据仓库的数据列表 | POST /v1.0/{project_id}/common/warehouses/{data_warehouse_id}/data | octopus:dataWarehouse:list | √                                                             | ×                                                                       |
   
#### 数据仓库自定义属性
表6数据仓库自定义属性权限 
| 权限            | 对应API接口                                                    | 授权项（Action）                | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 获取数据仓库自定义属性列表 | GET /v1.0/{project_id}/common/warehouses/custom-attributes | octopus:dataWarehouse:list | √                                                             | ×                                                                        |
   
#### 集群管理
表7集群信息管理权限 
| 权限       | 对应API接口                                               | 授权项（Action）                  | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 查询可用资源规格 | GET /v1.0/{project_id}/common/clusters/resource-specs | octopus:resourceManager:list | √                                                              | ×                                                                         |
   
#### 数据总览
表8数据总览权限 
| 权限       | 对应API接口                                        | 授权项（Action）              | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 获取数据服务总览 | GET /v1.0/{project_id}/data/overview           | octopus:dataOverview:get | √                                                              | ×                                                                          |
| 获取轨迹统计   | GET /v1.0/{project_id}/data/mileage-statistics | octopus:dataOverview:get | √                                                              | ×                                                                          |
   
#### 数据包
表9数据包权限 
| 权限          | 对应API接口                                                                                              | 授权项（Action）                            | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 获取数据包列表     | GET /v1.0/{project_id}/data/packages                                                                 | octopus:dataPackage:list               | √                                                             | ×                                                                         |
| 获取数据包详情     | GET /v1.0/{project_id}/data/packages/{id}                                                            | octopus:dataPackage:get                | √                                                             | ×                                                                         |
| 永久删除数据包     | DELETE /v1.0/{project_id}/data/packages/{id}                                                         | octopus:dataPackage:delete             | √                                                             | ×                                                                         |
| 操作数据包       | PUT /v1.0/{project_id}/data/packages/{id}                                                            | octopus:dataPackage:update             | √                                                             | ×                                                                         |
| 更新数据包标签     | PUT /v1.0/{project_id}/data/packages/{id}/tags                                                       | octopus:dataPackage:update             | √                                                             | ×                                                                         |
| 打包数据包       | POST /v1.0/{project_id}/data/packages/pack            | octopus:dataPackage:download           | √                                                             | ×                                                                         |
| 获取打包完成数据包   | GET /v1.0/{project_id}/data/packages/{id}/packed     | octopus:dataPackage:download           | √                                                             | ×                                                                         |
| 导出数据包统计数据   | POST /v1.0/{project_id}/data/packages/export         | octopus:dataPackage:downloadStatistics | √                                                             | ×                                                                         |
| 获取数据包统计记录数据 | GET /v1.0/{project_id}/data/packages/export-tasks/{id} | octopus:dataPackage:downloadStatistics | √                                                             | ×                                                                         |
   
#### 数据导入
表10数据导入权限 
| 权限           | 对应API接口                                                                                  | 授权项（Action）                      | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 获取导入任务列表     | GET /v1.0/{project_id}/data/import-records                                               | octopus:dataImportRecord:list    | √                                                              | ×                                                                         |
| 创建数据包导入任务    | POST /v1.0/{project_id}/data/import-records                                              | octopus:dataImportRecord:create  | √                                                              | ×                                                                         |
| 获取导入任务详情     | GET /v1.0/{project_id}/data/import-records/{id}                                          | octopus:dataImportRecord:get     | √                                                              | ×                                                                         |
| 删除导入任务       | DELETE /v1.0/{project_id}/data/import-records/{id}                                       | octopus:dataImportRecord:delete  | √                                                              | ×                                                                         |
| 操作数据包OBS导入任务 | PUT /v1.0/{project_id}/data/import-records | octopus:dataImportRecord:operate | √                                                              | ×                                                                         |
   
#### 数据回放
表11数据回放权限 
| 权限                 | 对应API接口                                                  | 授权项（Action）                 | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 获取数据片段统计           | GET /v1.0/{project_id}/data/episodes/statistics          | octopus:dataReplay:get      | √                                                              | ×                                                                       |
| 获取数据片段列表           | GET /v1.0/{project_id}/data/episodes                     | octopus:dataReplay:get      | √                                                              | ×                                                                       |
| 数据片段详情             | GET /v1.0/{project_id}/data/episodes/{episode_id}        | octopus:dataReplay:get      | √                                                              | ×                                                                       |
| 获取数据包topic回放索引     | GET /v1.0/{project_id}/data/packages/{id}/replay-indices | octopus:dataReplay:get      | √                                                              | ×                                                                       |
| 获取数据包topic回放数据临时链接 | GET /v1.0/{project_id}/data/packages/{id}/replay-data    | octopus:dataReplay:preview  | √                                                              | ×                                                                       |
| 创建回放转仿真场景作业        | POST /v1.0/{project_id}/data/episodes/scenarios          | octopus:dataScenario:create | √                                                              | ×                                                                       |
| 查询回放转仿真场景作业状态      | GET /v1.0/{project_id}/data/episodes/scenarios/{id}      | octopus:dataReplay:get      | √                                                              | ×                                                                       |
   
#### 作业管理
表12作业管理权限 
| 权限       | 对应API接口                                                    | 授权项（Action）            | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 查询作业列表   | GET /v1.0/{project_id}/data/jobs                           | octopus:dataJob:list   | √                                                               | ×                                                                       |
| 创建作业     | POST /v1.0/{project_id}/data/jobs                          | octopus:dataJob:create | √                                                               | ×                                                                       |
| 批量更新作业   | PUT /v1.0/{project_id}/data/jobs                           | octopus:dataJob:update | √                                                               | ×                                                                       |
| 批量删除作业   | DELETE /v1.0/{project_id}/data/jobs                        | octopus:dataJob:delete | √                                                               | ×                                                                       |
| 查询作业详情   | GET /v1.0/{project_id}/data/jobs/{id}                      | octopus:dataJob:get    | √                                                               | ×                                                                       |
| 更新作业     | PUT /v1.0/{project_id}/data/jobs/{id}                      | octopus:dataJob:update | √                                                               | ×                                                                       |
| 删除作业     | DELETE /v1.0/{project_id}/data/jobs/{id}                   | octopus:dataJob:delete | √                                                               | ×                                                                       |
| 查询作业日志列表 | GET /v1.0/{project_id}/data/jobs/{id}/logs                 | octopus:dataJob:get    | √                                                               | ×                                                                       |
| 查询作业日志详情 | GET /v1.0/{project_id}/data/logs/jobs/{job_id}/{file_name} | octopus:dataJob:get    | √                                                               | ×                                                                       |
   
#### 算子管理
表13算子管理权限 
| 权限     | 对应API接口                                        | 授权项（Action）                   | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 查询算子列表 | GET /v1.0/{project_id}/data/processors         | octopus:dataProcessors:list   | √                                                               | ×                                                                        |
| 创建算子   | POST /v1.0/{project_id}/data/processors        | octopus:dataProcessors:create | √                                                               | ×                                                                        |
| 查询算子详情 | GET /v1.0/{project_id}/data/processors/{id}    | octopus:dataProcessors:get    | √                                                               | ×                                                                        |
| 更新算子   | PUT /v1.0/{project_id}/data/processors/{id}    | octopus:dataProcessors:update | √                                                               | ×                                                                        |
| 删除算子   | DELETE /v1.0/{project_id}/data/processors/{id} | octopus:dataProcessors:delete | √                                                               | ×                                                                        |
   
#### 作业队列
表14作业队列权限 
| 权限        | 对应API接口                                               | 授权项（Action）            | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 查询排队作业列表  | GET /v1.0/{project_id}/data/queuing-jobs              | octopus:dataJob:list   | √                                                             | ×                                                                       |
| 操作队列      | PUT /v1.0/{project_id}/data/queuing-jobs/{id}         | octopus:dataJob:update | √                                                             | ×                                                                       |
| 批量更新队列优先级 | PUT /v1.0/{project_id}/data/queuing-jobs/batch-update | octopus:dataJob:update | √                                                             | ×                                                                       |
   
#### 内部作业
表15内部作业权限 
| 权限       | 对应API接口                                      | 授权项（Action）            | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 查询内部作业列表 | GET /v1.0/{project_id}/data/system-jobs      | octopus:dataJob:list   | √                                                             | ×                                                                        |
| 创建内部作业   | POST /v1.0/{project_id}/data/system-jobs     | octopus:dataJob:create | √                                                             | ×                                                                        |
| 查询内部作业详情 | GET /v1.0/{project_id}/data/system-jobs/{id} | octopus:dataJob:get    | √                                                             | ×                                                                        |
   
#### 数据场景
表16数据场景权限 
| 权限         | 对应API接口                                               | 授权项（Action）                 | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 获取数据场景片段列表 | GET /v1.0/{project_id}/data/scenario/segments         | octopus:dataScenario:list   | √                                                              | x                                                                      |
| 创建数据场景片段   | POST /v1.0/{project_id}/data/scenario/segments        | octopus:dataScenario:create | √                                                              | ×                                                                      |
| 删除数据场景片段   | DELETE /v1.0/{project_id}/data/scenario/segments/{id} | octopus:dataScenario:delete | √                                                              | ×                                                                      |
   
#### 标签管理
表17标签管理权限 
| 权限       | 对应API接口                                   | 授权项（Action）            | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 获取标签列表   | GET /v1.0/{project_id}/data/tags          | octopus:dataTag:list   | √                                                              | ×                                                                        |
| 创建标签     | POST /v1.0/{project_id}/data/tags         | octopus:dataTag:create | √                                                              | ×                                                                        |
| 导入标签     | POST /v1.0/{project_id}/data/tags/import  | octopus:dataTag:create | √                                                              | ×                                                                        |
| 获取标签导入模板 | GET /v1.0/{project_id}/data/tags/template | octopus:dataTag:get    | √                                                              | ×                                                                        |
| 编辑标签     | PUT /v1.0/{project_id}/data/tags/{id}     | octopus:dataTag:update | √                                                              | ×                                                                        |
| 删除标签     | DELETE /v1.0/{project_id}/data/tags/{id}  | octopus:dataTag:delete | √                                                              | ×                                                                        |
   
#### 仿真场景
表18仿真场景权限 
| 权限                  | 对应API接口                                                                   | 授权项（Action）                      | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 场景列表                | GET /v2/{project_id}/sim/sm/scenarios                                     | octopus:simScenario:list         | √                                                            | ×                                                                        |
| 创建仿真场景              | POST /v2/{project_id}/sim/sm/scenarios                                    | octopus:simScenario:create       | √                                                            | ×                                                                        |
| 创建场景文件              | POST /v2/{project_id}/sim/sm/scenarios/{parent_lookup_id}/files           | octopus:simScenario:create       | √                                                            | ×                                                                        |
| 修改场景文件              | PATCH /v2/{project_id}/sim/sm/scenarios/{parent_lookup_id}/files/{sha256} | octopus:simScenario:update       | √                                                            | ×                                                                        |
| 创建算法                | POST /v2/{project_id}/sim/pm/algorithms                                   | octopus:trainingAlgorithm:create | √                                                            | ×                                                                        |
| 创建仿真任务配置、任务、子任务、仿真器 | POST /v2/{project_id}/sim/pm/batch-configs                                | octopus:simBatch:create          | √                                                            | ×                                                                        |
   
#### 场景地图
表19场景地图权限 
| 权限       | 对应API接口                                                              | 授权项（Action）                | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|:---|:---|:---|:---|:---|
| 创建地图场景   | POST /v2/{project_id}/sim/sm/maps                                    | octopus:simScenario:create | √                                                              | ×                                                                         |
| 修改场景地图文件 | PATCH /v2/{project_id}/sim/sm/maps/{parent_lookup_id}/files/{sha256} | octopus:simScenario:update | √                                                              | ×                                                                         |
   
