
# 策略授权参考
本章节介绍DRS基于策略授权场景下支持的策略授权项。
#### 支持的授权项
策略包含系统策略和自定义策略，如果系统策略不满足授权要求，管理员可以创建自定义策略，并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作与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)。
DRS的支持自定义策略授权项如下所示：
![](https://support.huaweicloud.com/api-drs/public_sys-resources/note_3.0-zh-cn.png)
"√"表示支持，"x"表示暂不支持。
表1任务功能 
| **权限**        | **对应API接口**                                                                                | **授权项（Action）**                                                                                  | **IAM** **项目(Project)** | **企业项目(Enterprise Project)** |
|:---|:---|:---|:---|:---|
| 批量创建任务        | POST /v3/{project_id}/jobs/batch-creation                                                  | drs:migrationJobs:create（创建实例需要在项目上配置 RDS ReadOnlyAccess、VPC FullAccess、SMN FullAccess权限。）       | √                       | √                            |
| 批量测试连接        | POST /v3/{project_id}/jobs/batch-connection                                                | drs:migrationJobs:connect（测试连接需要在项目上配置 VPC FullAccess权限。）                                        | √                       | √                            |
| 批量测试连接-集群模式   | POST /v3/{project_id}/jobs/cluster/batch-connection                                        | drs:migrationJobs:connect（测试连接需要在项目上配置 VPC FullAccess权限。）                                        | √                       | √                            |
| 批量修改任务        | PUT /v3/{project_id}/jobs/batch-modification                                               | drs:migrationJob:modify                                                                          | √                       | √                            |
| 批量数据库对象选择信息   | PUT /v3/{project_id}/jobs/batch-select-objects                                             | drs:migrationJobs:select（对象选择信息需要在项目上配置 RDS FullAccess、DAS FullAccess)                           | √                       | √                            |
| 批量预检查         | POST /v3/{project_id}/jobs/batch-precheck  | drs:migrationJob:action                                                                          | √                       | √                            |
| 批量查询预检查结果     | POST /v3/{project_id}/jobs/batch-precheck-result                                           | drs:migrationJob:get                                                                             | √                       | √                            |
| 批量设置任务限速      | PUT /v3/{project_id}/jobs/batch-limit-speed | drs:migrationJobs:update                                                                         | √                       | √                            |
| 批量获取数据库参数     | POST /v3/{project_id}/jobs/batch-get-params                                                | drs:databaseParameters:get                                                                       | √                       | √                            |
| 修改数据库参数       | POST /v1.0/{projectId}/jobs/{jobId}/params                                                 | drs:dataBaseParams:modify（配置 RDS ReadOnlyAccess、VPC FullAccess、SMN FullAccess，DAS FullAccess权限。） | √                       | √                            |
| 批量启动任务        | POST /v3/{project_id}/jobs/batch-starting                                                  | drs:migrationJob:action                                                                          | √                       | √                            |
| 批量续传/重试       | POST /v3/{project_id}/jobs/batch-retry-task                                                | drs:migrationJob:action                                                                          | √                       | √                            |
| 批量暂停任务        | POST /v3/{project_id}/jobs/batch-starting                                                  | drs:migrationJob:action                                                                          | √                       | √                            |
| 批量结束和删除任务     | DELETE /v3/{project_id}/jobs/batch-jobs                                                    | drs:migrationJobs:delete（结束和删除实例需要在项目上配置 RDS ReadOnlyAccess、VPC FullAccess、SMN FullAccess权限。）    | √                       | √                            |
| 批量修改源库/目标库密码  | PUT /v3/{project_id}/jobs/batch-modify-pwd                                                 | drs:migrationJobs:update                                                                         | √                       | √                            |
| 批量设置definer   | POST /v3/{project_id}/jobs/batch-replace-definer                                           | drs:migrationJob:updateJobConfig                                                                 | √                       | √                            |
| 批量创建对比任务      | POST /v3/{project_id}/jobs/batch-create-compar                                             | drs:migrationCompareJob:create                                                                   | √                       | √                            |
| 批量查询对比结果      | POST /v3/{project_id}/jobs/batch-compare-result                                            | drs:CompareJob:getResult                                                                         | √                       | √                            |
| 批量查询任务进度      | POST /v3/{project_id}/jobs/batch-progress                                                  | drs:migrationJobs:getProgress                                                                    | √                       | √                            |
| 查询租户任务列表      | POST /v3/{project_id}/jobs                                                                 | DRS ReadOnlyAccess                                                                               | √                       | √                            |
| 批量查询任务详情      | POST /v3/{project_id}/jobs/batch-detail                                                    | drs:migrationJob:get                                                                             | √                       | √                            |
| 批量查询任务状态      | POST /v3/{project_id}/jobs/batch-status                                                    | drs:migrationJob:get                                                                             | √                       | √                            |
| 批量更新迁移用户信息    | GET /v3/{project_id}/jobs/{job_id}/get-src-user                                            | drs:migrationJob:modifyUserInfo                                                                  | √                       | √                            |
| 获取源库迁移用户信息    | PUT /v3/{project_id}/jobs/batch-update-user                                                | drs:migrationJob:getSrcUsers                                                                     | √                       | √                            |
| 批量数据加工        | POST /v3/{project_id}/jobs/batch-transformation                                            | drs:migrationJob:action                                                                          | √                       | √                            |
| 批量主备倒换        | POST /v3/{project_id}/jobs/batch-switchover                                                | drs:disasterRecoveryJob:switchover                                                               | √                       | √                            |
| 批量查询rpo和rto   | POST /v3/{project_id}/jobs/batch-rpo-and-rto                                               | drs:dataGuardJob:list                                                                            | √                       | √                            |
| 查询容灾监控数据      | POST /v3/{project_id}/jobs/disaster-recovery-monitoring-data                               | drs:disasterRecoveryJob:get                                                                      | √                       | √                            |
| 批量查询灾备初始化进度   | POST /v3/{project_id}/jobs/batch-struct-process                                            | drs:disasterRecoveryJob:get                                                                      | √                       | √                            |
| 批量查询灾备初始化对象详情 | POST /v3/{project_id}/jobs/{type}/batch-struct-detail                                      | drs:disasterRecoveryJob:get                                                                      | √                       | √                            |
| 查询配额          | GET /v3/{project_id}/quotas                                                                | drs:quota:get                                                                                    | √                       | √                            |
   
