云数据库 RDS
云服务在IAM预置了常用授权项,称为系统身份策略。如果IAM系统身份策略无法满足授权要求,管理员可以根据各服务支持的授权项,创建IAM自定义身份策略来进行精细的访问控制,IAM自定义身份策略是对系统身份策略的扩展和补充。
除IAM服务外,Organizations服务中的服务控制策略(Service Control Policy,以下简称SCP)也可以使用这些授权项元素设置访问控制策略。
SCP不直接进行授权,只划定权限边界。将SCP绑定到组织单元或者成员账号时,并没有直接对组织单元或成员账号授予操作权限,而是规定了成员账号或组织单元包含的成员账号的授权范围。IAM身份策略授予权限的有效性受SCP限制,只有在SCP允许范围内的权限才能生效。
IAM服务与Organizations服务在使用这些元素进行访问控制时,存在着一些区别,详情请参见:IAM服务与Organizations服务权限访问控制的区别。
本章节介绍IAM服务身份策略授权场景中自定义身份策略和组织服务中SCP使用的元素,这些元素包含了操作(Action)、资源(Resource)和条件(Condition)。
操作(Action)
操作(Action)即为身份策略中支持的授权项。
- “访问级别”列描述如何对操作进行分类(list、read和write等)。此分类可帮助您了解在身份策略中相应操作对应的访问级别。
- “资源类型”列指每个操作是否支持资源级权限。
- 资源类型支持通配符号*表示所有。如果此列没有值(-),则必须在身份策略语句的Resource元素中指定所有资源类型(“*”)。
- 如果该列包含资源类型,则必须在具有该操作的语句中指定该资源的URN。
- 资源类型列中必需资源在表中用星号(*)标识,表示使用此操作必须指定该资源类型。
关于RDS定义的资源类型的详细信息请参见资源类型(Resource)。
- “条件键”列包括了可以在身份策略语句的Condition元素中支持指定的键值。
- 如果该授权项资源类型列存在值,则表示条件键仅对列举的资源类型生效。
- 如果该授权项资源类型列没有值(-),则表示条件键对整个授权项生效。
- 如果此列条件键没有值(-),表示此操作不支持指定条件键。
关于RDS定义的条件键的详细信息请参见条件(Condition)。
- “别名”列包括了可以在身份策略中配置的策略授权项。通过这些授权项,可以控制支持策略授权的API访问。详细信息请参见身份策略兼容性说明。
您可以在身份策略语句的Action元素中指定以下RDS的相关操作。
授权项 | 描述 | 访问级别 | 资源类型(*为必须) | 条件键 | 别名 |
|---|---|---|---|---|---|
rds:param:apply | 授予应用参数模板的权限。 | write | - | - | - |
rds:instance:updateParameter | 授予修改指定实例的参数的权限。 | write | instance | rds:param:modify | |
rds:instance:restoreInPlace | 授予恢复到已有或当前实例。 | write | - | - | - |
rds:instance:tableRestore | 授予表级恢复的权限。 | write | - | - | - |
rds:database:drop | 授予删除数据库的权限。 | write | instance | - | |
rds:log:getSlowLogs | 授予查询慢日志统计信息的权限。 | read | instance | rds:log:list | |
rds:instance:listDatabaseVersion | 授予查询数据库版本信息的权限。 | read | - | - | - |
rds:instance:listFlavors | 授予查询规格列表的权限。 | read | - | - | - |
rds:instance:listStorageType | 授予查询数据库磁盘类型的权限。 | read | - | - | - |
rds:instance:create | 授予创建数据库实例、恢复到新实例的权限。 | write | - | - | - |
rds:instance:stop | 授予停止实例的权限。 | write | instance | rds:instance:operateServer | |
rds:instance:start | 授予开启实例的权限。 | write | instance | rds:instance:operateServer | |
rds:instance:updateName | 授予修改实例名称的权限。 | write | instance | rds:instance:modify | |
rds:instance:updateRemark | 授予修改实例备注的权限。 | write | instance | rds:instance:modify | |
rds:instance:createDns | 授予创建内网DNS的权限。 | write | - | - | - |
rds:instance:updateDnsName | 授予修改域名的权限。 | write | instance | rds:instance:modifyDns | |
rds:instance:getDnsName | 授予查询实例域名的权限。 | read | instance | rds:instance:list | |
rds:instance:getDnsName | 授予查询实例IPv6域名的权限。 | read | instance | rds:instance:list | |
rds:instance:getReplicaStatus | 授予实例复制状态的权限。 | read | instance | rds:instance:list | |
rds:instance:modifySpec | 授予变更数据库实例的规格的权限。 | write | - | - | - |
rds:instance:extendSpace | 授予扩容数据库实例的磁盘空间的权限。 | permission_management | instance | - | |
rds:instance:setAutoEnlargePolicy | 授予设置自动扩容策略的权限。 | permission_management | instance | rds:instance:extendSpace | |
rds:instance:getAutoEnlargePolicy | 授予查询自动扩容策略的权限。 | read | instance | rds:instance:list | |
rds:instance:singleToHa | 授予单机转主备实例的权限。 | write | instance | - | |
rds:instance:restart | 授予重启数据库实例的权限。 | write | instance | - | |
rds:instance:deleteInstance | 授予删除数据库实例。 | write | instance | rds:instance:delete | |
rds:instance:listAll | 授予查询数据库实例列表的权限。 | read | - | - | rds:instance:list |
rds:instance:modifyPublicAccess | 授予绑定和解绑弹性公网IP的权限。 | write | - | - | - |
rds:instance:modifyStrategy | 授予主备实例倒换策略的权限。 | permission_management | instance | - | |
rds:instance:switchover | 授予手动主备切换的权限。 | write | instance | - | |
rds:instance:modifySynchronizeModel | 授予设置主备实例数据同步方式的权限。 | permission_management | instance | - | |
rds:instance:openReadonly | 授予设置只读参数的权限。 | permission_management | instance | - | |
rds:instance:create | 授予迁移主备实例备机的权限。 | write | - | - | - |
rds:instance:updateOpsWindow | 授予设置实例可维护时间窗的权限。 | write | instance | rds:instance:modify | |
rds:instance:upgradeDatabaseVersion | 授予升级数据库版本的权限。 | write | instance | rds:instance:modify | |
rds:instance:enableSecondLevelMonitoring | 授予开启秒级监控的权限。 | permission_management | instance | rds:log:switch | |
rds:instance:getSecondLevelMonitoringConfig | 授予查询秒级监控配置的权限。 | read | instance | rds:log:list | |
rds:instance:buildDrRelation | 授予配置主实例容灾能力权限、授予配置灾备实例容灾能力权限、授予灾备升主权限。 | write | instance | - | |
rds:instance:getReplicaStatus | 授予查询容灾复制状态权限。 | read | instance | rds:instance:list | |
rds:instance:listAll | 授予批量查询容灾实例信息权限。 | read | - | - | rds:instance:list |
rds:instance:modifySSL | 授予关闭或开启SSL的权限。 | permission_management | - | - | - |
rds:instance:modifySSL | 授予获取SSL证书下载地址的权限。 | permission_management | - | - | - |
rds:instance:modifyPort | 授予修改端口的权限。 | write | instance | - | |
rds:instance:modifySecurityGroup | 授予修改安全组的权限。 | write | - | - | - |
rds:instance:modifyIp | 授予修改内网IP的权限。 | write | instance | - | |
rds:instance:modifyBackupPolicy | 授予设置自动备份策略的权限。 | permission_management | instance | - | |
rds:instance:modifyBackupPolicy | 授予设置跨区域自动备份策略的权限。 | permission_management | instance | - | |
rds:instance:getBackupPolicy | 授予查询自动备份策略的权限。 | read | instance | rds:instance:list | |
rds:instance:getBackupPolicy | 授予查询跨区域自动备份策略的权限。 | read | instance | rds:instance:list | |
rds:backup:create | 授予创建手动备份的权限。 | write | - | - | - |
rds:backup:list | 授予获取备份列表的权限。 | list | - | - | - |
rds:backup:list | 授予查询跨区域备份列表的权限。 | list | - | - | - |
rds:instance:listAll | 授予查询跨区域备份实例列表的权限。 | read | - | - | rds:instance:list |
rds:backup:download | 授予获取备份下载链接的权限。 | read | - | - | - |
rds:backup:delete | 授予删除手动备份的权限。 | write | - | - | - |
rds:instance:getRestoreTime | 授予查询实例的可恢复时间段的权限。 | read | instance | rds:instance:list | |
rds:instance:getRestoreTime | 授予查询跨区域备份可恢复时间段的权限。 | read | instance | rds:instance:list | |
rds:instance:tableRestore | 授予查询实例是否能在库表恢复时使用极速恢复的权限。 | write | - | - | - |
rds:backup:list | 授予查询指定时间点可恢复的库的权限。 | list | - | - | - |
rds:instance:tableRestore | 授予库级时间点恢复的权限。 | write | - | - | - |
rds:instance:listAll | 授予查询实例可升级的目标版本的权限。 | read | - | - | rds:instance:list |
rds:instance:listAll | 授予大版本升级前检查的权限。 | read | - | - | rds:instance:list |
rds:instance:listAll | 授予查询大版本检查状态或升级状态的权限。 | read | - | - | rds:instance:list |
rds:instance:listAll | 授予查询实例大版本升级检查历史的权限。 | read | - | - | rds:instance:list |
rds:instance:update | 授予大版本升级的权限。 | read | - | - | rds:instance:modify |
rds:instance:listAll | 授予查询实例大版本升级历史的权限。 | read | - | - | rds:instance:list |
rds:log:getSlowLogs | 授予查询慢日志的权限。 | read | instance | rds:log:list | |
rds:log:getErrorLogs | 授予查询数据库错误日志的权限。 | read | instance | rds:log:list | |
rds:log:setSlowLogSensitiveStatus | 授予日志开关的权限。 | permission_management | instance | rds:log:switch | |
rds:log:getSlowLogs | 授予查询慢日志文件列表的权限。 | read | instance | rds:log:list | |
rds:log:getErrorLogs | 授予查询扩展日志的权限。 | read | instance | rds:log:list | |
rds:log:download | 授予生成扩展日志链接的权限。 | read | instance | - | |
rds:log:download | 授予慢日志下载的权限。 | read | instance | - | |
rds:auditlog:operate | 授予设置审计日志策略的权限。 | permission_management | instance | - | |
rds:auditlog:list | 授予查询审计日志策略的权限。 | read | instance | - | |
rds:auditlog:list | 授予实例获取审计日志列表的权限。 | read | instance | - | |
rds:auditlog:download | 授予生成审计日志下载链接的权限。 | read | instance | - | |
rds:binlog:setPolicy | 授予设置Binlog策略的权限。 | permission_management | instance | - | |
rds:binlog:get | 授予获取Binlog的权限。 | read | instance | - | |
rds:instance:listAll | 授予获取诊断后的实例数的权限。 | read | - | - | rds:instance:list |
rds:instance:listAll | 授予获取指定诊断项的诊断结果的权限。 | read | - | - | rds:instance:list |
rds:instance:modifyProxy | 授予开启/关闭数据库代理的权限。 | write | instance | - | |
rds:instance:getDBProxy | 授予查询数据库代理信息的权限。 | read | instance | rds:instance:list | |
rds:instance:getProxyFlavors | 授予查询数据库代理规格信息的权限。 | read | instance | rds:instance:list | |
rds:instance:modifyProxy | 授予设置读写分离路由模式的权限。 | write | instance | - | |
rds:database:createDatabase | 授予创建数据库的权限。 | write | instance | rds:database:create | |
rds:database:list | 授予查询数据库列表的权限。 | list | instance | - | |
rds:database:update | 授予修改指定实例的数据库备注的权限。 | write | instance | rds:database:create | |
rds:database:drop | 授予删除数据库的权限。 | write | instance | - | |
rds:databaseUser:create | 授予创建数据库用户的权限。 | write | instance | - | |
rds:databaseUser:list | 授予查询数据库用户列表的权限。 | list | instance | - | |
rds:databaseUser:list | 授予查询指定数据库的已授权用户的权限。 | list | instance | - | |
rds:databaseUser:update | 授予修改数据库用户名备注的权限。 | write | instance | - | |
rds:databaseUser:drop | 授予删除数据库用户的权限。 | write | instance | - | |
rds:password:update | 授予修改数据库密码的权限。 | write | instance | - | |
rds:databasePrivilege:grant | 授予数据库账号或用户的权限。 | write | instance | - | |
rds:databasePrivilege:revoke | 授予解除数据库账号权限的权限。 | write | instance | - | |
rds:password:update | 授予重置数据库root账号密码的权限。 | write | instance | - | |
rds:database:createDatabase | 授予创建数据库的权限。 | write | instance | rds:database:create | |
rds:databaseUser:create | 授予创建数据库用户的权限。 | write | instance | - | |
rds:database:update | 授予创建数据库SCHEMA的权限。 | write | instance | rds:database:create | |
rds:databasePrivilege:grant | 授权数据库账号的读写权限。 | write | instance | - | |
rds:databasePrivilege:grant | 授权数据库账号的操作权限。 | write | instance | - | |
rds:password:update | 授予修改数据库密码的权限。 | write | instance | - | |
rds:database:list | 授予查询数据库列表的权限。 | list | instance | - | |
rds:databaseUser:list | 授予查询数据库用户列表的权限。 | list | instance | - | |
rds:database:list | 授予查询数据库SCHEMA列表的权限。 | list | instance | - | |
rds:databasePrivilege:grant | 设置数据库用户权限。 | write | instance | - | |
rds:database:update | 授予修改指定实例的数据库备注的权限。 | write | instance | rds:database:create | |
rds:databaseUser:update | 授予修改数据库用户名备注的权限。 | write | instance | - | |
rds:database:drop | 授予删除数据库的权限。 | write | instance | - | |
rds:databaseUser:drop | 授予删除数据库用户的权限。 | write | instance | - | |
rds:databaseUser:list | 授权查询实例的pg_hba.conf文件配置。 | list | instance | - | |
rds:databaseUser:update | 授权修改pg_hba.conf文件的单个或多个配置。 | write | instance | - | |
rds:databaseUser:create | 授权覆盖当前pg_hba.conf文件的配置。 | write | instance | - | |
rds:databaseUser:drop | 授权删除pg_hba.conf文件的单个或多个配置。 | write | instance | - | |
rds:databaseUser:list | 授权查询实例的pg_hba.conf文件修改历史。 | list | instance | - | |
rds:database:list | 授权查询SQL Server可用字符集。 | list | instance | - | |
rds:database:createDatabase | 授予创建数据库的权限。 | write | instance | rds:database:create | |
rds:database:list | 授权查询数据库列表。 | list | instance | - | |
rds:databaseUser:create | 授予创建数据库用户的权限。 | write | instance | - | |
rds:password:update | 授予修改数据库密码的权限。 | write | instance | - | |
rds:databaseUser:list | 授予查询数据库用户列表的权限。 | list | instance | - | |
rds:databaseUser:list | 授予查询指定数据库的已授权用户的权限。 | list | instance | - | |
rds:databaseUser:drop | 授予删除数据库用户的权限。 | write | instance | - | |
rds:databasePrivilege:grant | 授予数据库账号或用户的权限。 | write | instance | - | |
rds:databasePrivilege:revoke | 授予解除数据库账号权限的权限。 | write | instance | - | |
rds:instance:SetMsdtcHosts | 授予添加MSDTC主机的权限。 | write | instance | rds:instance:modify | |
rds:instance:getMsdtcHosts | 授予查询MSDTC的hosts的权限。 | read | instance | rds:instance:list | |
rds:param:listAll | 授予获取参数模板列表的权限。 | list | - | - | rds:param:list |
rds:param:createTemplate | 授予创建参数模板的权限。 | write | - | - | rds:param:create |
rds:param:updateTemplate | 授予修改参数模板参数的权限。 | write | - | - | rds:param:modify |
rds:param:copy | 授予复制参数模板的权限。 | write | - | - | rds:param:create |
rds:param:listInstanceParamHistories | 授予查询实例参数修改历史列表的权限。 | list | - | - | rds:param:list |
rds:instance:getParameter | 授予获取指定实例的参数模板的权限。 | read | instance | rds:param:list | |
rds:param:get | 授予获取指定参数模板参数的权限。 | read | - | - | rds:param:list |
rds:param:get | 授予删除参数模板的权限。 | read | - | - | - |
rds:database:update | 授予创建插件的权限。 | write | instance | rds:database:create | |
rds:database:list | 授予查询插件的权限。 | list | instance | - | |
rds:database:drop | 授予删除插件的权限。 | write | instance | - | |
rds:instance:updateParameter | 授予修改实例指定参数值的权限。 | write | instance | rds:param:modify | |
rds:instance:getParameter | 授予获取实例指定参数值的权限。 | read | instance | rds:param:list | |
rds:instance:setRecycleBin | 授予设置回收站策略的权限。 | write | - | - | - |
rds:instance:listAll | 授予查询回收站策略的权限。 | read | - | - | rds:instance:list |
rds:instance:listAll | 授予查询回收站实例信息的权限。 | read | - | - | rds:instance:list |
rds:instance:createTag | 授予批量增加标签的权限。 | write | instance | rds:instance:dealTag | |
rds:instance:deleteTag | 授予批量删除标签的权限。 | write | instance | rds:instance:dealTag | |
rds:tag:list | 授予查询项目标签的权限。 | list | - | - | - |
rds:instance:listQuotas | 授予查询资源配额的权限。 | read | - | - | rds:instance:list |
rds:task:listAll | 授予获取任务信息的权限。 | list | - | - | rds:task:list |
rds:task:listAll | 授予获取指定实例和时间范围的任务信息的权限。 | list | - | - | rds:task:list |
rds:instance:tde | 授予开启tde的权限。 | permission_management | instance | - | |
rds:instance:deleteDisasterRecovery | 授予删除容灾关系权限。 | write | instance | - | |
rds:instance:showReplayDelayStatus | 授予查询日志回放延时状态的权限。 | read | instance | rds:instance:list | |
rds:instance:switchLogReplay | 授予中止&恢复日志回放的权限。 | write | instance | rds:instance:modify | |
rds:instance:queryRecoveryTimeWindow | 授予查询wal日志恢复时间窗权限。 | read | instance | rds:instance:list | |
rds:binlog:setPolicy | 授予设置Binlog本地保留时长的权限。 | permission_management | instance | - | |
rds:binlog:get | 授予获取Binlog本地保留时长的权限。 | read | instance | - | |
rds:instance:listAll | 授予获取诊断后的实例数的权限。 | read | - | - | rds:instance:list |
rds:instance:listAll | 授予获取指定诊断项的诊断结果的权限。 | read | - | - | rds:instance:list |
rds:instance:update | 授予新增SQL限流的权限。 | read | - | - | rds:instance:modify |
rds:instance:update | 授予删除SQL限流的权限。 | read | - | - | rds:instance:modify |
rds:instance:update | 授予修改SQL限流的权限。 | read | - | - | rds:instance:modify |
rds:instance:get | 授予查询SQL限流列表的权限。 | read | instance | rds:instance:list | |
rds:instance:update | 授予开启/关闭/禁用所有SQL限流的权限。 | read | - | - | rds:instance:modify |
rds:instance:update | 授予解除节点只读状态的权限。 | read | - | - | rds:instance:modify |
RDS的API通常对应着一个或多个授权项。表2展示了API与授权项的关系,以及该API需要依赖的授权项。
API | 对应的授权项 | 依赖的授权项 |
|---|---|---|
PUT /v3.1/{project_id}/configurations/{config_id}/apply | rds:param:apply | - |
PUT /v3.1/{project_id}/instances/{instance_id}/configurations | rds:instance:updateParameter | - |
POST /v3.1/{project_id}/instances/recovery | rds:instance:restoreInPlace | - |
POST /v3.1/{project_id}/instances/{instance_id}/restore/tables | rds:instance:tableRestore | - |
DELETE /v3.1/{project_id}/instances/{instance_id}/database/{db_name} | rds:database:drop | - |
POST /v3.1/{project_id}/instances/{instance_id}/slow-logs/statistics | rds:log:getSlowLogs | - |
GET /v3/{project_id}/datastores/{database_name} | rds:instance:listDatabaseVersion | - |
GET /v3/{project_id}/flavors/{database_name}?version_name={version_name}&spec_code={spec_code}&is_serverless={is_serverless} | rds:instance:listFlavors | - |
GET /v3/{project_id}/storage-type/{database_name}?version_name={version_name}&ha_mode={ha_mode} | rds:instance:listStorageType | - |
POST /v3/{project_id}/instances | rds:instance:create | - |
POST /v3/{project_id}/instances/{instance_id}/action/shutdown | rds:instance:stop | - |
POST /v3/{project_id}/instances/{instance_id}/action/startup | rds:instance:start | - |
PUT /v3/{project_id}/instances/{instance_id}/name | rds:instance:updateName | - |
PUT /v3/{project_id}/instances/{instance_id}/alias | rds:instance:updateRemark | - |
POST /v3/{project_id}/instances/{instance_id}/create-dns | rds:instance:createDns | - |
PUT /v3/{project_id}/instances/{instance_id}/modify-dns | rds:instance:updateDnsName | - |
GET /v3/{project_id}/instances/{instance_id}/dns | rds:instance:getDnsName | - |
GET /v3/{project_id}/instances/{instance_id}/dns-ipv6 | rds:instance:getDnsName | - |
GET /v3/{project_id}/instances/{instance_id}/replication/status | rds:instance:getReplicaStatus | - |
POST /v3/{project_id}/instances/{instance_id}/action | rds:instance:modifySpec | - |
POST /v3/{project_id}/instances/{instance_id}/action | rds:instance:extendSpace | - |
PUT /v3/{project_id}/instances/{instance_id}/disk-auto-expansion | rds:instance:setAutoEnlargePolicy | - |
GET /v3/{project_id}/instances/{instance_id}/disk-auto-expansion | rds:instance:getAutoEnlargePolicy | - |
POST /v3/{project_id}/instances/{instance_id}/action | rds:instance:singleToHa | - |
POST /v3/{project_id}/instances/{instance_id}/action | rds:instance:restart | - |
DELETE /v3/{project_id}/instances/{instance_id} | rds:instance:deleteInstance | - |
GET /v3/{project_id}/instances | rds:instance:listAll | - |
PUT /v3/{project_id}/instances/{instance_id}/public-ip | rds:instance:modifyPublicAccess | - |
PUT /v3/{project_id}/instances/{instance_id}/failover/strategy | rds:instance:modifyStrategy | - |
PUT /v3/{project_id}/instances/{instance_id}/failover | rds:instance:switchover | - |
PUT /v3/{project_id}/instances/{instance_id}/failover/mode | rds:instance:modifySynchronizeModel | - |
PUT /v3/{project_id}/instances/{instance_id}/readonly-status | rds:instance:openReadonly | - |
POST /v3/{project_id}/instances/{instance_id}/migrateslave | rds:instance:create | - |
PUT /v3/{project_id}/instances/{instance_id}/ops-window | rds:instance:updateOpsWindow | - |
POST /v3/{project_id}/instances/{instance_id}/db-upgrade | rds:instance:upgradeDatabaseVersion | - |
PUT /v3/{project_id}/instances/{instance_id}/second-level-monitor | rds:instance:enableSecondLevelMonitoring | - |
GET /v3/{project_id}/instances/{instance_id}/second-level-monitor | rds:instance:getSecondLevelMonitoringConfig | - |
POST /v3/{project_id}/instances/{instance_id}/action | rds:instance:buildDrRelation | - |
GET /v3/{project_id}/instances/{instance_id}/disaster-recovery | rds:instance:getReplicaStatus | - |
GET /v3/{project_id}/instances/disaster-recovery-relation | rds:instance:listAll | - |
PUT /v3/{project_id}/instances/{instance_id}/ssl | rds:instance:modifySSL | - |
GET /v3/{project_id}/instances/{instance_id}/ssl-cert/download-link | rds:instance:modifySSL | - |
PUT /v3/{project_id}/instances/{instance_id}/port | rds:instance:modifyPort | - |
PUT /v3/{project_id}/instances/{instance_id}/security-group | rds:instance:modifySecurityGroup | - |
PUT /v3/{project_id}/instances/{instance_id}/ip | rds:instance:modifyIp | - |
PUT /v3/{project_id}/instances/{instance_id}/backups/policy | rds:instance:modifyBackupPolicy | - |
PUT /v3/{project_id}/instances/{instance_id}/backups/offsite-policy | rds:instance:modifyBackupPolicy | - |
GET /v3/{project_id}/instances/{instance_id}/backups/policy | rds:instance:getBackupPolicy | - |
GET /v3/{project_id}/instances/{instance_id}/backups/offsite-policy | rds:instance:getBackupPolicy | - |
POST /v3/{project_id}/backups | rds:backup:create | - |
GET /v3/{project_id}/backups?instance_id={instance_id}&backup_id={backup_id}&backup_type={backup_type}&offset={offset}&limit={limit}&begin_time={begin _time}&end_time={end_time} | rds:backup:list | - |
GET /v3/{project_id}/offsite-backups?instance_id={instance_id}&backup_id={backup_id}&backup_type={backup_type}&offset={offset}&limit={limit}&begin_time={begin _time}&end_time={end_time} | rds:backup:list | - |
GET /v3/backups/offsite-backup-instance?offset={offset}&limit={limit} | rds:instance:listAll | - |
GET /v3/{project_id}/backup-files?backup_id={backup_id} | rds:backup:download | - |
DELETE /v3/{project_id}/backups/{backup_id} | rds:backup:delete | - |
GET /v3/{project_id}/instances/{instance_id}/restore-time?date=2020-12-26 | rds:instance:getRestoreTime | - |
GET /v3/{project_id}/instances/{instance_id}/offsite-restore-time?date=2020-12-26 | rds:instance:getRestoreTime | - |
POST /v3/{project_id}/instances/fast-restore | rds:instance:tableRestore | - |
POST /v3/{project_id}/{engine}/instances/history/databases | rds:backup:list | - |
POST /v3/{project_id}/instances/batch/restore/databases | rds:instance:tableRestore | - |
GET /v3/{project_id}/instances/{instance_id}/major-version/available-version | rds:instance:listAll | - |
POST /v3/{project_id}/instances/{instance_id}/major-version/inspection | rds:instance:listAll | - |
GET /v3/{project_id}/instances/{instance_id}/major-version/status?action={current_action} | rds:instance:listAll | - |
GET /v3/{project_id}/instances/{instance_id}/major-version/inspection-histories?offset={offset}&limit={limit}&order={order}&sort_field={sort_field}&target_version={target_version}&is_available={is_available} | rds:instance:listAll | - |
POST /v3/{project_id}/instances/{instance_id}/major-version/upgrade | rds:instance:update | - |
GET /v3/{project_id}/instances/{instance_id}/major-version/upgrade-histories?offset={offset}&limit={limit}&order={order}&sort_field={sort_field} | rds:instance:listAll | - |
POST /v3/{project_id}/instances/{instance_id}/slow-logs | rds:log:getSlowLogs | - |
POST /v3/{project_id}/instances/{instance_id}/error-logs | rds:log:getErrorLogs | - |
PUT /v3/{project_id}/instances/{instance_id}/slowlog-sensitization/{status} | rds:log:setSlowLogSensitiveStatus | - |
GET /v3/{project_id}/instances/{instance_id}/slowlog-files | rds:log:getSlowLogs | - |
GET /v3/{project_id}/instances/{instance_id}/xellog-files | rds:log:getErrorLogs | - |
POST /v3/{project_id}/instances/{instance_id}/xellog-download | rds:log:download | - |
POST /v3/{project_id}/instances/{instance_id}/slowlog-download | rds:log:download | - |
PUT /v3/{project_id}/instances/{instance_id}/auditlog-policy | rds:auditlog:operate | - |
GET /v3/{project_id}/instances/{instance_id}/auditlog-policy | rds:auditlog:list | - |
GET /v3/{project_id}/instances/{instance_id}/auditlog?start_time={start_time}&end_time={end_time}&offset={offset}&limit={limit} | rds:auditlog:list | - |
POST /v3/{project_id}/instances/{instance_id}/auditlog-links | rds:auditlog:download | - |
PUT /v3/{project_id}/instances/{instance_id}/binlog/clear-policy | rds:binlog:setPolicy | - |
GET /v3/{project_id}/instances/{instance_id}/binlog/clear-policy | rds:binlog:get | - |
GET /v3/{project_id}/instances/diagnosis | rds:instance:listAll | - |
GET /v3/{project_id}/instances/diagnosis/info | rds:instance:listAll | - |
POST /v3/{project_id}/instances/{instance_id}/proxy/open | rds:instance:modifyProxy | - |
GET /v3/{project_id}/instances/{instance_id}/proxy-list | rds:instance:getDBProxy | - |
GET /v3/{project_id}/instances/{instance_id}/proxy/flavors | rds:instance:getProxyFlavors | - |
POST /v3/{project_id}/instances/{instance_id}/proxy/{proxy_id}/route-mode | rds:instance:modifyProxy | - |
DELETE /v3/{project_id}/instances/{instance_id}/proxy/{proxy_id} | rds:instance:modifyProxy | - |
POST /v3/{project_id}/instances/{instance_id}/database | rds:database:createDatabase | - |
GET /v3/{project_id}/instances/{instance_id}/database/detail?page={page}&limit={limit} | rds:database:list | - |
POST /v3/{project_id}/instances/{instance_id}/database/update | rds:database:update | - |
DELETE /v3/{project_id}/instances/{instance_id}/database/{db_name} | rds:database:drop | - |
POST /v3/{project_id}/instances/{instance_id}/db_user | rds:databaseUser:create | - |
GET /v3/{project_id}/instances/{instance_id}/db_user/detail?page={page}&limit={limit} | rds:databaseUser:list | - |
GET /v3/{project_id}/instances/{instance_id}/database/db_user?db-name={db-name}&page={page}&limit={limit} | rds:databaseUser:list | - |
PUT /v3/{project_id}/instances/{instance_id}/db-users/{user_name}/comment | rds:databaseUser:update | - |
DELETE /v3/{project_id}/instances/{instance_id}/db_user/{user_name} | rds:databaseUser:drop | - |
POST /v3/{project_id}/instances/{instance_id}/db_user/resetpwd | rds:password:update | - |
POST /v3/{project_id}/instances/{instance_id}/db_privilege | rds:databasePrivilege:grant | - |
DELETE /v3/{project_id}/instances/{instance_id}/db_privilege | rds:databasePrivilege:revoke | - |
POST /v3/{project_id}/instances/{instance_id}/password | rds:password:update | - |
POST /v3/{project_id}/instances/{instance_id}/database | rds:database:createDatabase | - |
POST /v3/{project_id}/instances/{instance_id}/db_user | rds:databaseUser:create | - |
POST /v3/{project_id}/instances/{instance_id}/schema | rds:database:update | - |
POST /v3/{project_id}/instances/{instance_id}/db_privilege | rds:databasePrivilege:grant | - |
POST /v3/{project_id}/instances/{instance_id}/db-user-privilege | rds:databasePrivilege:grant | - |
POST /v3/{project_id}/instances/{instance_id}/db_user/resetpwd | rds:password:update | - |
GET /v3/{project_id}/instances/{instance_id}/database/detail?page={page}&limit={limit} | rds:database:list | - |
GET /v3/{project_id}/instances/{instance_id}/db_user/detail?page={page}&limit={limit} | rds:databaseUser:list | - |
GET /v3/{project_id}/instances/{instance_id}/schema/detail?db_name={name}&page={page}&limit={limit} | rds:database:list | - |
POST /v3/{project_id}/instances/{instance_id}/user-privilege | rds:databasePrivilege:grant | - |
POST /v3/{project_id}/instances/{instance_id}/database/update | rds:database:update | - |
PUT /v3/{project_id}/instances/{instance_id}/db-users/{user_name}/comment | rds:databaseUser:update | - |
DELETE /v3/{project_id}/instances/{instance_id}/database/{db_name} | rds:database:drop | - |
DELETE /v3/{project_id}/instances/{instance_id}/db_user/{user_name} | rds:databaseUser:drop | - |
GET /v3/{project_id}/instances/{instance_id}/hba-info | rds:databaseUser:list | - |
PUT /v3/{project_id}/instances/{instance_id}/hba-info | rds:databaseUser:update | - |
POST /v3/{project_id}/instances/{instance_id}/hba-info | rds:databaseUser:create | - |
DELETE /v3/{project_id}/instances/{instance_id}/hba-info | rds:databaseUser:drop | - |
GET /v3/{project_id}/instances/{instance_id}/hba-info/history | rds:databaseUser:list | - |
GET /v3/{project_id}/collations | rds:database:list | - |
POST /v3/{project_id}/instances/{instance_id}/database | rds:database:createDatabase | - |
GET /v3/{project_id}/instances/{instance_id}/database/detail?page={page}&limit={limit}&db-name={db-name}&recover_model={recover_model} | rds:database:list | - |
POST /v3/{project_id}/instances/{instance_id}/db_user | rds:databaseUser:create | - |
POST /v3/{project_id}/instances/{instance_id}/db_user/resetpwd | rds:password:update | - |
GET /v3/{project_id}/instances/{instance_id}/db_user/detail?page={page}&limit={limit} | rds:databaseUser:list | - |
GET /v3/{project_id}/instances/{instance_id}/database/db_user?db-name={db-name}&page={page}&limit={limit} | rds:databaseUser:list | - |
DELETE /v3/{project_id}/instances/{instance_id}/db_user/{user_name} | rds:databaseUser:drop | - |
POST /v3/{project_id}/instances/{instance_id}/db_privilege | rds:databasePrivilege:grant | - |
DELETE /v3/{project_id}/instances/{instance_id}/db_privilege | rds:databasePrivilege:revoke | - |
POST /v3/{project_id}/instances/{instance_id}/msdtc/host | rds:instance:SetMsdtcHosts | - |
GET /v3/{project_id}/instances/{instance_id}/msdtc/hosts?offset={offset}&limit={limit} | rds:instance:getMsdtcHosts | - |
GET /v3/{project_id}/configurations | rds:param:listAll | - |
POST /v3/{project_id}/configurations | rds:param:createTemplate | - |
PUT /v3/{project_id}/configurations/{config_id} | rds:param:updateTemplate | - |
POST /v3/{project_id}/configurations/{config_id}/copy | rds:param:copy | - |
GET /v3/{project_id}/instances/{instance_id}/configuration-histories?offset={offset}&limit={limit}&start_time={start_time}&end_time={end_time}¶m_name={param_name} | rds:param:listInstanceParamHistories | - |
GET /v3/{project_id}/instances/{instance_id}/configurations | rds:instance:getParameter | - |
GET /v3/{project_id}/configurations/{config_id} | rds:param:get | - |
DELETE /v3/{project_id}/configurations/{config_id} | rds:param:get | - |
POST /v3/{project_id}/instances/{instance_id}/extensions | rds:database:update | - |
GET /v3/{project_id}/instances/{instance_id}/extensions?database_name={database_name}&offset={offset}&limit={limit} | rds:database:list | - |
DELETE /v3/{project_id}/instances/{instance_id}/extensions | rds:database:drop | - |
PUT /v3/{project_id}/instances/{instance_id}/parameter/{name} | rds:instance:updateParameter | - |
GET /v3/{project_id}/instances/{instance_id}/parameter/{name} | rds:instance:getParameter | - |
PUT /v3/{project_id}/instances/recycle-policy | rds:instance:setRecycleBin | - |
GET /v3/{project_id}/instances/recycle-policy | rds:instance:listAll | - |
GET /v3/{project_id}/recycle-instances?offset={offset}&limit={limit} | rds:instance:listAll | - |
POST /v3/{project_id}/instances/{instance_id}/tags/action | rds:instance:createTag | - |
POST /v3/{project_id}/instances/{instance_id}/tags/action | rds:instance:deleteTag | - |
GET /v3/{project_id}/tags | rds:tag:list | - |
GET /v3/{project_id}/quotas | rds:instance:listQuotas | - |
GET /v3/{project_id}/jobs?id={id} | rds:task:listAll | - |
GET /v3/{project_id}/instances/{instance_id}/tasklist/detail?start_time={start_time}&end_time={end_time} | rds:task:listAll | - |
PUT /v3/{project_id}/instances/{instance_id}/tde | rds:instance:tde | - |
DELETE /v3/{project_id}/instances/{instance_id}/delete-disaster-recovery | rds:instance:deleteDisasterRecovery | - |
GET /v3/{project_id}/instances/{instance_id}/replay-delay/show | rds:instance:showReplayDelayStatus | - |
PUT /v3/{project_id}/instances/{instance_id}/log-replay/update | rds:instance:switchLogReplay | - |
GET /v3/{project_id}/instances/{instance_id}/recovery-time | rds:instance:queryRecoveryTimeWindow | - |
PUT /v3/{project_id}/instances/{instance_id}/binlog/clear-policy | rds:binlog:setPolicy | - |
GET /v3/{project_id}/instances/{instance_id}/binlog/clear-policy | rds:binlog:get | - |
GET /v3/{project_id}/instances/diagnosis | rds:instance:listAll | - |
GET /v3/{project_id}/instances/diagnosis/info | rds:instance:listAll | - |
POST /v3/{project_id}/instances/{instance_id}/sql-limit | rds:instance:update | - |
DELETE /v3/{project_id}/instances/{instance_id}/sql-limit | rds:instance:update | - |
PUT /v3/{project_id}/instances/{instance_id}/sql-limit/update | rds:instance:update | - |
GET /v3/{project_id}/instances/{instance_id}/sql-limit?db_name={db_name}&offset={offset}&limit={limit} | rds:instance:get | - |
PUT /v3/{project_id}/instances/{instance_id}/sql-limit/switch | rds:instance:update | - |
PUT /v3/{project_id}/instances/{instance_id}/unlock-node-readonly-status | rds:instance:update | - |
资源类型(Resource)
资源类型(Resource)表示身份策略所作用的资源。如表3中的某些操作指定了可以在该操作指定的资源类型,则必须在具有该操作的身份策略语句中指定该资源的URN,身份策略仅作用于此资源;如未指定,Resource默认为“*”,则身份策略将应用到所有资源。您也可以在身份策略中设置条件,从而指定资源类型。
RDS定义了以下可以在身份策略的Resource元素中使用的资源类型。
条件(Condition)
条件(Condition)是身份策略生效的特定条件,包括条件键和运算符。
- 条件键表示身份策略语句的Condition元素中的键值。根据适用范围,分为全局级条件键和服务级条件键。
- 全局级条件键(前缀为g:)适用于所有操作,在鉴权过程中,云服务不需要提供用户身份信息,系统将自动获取并鉴权。详情请参见:全局条件键。
- 服务级条件键(前缀通常为服务缩写,如rds:)仅适用于对应服务的操作,详情请参见表4。
- 单值/多值表示API调用时请求中与条件关联的值数。单值条件键在API调用时的请求中最多包含一个值,多值条件键在API调用时请求可以包含多个值。例如:g:SourceVpce是单值条件键,表示仅允许通过某个VPC终端节点发起请求访问某资源,一个请求最多包含一个VPC终端节点ID值。g:TagKeys是多值条件键,表示请求中携带的所有标签的key组成的列表,当用户在调用API请求时传入标签可以传入多个值。
- 运算符与条件键、条件值一起构成完整的条件判断语句,当请求信息满足该条件时,身份策略才能生效。支持的运算符请参见:运算符。
RDS定义了以下可以在身份策略的Condition元素中使用的条件键,您可以使用这些条件键进一步细化策略语句应用的条件。
服务级条件键 | 类型 | 单值/多值 | 说明 |
|---|---|---|---|
rds:Encrypted | Boolean | 单值 | 按照请求参数中传递的是否开启磁盘加密标签键筛选访问权限。 |
rds:BackupEnabled | Boolean | 单值 | 按照请求参数中传递的是否开启备份策略标签键筛选访问权限。 |
rds:VpcIds | String | 单值 | 按照请求参数中传递的虚拟私有云主键标签键筛选访问权限。 |
rds:Subnets | String | 单值 | 按照请求参数中传递的子网标签键筛选访问权限。 |
rds:ReplicationTargetRegion | String | 单值 | 按照请求参数中传递的跨区域备份目的局点标签键筛选访问权限。 |
rds:EngineName | String | 单值 | 按照请求参数中传递的引擎名称标签键筛选访问权限。 |
rds:DownloadCategory | String | 单值 | 按照请求参数中传递的下载策略类别名称筛选访问权限。 |
rds:AvailabilityZone | String | 多值 | 按照请求参数中传递的可用区标签键筛选访问权限。 |

