# 身份策略授权参考
云服务在IAM预置了常用授权项，称为系统身份策略。如果IAM系统身份策略无法满足授权要求，管理员可以根据各服务支持的授权项，创建IAM自定义身份策略来进行精细的访问控制，IAM自定义身份策略是对系统身份策略的扩展和补充。
除IAM服务外，[Organizations](https://support.huaweicloud.com/productdesc-organizations/org_01_0011.html)服务中的[服务控制策略](https://support.huaweicloud.com/usermanual-organizations/org_03_0065.html)（Service Control Policy，以下简称SCP）也可以使用这些授权项元素设置访问控制策略。
SCP不直接进行授权，只划定权限边界。将SCP绑定到组织单元或者成员账号时，并没有直接对组织单元或成员账号授予操作权限，而是规定了成员账号或组织单元包含的成员账号的授权范围。IAM身份策略授予权限的有效性受SCP限制，只有在SCP允许范围内的权限才能生效。
IAM服务与Organizations服务在使用这些元素进行访问控制时，存在着一些区别，详情请参见：[IAM服务与Organizations服务权限访问控制的区别](https://support.huaweicloud.com/organizations_faq/org_06_0004.html)。
本章节介绍IAM服务身份策略授权场景中自定义身份策略和组织服务中SCP使用的元素，这些元素包含了操作（Action）、资源（Resource）和条件（Condition）。
- 如何使用这些元素编辑IAM自定义身份策略，请参考[创建自定义身份策略](https://support.huaweicloud.com/usermanual-iam5/iam_01_0917.html)。
- 如何使用这些元素编辑SCP自定义策略，请参考[创建SCP](https://support.huaweicloud.com/usermanual-organizations/org_03_0035.html)。
#### 操作（Action）
操作（Action）即为身份策略中支持的授权项。
- "访问级别"列描述如何对操作进行分类（list、read和write等）。此分类可帮助您了解在身份策略中相应操作对应的访问级别。
- "资源类型"列指每个操作是否支持资源级权限。
  - 资源类型支持通配符号\*表示所有。如果此列没有值（-），则必须在身份策略语句的Resource元素中指定所有资源类型（"\*"）。
  
  - 如果该列包含资源类型，则必须在具有该操作的语句中指定该资源的URN。
  
  - 资源类型列中必需资源在表中用星号（\*）标识，表示使用此操作必须指定该资源类型。
   
关于DDM定义的资源类型的详细信息请参见[资源类型（Resource）]。
- "条件键"列包括了可以在身份策略语句的Condition元素中支持指定的键值。
  - 如果该授权项资源类型列存在值，则表示条件键仅对列举的资源类型生效。
  
  - 如果该授权项资源类型列没有值（-），则表示条件键对整个授权项生效。
  
  - 如果此列条件键没有值（-），表示此操作不支持指定条件键。
  
  
  关于DDM定义的条件键的详细信息请参见[条件（Condition）]。
  

- "别名"列包括了可以在身份策略中配置的策略授权项。通过这些授权项，可以控制支持策略授权的API访问。详细信息请参见[身份策略兼容性说明](https://support.huaweicloud.com/iam5_faq/iam_01_1103.html)。
您可以在身份策略语句的Action元素中指定以下DDM的相关操作。
表1DDM支持的授权项 
| 授权项（Action）                              | 描述                      | 访问级别      | 资源类型（\*为必须）  | 条件键                                                                                                                                                                                  | 别名                        |
|:---|:---|:---|:---|:---|:---|
| ddm::createParamGroup                    | 授予创建参数组的权限的权限。         | write   | -         | -                                                                                                                                                                                 | ddm:param:create         |
| ddm::deleteParamGroup                  | 授予删除参数组的权限。            | write  | -        | -                                                                                                                                                                                | ddm:param:delete        |
| ddm::updateParamGroup                    | 授予更新参数组的权限。          | write    | -          | -                                                                                                                                                                               | ddm:param:update        |
| ddm::applyParamGroup                     | 授予应用参数组的权限。           | write | -        | -                                                                                                                                                                                 | ddm:param:apply          |
| ddm::listParamGroup                    | 授予查询参数组列表的权限。        | list   | -        | -                                                                                                                                                                                  | ddm:param:list            |
| ddm::copyParamGroup                      | 授予复制参数模板的权限的权限。       | write | -        | -                                                                                                                                                                                 | ddm:param:create          |
| ddm::getParamGroup                        | 授予查询参数组的权限。           | read    | -         | -                                                                                                                                                                                 | ddm:param:list          |
| ddm:instance:deleteBackup                 | 授予删除备份的权限。             | write    | instance    | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                      | ddm:backup:delete        |
| ddm:instance:restore                     | 授予备份恢复的权限。              | write     | instance  | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                    | ddm:backup:restore        |
| ddm:instance:getBackup                    | 授予获取备份相关信息的权限。         | read     | instance   | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                     | ddm:backup:get             |
| ddm:instance:listBackup                  | 授予查询实例的备份列表的权限。       | list     | instance   | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                    | ddm:backup:list           |
| ddm::listBackup                          | 授予查询项目的备份列表的权限。       | list    | -         | -                                                                                                                                                                                 | ddm:backup:list          |
| ddm:instance:createUser                    | 授予创建DDM账号的权限。          | write   | instance | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                   | ddm:user:create           |
| ddm:instance:updateUser                    | 授予修改DDM账号信息的权限。       | write    | instance   | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                   | ddm:user:modify           |
| ddm:instance:deleteUser                  | 授予删除DDM账号的权限。          | write     | instance     | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                    | ddm:user:delete           |
| ddm:instance:listUser                    | 授予查询DDM账号列表的权限。      | list   | instance    | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                   | ddm:user:list            |
| ddm::validateWeakPassword                 | 授予查询DDM弱密码校验的权限。      | read      | -         | -                                                                                                                                                                                 | ddm:user:list             |
| ddm:database:configBlacklist              | 授予配置SQL黑名单的权限。           | write    | database    | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                   | ddm:blacklist:config       |
| ddm:database:getBlacklist                 | 授予查询SQL黑名单的权限。         | read    | database  | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                 | ddm:blacklist:get         |
| ddm:instance:syncDataNode                | 授予同步数据节点信息的权限。           | write  | instance  | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                    | ddm:rds:synchro          |
| ddm:instance:updateDataNodeReadWritePolicy | 授予更新读写比重的权限。           | write    | instance  | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                   | ddm:rds:modifyReadPolicy |
| ddm:instance:listDataNode                | 授予查询数据节点列表的权限。         | list     | instance | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                 | ddm:rds:list              |
| ddm:instance:checkDataNodeConnection    | 授予检查数据节点连通性的权限。      | read     | instance    | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                    | ddm:instance:list         |
| ddm::listTask                            | 授予查询任务列表的权限。           | list     | -           | -                                                                                                                                                                                 | ddm:task:list            |
| ddm::getTask                              | 授予查询任务详情的权限。          | read    | -           | -                                                                                                                                                                                  | ddm:task:get               |
| ddm::listTags                            | 授予查询项目下所有标签列表的权限。       | list       | -         | -                                                                                                                                                                                   | ddm:tag:list              |
| ddm::listTagsForResource                 | 授予查询实例标签列表的权限。       | list   | instance   | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                  | ddm:tag:list              |
| ddm::updateTagForResource                  | 授予修改标签的权限。            | tagging   | instance   | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                 | ddm:tag:modify            |
| ddm::tagResource                        | 授予添加标签的权限。             | tagging  | instance  | g:EnterpriseProjectId g:ResourceTag/\<tag-key\> g:RequestTag/\<tag-key\> g:TagKeys | ddm:tag:modify            |
| ddm::untagResource                       | 授予删除标签的权限。             | tagging  | instance    | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                     | ddm:tag:modify            |
| ddm:instance:listGroup                   | 授予查询实例组列表的权限。         | list     | instance   | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                   | ddm:instance:list         |
| ddm:database:listTable                    | 授予查询逻辑表的权限。           | list      | database   | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                  | ddm:table:list           |
| ddm:database:getTable                     | 授予查询逻辑表详情的权限。         | read    | database   | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                    | ddm:table:list           |
| ddm:database:create                       | 授予创建逻辑库的权限。            | write     | database    | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                   | -                          |
| ddm:database:delete                     | 授予删除逻辑库的权限。           | write   | database   | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                  | -                        |
| ddm:database:list                        | 授予查询逻辑库列表的权限。         | list     | instance    | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                  | -                         |
| ddm:database:get                           | 授予查询逻辑库详情的权限。         | read     | database  | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                   | -                         |
| ddm:database:migrate                        | 授予逻辑库分片变更的权限。           | write   | database  | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                  | -                          |
| ddm:database:migrateRollback             | 授予逻辑库分片变更回滚的权限。       | write   | database  | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                   | -                         |
| ddm:database:dumpMetadata                | 授予导出逻辑库元信息的权限。         | write    | database   | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                   | ddm:database:get         |
| ddm:database:loadMetadata                | 授予导入逻辑库元信息的权限。         | write    | database   | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                    | ddm:database:create       |
| ddm:instance:enlargeNode                  | 授予扩节点的权限。             | write    | instance   | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                 | ddm:instance:extendNode   |
| ddm:instance:reduceNode                  | 授予缩节点的权限。             | write    | instance   | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                  | ddm:instance:extendNode   |
| ddm:instance:getNode                      | 授予查询节点详情的权限。           | read      | instance   | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                 | ddm:instance:get          |
| ddm:instance:listNodes                     | 授予查询节点列表的权限。         | list      | instance   | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                    | ddm:instance:list        |
| ddm:instance:updateElbIp                    | 授予修改实例ELB IP的权限。        | write      | instance    | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                   | ddm:instance:modify       |
| ddm:instance:create                        | 授予创建DDM实例的权限。         | write     | instance  | g:RequestTag/\<tag-key\> g:TagKeys g:EnterpriseProjectId                                                         | -                         |
| ddm:instance:reboot                         | 授予重启DDM实例的权限。          | write      | instance   | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                    | -                           |
| ddm:instance:delete                        | 授予删除DDM实例的权限。           | write    | instance  | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                 | -                         |
| ddm:instance:resize                     | 授予规格变更的权限。             | write     | instance   | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                    | -                         |
| ddm:instance:updateName                    | 授予修改DDM实例名称的权限。        | write    | instance  | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                   | ddm:instance:modify     |
| ddm:instance:updateIpGroup                 | 授予修改DDM访问控制的权限。         | write   | instance   | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                   | ddm:instance:modify      |
| ddm:instance:reload                     | 授予重新加载DDM实例元信息的权限。      | write   | instance  | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                   | ddm:instance:modify        |
| ddm:instance:updateSecurityGroup          | 授予更新DDM实例安全组的权限。        | write    | instance    | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                | ddm:instance:modify       |
| ddm:instance:updatePort                     | 授予更新DDM实例端口的权限。        | write    | instance    | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                   | ddm:instance:modify     |
| ddm::listProduct                         | 授予产品列表的权限。             | list     | -          | -                                                                                                                                                                                  | ddm:product:list         |
| ddm:instance:updateRwStrategy            | 授予打开或关闭读写分离的权限。       | write   | instance   | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                  | ddm:instance:modify        |
| ddm:instance:getRwStrategy                | 授予查看是否开启读写分离的权限。       | read      | instance   | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                  | ddm:instance:list        |
| ddm:instance:listRwInfo                   | 授予查询指定时间段内在DDM实例的读写次数。 | read      | instance  | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                    | -                          |
| ddm:instance:listSlowSqlInfo             | 授予查看慢SQL监控信息的权限。        | list    | instance   | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                  | -                        |
| ddm:instance:list                        | 授予查询DDM实例列表的权限。       | list     | -          | g:RequestTag/\<tag-key\> g:TagKeys g:EnterpriseProjectId                                                       | -                        |
| ddm:instance:get                          | 授予查询DDM实例详情的权限。         | read     | instance    | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                    | -                           |
| ddm:instance:changeVersion               | 授予DDM升降级的权限。            | write    | instance     | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                  | -                        |
| ddm:instance:queryProcessList           | 授予查询会话列表的权限。           | list     | instance  | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                    | -                          |
| ddm:instance:killProcessList              | 授予Kill会话的权限。           | write    | instance   | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                  | -                         |
| ddm:instance:modifySsl                   | 授予切换DDM内核的ssl开关的权限。     | write    | instance  | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                   | -                         |
| ddm:instance:getSslCertDownloadAddress   | 授予获取DDM的ssl证书下载地址的权限。 | read     | instance   | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                 | ddm:instance:list          |
| ddm:instance:modifyPublicAccess           | 授予绑定、解绑实例公网EIP的权限。      | write    | instance   | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                   | -                          |
| ddm:database:listGsi                      | 授予查询GSI列表的权限。          | list   | database  | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                  | -                       |
| ddm:database:createGsi                  | 授予创建GSI的权限。            | write  | database   | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                  | -                        |
| ddm:database:rebuildGsi                    | 授予重建GSI的权限。            | write    | database   | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                      | -                         |
| ddm:instance:createSqlLimit              | 授予创建实例自治限流规则的权限。      | write   | instance    | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                     | ddm:instance:modify      |
| ddm:instance:deleteSqlLimit               | 授予删除实例自治限流规则的权限。      | write    | instance  | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                  | ddm:instance:modify        |
| ddm:instance:querySqlLimit                | 授予查询实例自治限流规则的权限。        | list      | instance | g:EnterpriseProjectId g:ResourceTag/\<tag-key\>                                                                                                    | ddm:instance:query       |
   
DDM的API通常对应着一个或多个授权项。[表2]展示了API与授权项的关系，以及该API需要依赖的授权项。
 表2API与授权项的关系 
| API                                                                                                                                                      | 对应的授权项                                     | 依赖的授权项 |
|:---|:---|:---|
| POST /v1/{project_id}/instances                                                                                                                       | ddm:instance:create                         | -  |
| GET /v1/{project_id}/instances?offset={offset}\&limit={limit}                                                                                         | ddm:instance:list                         | -   |
| GET /v1/{project_id}/instances/{instance_id}                                                                                                            | ddm:instance:get                             | -    |
| PUT /v1/{project_id}/instances/{instance_id}/modify-name                                                                                              | ddm:instance:updateName                   | -    |
| PUT /v1/{project_id}/instances/{instance_id}/modify-security-group                                                                                       | ddm:instance:updateSecurityGroup            | -    |
| DELETE /v1/{project_id}/instances/{instance_id}?delete_rds_data=true                                                                                    | ddm:instance:delete                        | -    |
| POST /v1/{project_id}/instances/{instance_id}/action                                                                                                     | ddm:instance:reboot                        | -    |
| POST /v1/{project_id}/instances/{instance_id}/reload-config                                                                                             | ddm:instance:reload                         | -   |
| POST /v2/{project_id}/instances/{instance_id}/action/enlarge                                                                                         | ddm:instance:enlargeNode                    | -    |
| POST /v2/{project_id}/instances/{instance_id}/action/reduce                                                                                             | ddm:instance:reduceNode                       | -    |
| PUT /v2/{project_id}/instances/{instance_id}/action/read-write-strategy                                                                               | ddm:instance:updateDataNodeReadWritePolicy | -   |
| POST /v1/{project_id}/instances/{instance_id}/rds/sync                                                                                                  | ddm:instance:syncDataNode                    | -    |
| GET /v1/{project_id}/instances/{instance_id}/nodes?offset={offset}\&limit={limit}                                                                        | ddm:instance:listNodes                      | -     |
| GET /v1/{project_id}/instances/{instance_id}/nodes/{node_id}                                                                                           | ddm:instance:getNode                         | -      |
| GET /v2/{project_id}/engines?offset={offset}\&limit={limit}                                                                                           | ddm::listProduct                            | -     |
| GET /v2/{project_id}/flavors?engine_id={engine_id}\&offset={offset}\&limit={limit}                                                                   | ddm::listProduct                           | -       |
| PUT /v3/{project_id}/instances/{instance_id}/flavor                                                                                                    | ddm:instance:resize                         | -       |
| GET /v3/{project_id}/instances/{instance_id}/groups?offset={offset}\&limit={limit}                                                                     | ddm:instance:listGroup                      | -     |
| POST /v3/{project_id}/instances/{instance_id}/groups                                                                                                    | ddm:instance:enlargeNode                     | -      |
| DELETE /v3/{project_id}/instances/{instance_id}/groups/{group_id}                                                                                      | ddm:instance:reduceNode                    | -      |
| GET /v3/{project_id}/engines?offset={offset}\&limit={limit}                                                                                            | ddm::listProduct                            | -       |
| GET /v3/{project_id}/flavors?engine_id={engine_id}\&offset={offset}\&limit={limit}\&engine_version={engine_version}\&available_zones={available_zones} | ddm::listProduct                           | -    |
| GET /v3/{project_id}/instances/{instance_id}/configurations?offset={offset}\&limit={limit}                                                              | ddm::getParamGroup                        | -     |
| PUT /v3.1/{project_id}/instances/{instance_id}/configurations                                                                                         | ddm:param:update                          | -    |
| POST /v3/{project_id}/instances/{instance_id}/nodes                                                                                                   | ddm:instance:enlargeNode                    | -      |
| DELETE /v3/{project_id}/instances/{instance_id}                                                                                                         | ddm:instance:delete                         | -    |
| POST /v3/{project_id}/instances/{instance_id}/switch-ssl                                                                                               | ddm:instance:modifySsl                      | -   |
| PUT /v3/{project_id}/instances/{instance_id}/port                                                                                                       | ddm:instance:updatePort                     | -      |
| POST /v3/{project_id}/instances/{instance_id}/restart                                                                                                  | ddm:instance:reboot                         | -    |
| POST /v3/{project_id}/instances/{instance_id}/nodes/{node_id}/restart                                                                                  | ddm:instance:reboot                           | -    |
| POST /v3/{project_id}/instances/{instance_id}/eip                                                                                                      | ddm:instance:modifyPublicAccess            | -   |
| DELETE /v3/{project_id}/instances/{instance_id}/eip                                                                                                     | ddm:instance:modifyPublicAccess           | -     |
| PUT /v3/{project_id}/instances/{instance_id}/elb/ip                                                                                                     | ddm:instance:updateElbIp                    | -    |
| DELETE /v3/{project_id}/instances/{instance_id}/nodes                                                                                                    | ddm:instance:reduceNode                     | -    |
| POST /v3/{project_id}/instances/{instance_id}/nodes/batch-delete                                                                                       | ddm:instance:reduceNode                    | -   |
| GET /v3/{project_id}/instances/{instance_id}/nodes/{node_id}                                                                                            | ddm:instance:getNode                        | -    |
| POST /v3/{project_id}/instances                                                                                                                        | ddm:instance:create                       | -   |
| GET /v3/{project_id}/instances/{instance_id}/public-ips                                                                                               | ddm:instance:get                              | -   |
| POST /v3/{project_id}/instances/{instance_id}/data-nodes/sync                                                                                           | ddm:instance:syncDataNode                   | -    |
| PUT /v3/{project_id}/instances/{instance_id}/name                                                                                                     | ddm:instance:updateName                     | -    |
| PUT /v3/{project_id}/instances/{instance_id}/security-group                                                                                            | ddm:instance:updateSecurityGroup           | -    |
| POST /v3/{project_id}/instances/{instance_id}/reload-config                                                                                          | ddm:instance:reload                           | -     |
| POST /v3/{project_id}/instances/{instance_id}/rds/connection                                                                                           | ddm:instance:checkDataNodeConnection         | -      |
| POST /v1/{project_id}/instances/{instance_id}/databases                                                                                               | ddm:database:create                          | -    |
| GET /v1/{project_id}/instances/{instance_id}/databases?offset={offset}\&limit={limit}                                                                 | ddm:database:list                            | -    |
| GET /v1/{project_id}/instances/{instance_id}/databases/{ddm_dbname}                                                                                    | ddm:database:get                             | -      |
| DELETE /v1/{project_id}/instances/{instance_id}/databases/{ddm_dbname}?delete_rds_data=true                                                           | ddm:database:delete                          | -    |
| GET /v1/{project_id}/instances/{instance_id}/rds?offset={offset}\&limit={limit}                                                                       | ddm:instance:listDataNode                 | -   |
| POST /v3/{project_id}/instances/{instance_id}/databases                                                                                                | ddm:database:create                        | -      |
| DELETE /v3/{project_id}/instances/{instance_id}/databases/{database_name}                                                                             | ddm:database:delete                          | -     |
| GET /v3/{project_id}/instances/{instance_id}/databases/{database_name}                                                                                  | ddm:database:get                            | -      |
| GET /v3/{project_id}/instances/{instance_id}/schema-metadata                                                                                          | ddm:database:dumpMetadata                   | -   |
| POST /v3/{project_id}/instances/{instance_id}/schema-metadata                                                                                         | ddm:database:loadMetadata                    | -     |
| GET /v3/{project_id}/instances/{instance_id}/available-data-nodes                                                                                      | ddm:instance:listDataNode                   | -    |
| GET /v3/{project_id}/instances/{instance_id}/databases/{db_name}/migration/available-data-nodes                                                        | ddm:instance:listDataNode                   | -    |
| POST /v3/{project_id}/instances/{instance_id}/databases/{db_name}/migration/precheck                                                                  | ddm:database:migrate                         | -     |
| GET /v3/{project_id}/instances/{instance_id}/databases/{db_name}/migration/precheck/{job_id}                                                         | ddm:instance:list                           | -   |
| POST /v3/{project_id}/instances/{instance_id}/databases/{db_name}/migration                                                                            | ddm:database:migrate                       | -   |
| GET /v3/{project_id}/instances/{instance_id}/databases/{db_name}/migration/jobs/{job_id}                                                               | ddm::listTask                              | -  |
| PUT /v3/{project_id}/instances/{instance_id}/databases/{db_name}/migration/jobs/{job_id}/cancel                                                        | ddm:database:migrate                      | -     |
| PUT /v3/{project_id}/instances/{instance_id}/databases/{db_name}/migration/jobs/{job_id}/rollback                                                    | ddm:database:migrateRollback                | -    |
| PUT /v3/{project_id}/instances/{instance_id}/databases/{db_name}/migration/jobs/{job_id}/clean                                                          | ddm:database:migrate                     | -  |
| PUT /v3/{project_id}/instances/{instance_id}/databases/{db_name}/migration/jobs/{job_id}/retry                                                        | ddm:database:migrate                      | -     |
| PUT /v3/{project_id}/instances/{instance_id}/databases/{db_name}/migration/jobs/{job_id}/route-switch-strategy                                         | ddm:database:migrate                       | -    |
| PUT /v3/{project_id}/instances/{instance_id}/databases/{db_name}/migration/jobs/{job_id}/route-switch                                                   | ddm:database:migrate                     | -   |
| POST /v1/{project_id}/instances/{instance_id}/users                                                                                                    | ddm:instance:createUser                    | -     |
| GET /v1/{project_id}/instances/{instance_id}/users?offset={offset}\&limit={limit}                                                                      | ddm:instance:listUser                         | -   |
| PUT /v1/{project_id}/instances/{instance_id}/users/{username}                                                                                           | ddm:instance:updateUser                      | -   |
| DELETE /v1/{project_id}/instances/{instance_id}/users/{username}                                                                                       | ddm:instance:deleteUser                    | -   |
| POST /v2/{project_id}/instances/{instance_id}/users/{username}/password                                                                               | ddm:instance:updateUser                       | -   |
| PUT /v3/{project_id}/instances/{instance_id}/admin-user                                                                                               | ddm:instance:updateUser                     | -    |
| POST /v3/{project_id}/weak-password-verification                                                                                                       | ddm::validateWeakPassword                   | -  |
| POST /v3/{project_id}/instances/{instance_id}/users                                                                                                      | ddm:instance:createUser                       | -     |
| GET /v3/{project_id}/instances/{instance_id}/users                                                                                                     | ddm:instance:listUser                      | -   |
| PUT /v3/{project_id}/instances/{instance_id}/users/{username}                                                                                            | ddm:instance:updateUser                    | -    |
| DELETE /v3/{project_id}/instances/{instance_id}/users/{username}                                                                                      | ddm:instance:deleteUser                     | -    |
| POST /v3/{project_id}/instances/{instance_id}/users/{username}/password                                                                                  | ddm:instance:updateUser                     | -     |
| GET /v3/{project_id}/jobs/{job_id}                                                                                                                     | ddm::getTask                                | -     |
| GET /v3/{project_id}/jobs                                                                                                                              | ddm::listTask                               | -   |
| GET /v2/{project_id}/instances/{instance_id}/slowlog?curPage={curPage}\&perPage={perPage}\&startDate={startDate}\&endDate={endDate}                    | ddm:instance:listSlowSqlInfo                | -    |
| GET /v3/{project_id}/instances/{instance_id}/logical-processes?offset={offset}\&limit={limit}                                                          | ddm:instance:queryProcessList               | -    |
| DELETE /v3/{project_id}/instances/{instance_id}/logical-processes                                                                                      | ddm:instance:killProcessList                | -    |
| GET /v3/{project_id}/instances/{instance_id}/physical-processes?offset={offset}\&limit={limit}                                                         | ddm:instance:queryProcessList               | -    |
| DELETE /v3/{project_id}/instances/{instance_id}/physical-processes                                                                                     | ddm:instance:killProcessList              | -    |
| GET /v3/{project_id}/instances/{instance_id}/processes-audit-log?offset={offset}\&limit={limit}\&start_time={start_time}\&end_time={end_time}          | ddm:instance:queryProcessList              | -     |
| GET /v3/{project_id}/instances/{instance_id}/database-version/available-versions                                                                       | ddm:instance:get                           | -    |
| POST /v3/{project_id}/instances/{instance_id}/database-version/change-version                                                                         | ddm:instance:changeVersion                  | -     |
| POST /v3/{project_id}/instances/{instance_id}/database-version/rollback-version                                                                      | ddm:instance:changeVersion                   | -   |
| GET /v3/{project_id}/instances/{instance_id}/show-risk-info                                                                                            | ddm:instance:get                           | -  |
| GET /v3/{project_id}/backups                                                                                                                          | ddm::listBackup                             | -     |
| DELETE /v3/{project_id}/backups/{backup_id}                                                                                                              | ddm:instance:deleteBackup                   | -    |
| GET /v3/{project_id}/instances/{instance_id}/backups/{backup_id}                                                                                     | ddm:instance:getBackup                     | -     |
| GET /v3/{project_id}/instances/{instance_id}/backups/related-dn                                                                                       | ddm:instance:getBackup                      | -     |
| GET /v3/{project_id}/instances/{instance_id}/backups/restorable-time-interval                                                                          | ddm:instance:getBackup                       | -     |
| GET /v3/{project_id}/instances/{instance_id}/backups/restorable-data-node                                                                              | ddm:instance:listDataNode                   | -     |
| GET /v3/{project_id}/instances/{instance_id}/backups/restorable-instances                                                                              | ddm:instance:list                         | -    |
| POST /v3/{project_id}/instances/{instance_id}/backups/metadata-recovery                                                                                | ddm:instance:restore                       | -      |
| POST /v3/{project_id}/instances/{instance_id}/backups/recovery                                                                                         | ddm:instance:restore                        | -    |
| GET /v3/{project_id}/configurations                                                                                                                    | ddm::listParamGroup                         | -   |
| GET /v3/{project_id}/configurations/{config_id}                                                                                                         | ddm::getParamGroup                         | -    |
| POST /v3/{project_id}/configurations                                                                                                                   | ddm::createParamGroup                     | -     |
| DELETE /v3/{project_id}/configurations/{config_id}                                                                                                     | ddm::deleteParamGroup                       | -  |
| GET /v3/{project_id}/configurations/{config_id}/apply-histories                                                                                        | ddm::listParamGroup                       | -   |
| POST /v3/{project_id}/configurations/{config_id}/copy                                                                                                | ddm::copyParamGroup                           | -  |
| PUT /v3/{project_id}/configurations/{config_id}                                                                                                         | ddm::updateParamGroup                       | -   |
| GET /v3/{project_id}/configurations/{config_id}/query-instances                                                                                      | ddm:instance:list                           | -    |
| PUT /v3/{project_id}/configurations/diff                                                                                                               | ddm::listParamGroup                          | -  |
   
 #### 资源类型（Resource）
资源类型（Resource）表示身份策略所作用的资源。如[表3]中的某些操作指定了可以在该操作指定的资源类型，则必须在具有该操作的身份策略语句中指定该资源的URN，身份策略仅作用于此资源；如未指定，Resource默认为"\*"，则身份策略将应用到所有资源。您也可以在身份策略中设置条件，从而指定资源类型。
DDM定义了以下可以在身份策略的Resource元素中使用的资源类型。
 表3DDM支持的资源类型 
| 资源类型       | URN                                           |
|:---|:---|
| instance | ddm:\<region\>:\<account-id\>:instance:\<instance-id\>                     |
| database                           | ddm:\<region\>:\<account-id\>:database:\<instance-id\>/\<database-name\> |
   
 #### 条件（Condition）
条件（Condition）是身份策略生效的特定条件，包括[条件键](https://support.huaweicloud.com/usermanual-iam5/iam_01_0934.html)和[运算符](https://support.huaweicloud.com/usermanual-iam5/iam_01_0934.html)。
- 条件键表示身份策略语句的Condition元素中的键值。根据适用范围，分为全局级条件键和服务级条件键。
  - 全局级条件键（前缀为g:）适用于所有操作，在鉴权过程中，云服务不需要提供用户身份信息，系统将自动获取并鉴权。详情请参见：[全局条件键](https://support.huaweicloud.com/usermanual-iam5/iam_01_0934.html)。
  
  - 单值/多值表示API调用时请求中与条件关联的值数。单值条件键在API调用时的请求中最多包含一个值，多值条件键在API调用时请求可以包含多个值。例如：g:SourceVpce是单值条件键，表示仅允许通过某个VPC终端节点发起请求访问某资源，一个请求最多包含一个VPC终端节点ID值。g:TagKeys是多值条件键，表示请求中携带的所有标签的key组成的列表，当用户在调用API请求时传入标签可以传入多个值。
   
- 运算符与条件键、条件值一起构成完整的条件判断语句，当请求信息满足该条件时，身份策略才能生效。支持的运算符请参见：[运算符](https://support.huaweicloud.com/usermanual-iam5/iam_01_0934.html)。
 
