更新时间:2025-10-16 GMT+08:00
分享

身份策略授权参考

云服务在IAM预置了常用授权项,称为系统策略。如果IAM系统策略无法满足授权要求,管理员可以根据各服务支持的授权项,创建IAM自定义策略来进行精细的访问控制,IAM自定义策略是对系统策略的扩展和补充。

除IAM服务外,Organizations服务中的服务控制策略(Service Control Policies,以下简称SCP)也可以使用这些授权项元素设置访问控制策略。

SCP不直接进行授权,只划定权限边界。将SCP绑定到组织单元或者成员账号时,并没有直接对组织单元或成员账号授予操作权限,而是规定了成员账号或组织单元包含的成员账号的授权范围。IAM策略授予权限的有效性受SCP限制,只有在SCP允许范围内的权限才能生效。

IAM服务与Organizations服务在使用这些元素进行访问控制时,存在着一些区别,详情请参见:IAM服务与Organizations服务权限访问控制的区别

本章节介绍IAM服务基于策略授权场景中自定义策略和组织服务中SCP使用的元素,这些元素包含了操作(Action)、资源(Resource)和条件(Condition)。

  • 如何使用这些元素编辑IAM自定义策略,请参考创建自定义策略
  • 如何使用这些元素编辑SCP自定义策略,请参考创建SCP

操作(Action)

操作(Action)即为策略中支持的操作项。

  • “访问级别”列描述如何对操作进行分类(List、Read和Write等)。此分类可帮助您了解在身份策略中相应操作对应的访问级别。
  • “资源类型”列指每个操作是否支持资源级权限。
    • 资源类型支持通配符号*表示所有。如果此列没有值(-),则必须在身份策略语句的Resource元素中指定所有资源类型(“*”)。
    • 如果该列包含资源类型,则必须在具有该操作的语句中指定该资源的URN。
    • 资源类型列中必需资源在表中用星号(*)标识,表示使用此操作必须指定该资源类型。

    关于TaurusDB定义的资源类型的详细信息请参见资源类型(Resource)

  • “条件键”列包括了可以在身份策略语句的Condition元素中支持指定的键值。
    • 如果该授权项资源类型列存在值,则表示条件键仅对列举的资源类型生效。
    • 如果该授权项资源类型列没有值(-),则表示条件键对整个授权项生效。
    • 如果此列条件键没有值(-),表示此操作不支持指定条件键。

    关于TaurusDB定义的条件键的详细信息请参见条件

  • 别名”列包括了可以在身份策略中配置的策略授权项。通过这些授权项,可以控制支持策略授权的API访问。详细信息请参见身份策略兼容性说明

您可以在自定义策略语句的Action元素中指定以下TaurusDB的相关操作。

表1 TaurusDB支持的授权项

授权项

描述

访问级别

资源类型(*为必须)

条件键

别名

gaussdbformysql:backup:modifyPolicy

授予设置自动备份策略的权限。

Permission_management

-

gaussdbformysql:ReplicationTargetRegion

  • gaussdb:instance:modifyBackupPolicy

gaussdbformysql:param:delete

授予删除参数组的权限。

Permission_management

-

-

  • gaussdb:param:delete

gaussdbformysql:instance:switchover

授予手动主备切换的权限。

Permission_management

instance *

  • gaussdb:instance:modify
  • gaussdb:instance:switchover

gaussdbformysql:htapInstance:createDataSync

授予实例创建数据同步的权限。

Write

instance *

  • gaussdb:htapInstance:createDataSync

gaussdbformysql:auditlog:list

授予实例获取审计日志列表的权限。

List

instance *

  • gaussdb:instance:list

gaussdbformysql:autoscaling:createPolicy

授予实例设置autoScaling的权限。

Permission_management

instance *

  • gaussdb:autoscaling:createPolicy

gaussdbformysql:autoscaling:modifyPolicy

授予设置autoScaling配置策略的权限。

Write

instance *

  • gaussdb:serverless:modifyPolicy

gaussdbformysql:autoscaling:listHistory

授予实例查询autoScaling的历史记录权限。

List

instance *

  • gaussdb:autoscaling:list

gaussdbformysql:autoscaling:listPolicy

授予实例查询autoScaling的策略权限。

Read

instance *

  • gaussdb:autoscaling:list

gaussdbformysql:backup:create

授予创建手动备份权限。

Write

-

-

  • gaussdb:backup:create

gaussdbformysql:backup:delete

授予删除备份的权限。

Write

-

-

  • gaussdb:backup:delete

gaussdbformysql:backup:getRestoreTime

授予获取实例可恢复时间点的权限。

Read

instance *

  • gaussdb:instance:list
  • gaussdb:backup:list

gaussdbformysql:backup:list

授予获取备份列表的权限。

List

-

-

  • gaussdb:instance:list
  • gaussdb:backup:list

gaussdbformysql:backup:listPolicy

授予获取备份策略的权限。

List

instance *

  • gaussdb:backup:list

gaussdbformysql:database:create

授予实例创建数据库的权限。

Write

instance *

  • gaussdb:database:create

gaussdbformysql:database:delete

授予实例删除数据库的权限。

Write

instance *

  • gaussdb:database:delete

gaussdbformysql:database:list

授予实例查询数据库列表的权限。

List

instance *

  • gaussdb:instance:list
  • gaussdb:database:list

gaussdbformysql:database:modify

授予修改数据库相关信息的权限。

Permission_management

instance *

  • gaussdb:database:modify

gaussdbformysql:user:modifyHost

授予修改主机地址的权限。

Write

instance *

  • gaussdb:user:modify

gaussdbformysql:proxy:queryElb

授予查询数据库代理的elb信息的权限。

Read

-

-

  • gaussdb:elb:query

gaussdbformysql:instance:getSecondLevelMonitoringConfig

授予查询秒级监控配置的权限。

Read

instance *

  • gaussdb:instance:list

gaussdbformysql:htapInstance:bindPublicIp

授予HTAP实例绑定公网IP的权限。

Write

instance *

  • gaussdb:htapInstance:bindPublicIp

gaussdbformysql:htapInstance:create

授予创建HTAP实例的权限。

Write

instance *

  • gaussdb:htapInstance:create

gaussdbformysql:htapInstance:delete

授予删除HTAP实例的权限。

Write

instance *

  • gaussdb:htapInstance:delete

gaussdbformysql:htapInstance:deleteDataSync

授予HTAP实例删除数据同步的权限。

Write

instance *

  • gaussdb:htapInstance:deleteDataSync

gaussdbformysql:htapInstance:listDatabases

授予查询HTAP实例数据库列表的权限。

List

instance *

  • gaussdb:htapInstance:list

gaussdbformysql:htapInstance:listDbParameter

授予查询HTAP实例数据库参数列表的权限。

List

instance *

  • gaussdb:htapInstance:list

gaussdbformysql:htapInstance:getReplication

授予查询HTAP实例数据同步信息的权限。

Read

instance *

  • gaussdb:htapInstance:list

gaussdbformysql:htapInstance:getReplicationConfig

授予查询HTAP实例数据同步配置的权限。

Read

instance *

  • gaussdb:htapInstance:list

gaussdbformysql:htapInstance:getTask

授予查询HTAP实例任务详情的权限。

Read

instance *

  • gaussdb:htapInstance:list

gaussdbformysql:htapInstance:getTaskList

授予查询HTAP实例任务列表的权限。

List

instance *

  • gaussdb:htapInstance:list

gaussdbformysql:htapInstance:list

授予获取HTAP实例列表的权限。

List

-

-

  • gaussdb:htapInstance:list

gaussdbformysql:htapInstance:modifyDataSync

授予修改HTAP实例比对任务的权限。

Permission_management

instance *

  • gaussdb:htapInstance:modifyDataSync

gaussdbformysql:htapInstance:modifyPassword

授予修改HTAP实例数据库密码的权限。

Write

instance *

  • gaussdb:htapInstance:modifyPassword

gaussdbformysql:htapInstance:modifySpec

授予HTAP实例规格变更的权限。

Permission_management

instance *

  • gaussdb:htapInstance:modifySpec

gaussdbformysql:htapInstance:modifyStorageSize

授予HTAP实例扩容磁盘的权限。

Permission_management

instance *

  • gaussdb:htapInstance:modifyStorageSize

gaussdbformysql:htapInstance:restart

授予重启HTAP实例的权限。

Permission_management

instance *

  • gaussdb:htapInstance:restart

gaussdbformysql:htapInstance:tablesConfigCheck

授予HTAP实例表配置校验的权限。

List

instance *

  • gaussdb:htapInstance:list

gaussdbformysql:htapInstance:unbindPublicIp

授予HTAP实例解绑公网IP的权限。

Write

instance *

  • gaussdb:htapInstance:unbindPublicIp

gaussdbformysql:htapInstance:get

授予获取HTAP实例详情的权限。

Read

instance *

  • gaussdb:htapInstance:list

gaussdbformysql:htapInstance:createUser

授予创建HTAP实例数据库用户的权限。

Write

instance *

  • gaussdb:instance:modify
  • gaussdb:user:create

gaussdbformysql:htapInstance:deleteUser

授予删除HTAP实例数据库用户的权限。

Write

instance *

  • gaussdb:user:delete

gaussdbformysql:htapInstance:grantUser

授予HTAP实例数据库用户权限。

Permission_management

instance *

  • gaussdb:user:grantPrivilege

gaussdbformysql:htapInstance:listUser

授予获取HTAP实例数据库用户列表的权限。

List

instance *

  • gaussdb:htapInstance:list

gaussdbformysql:htapInstance:dbConfigCheck

授予获取HTAP实例库配置校验的权限。

Read

instance *

  • gaussdb:htapInstance:list

gaussdbformysql:instance:addReadOnlyNodes

授予添加只读节点的权限。

Write

instance *

  • gaussdb:instance:modify
  • gaussdb:instance:addNodes

gaussdbformysql:instance:create

授予创建实例的权限。

Write

-

  • gaussdb:instance:create
  • gaussdb:instance:modify

gaussdbformysql:instance:delete

授予删除实例的权限。

Write

instance *

  • gaussdb:instance:delete

gaussdbformysql:instance:deleteRecycleBin

授予清理表回收站记录的权限。

Write

instance *

  • gaussdb:instance:modify

gaussdbformysql:instance:deleteSqlFilterRules

授予删除Sql限流规则的权限。

Write

instance *

  • gaussdb:param:modify

gaussdbformysql:instance:get

授予获取实例详情的权限。

Read

instance *

  • gaussdb:instance:list

gaussdbformysql:instance:getDcc

授予获取专属资源池详情的权限。

Read

-

-

  • gaussdb:instance:list

gaussdbformysql:instance:getPublicIp

授予获取公网IP的权限。

Read

instance *

  • gaussdb:instance:list

gaussdbformysql:instance:getSqlFilterRule

授予获取SQL限流规则的权限。

Read

instance *

  • gaussdb:param:list

gaussdbformysql:instance:getSqlFilterStatus

授予获取SQL限流开关状态的权限。

Read

instance *

  • gaussdb:param:list

gaussdbformysql:instance:killProcess

授予kill会话的权限。

Write

-

-

  • gaussdb:tag:list

gaussdbformysql:instance:list

授予获取实例列表的权限。

List

-

-

  • gaussdb:instance:list

gaussdbformysql:proxy:list

授予获取数据库代理列表的权限。

List

instance *

  • gaussdb:instance:list
  • gaussdb:proxy:list

gaussdbformysql:proxy:listSpec

授予获取数据库代理规格列表的权限。

List

-

-

  • gaussdb:instance:list
  • gaussdb:proxy:list

gaussdbformysql:instance:listDcc

授予获取专属资源列表的权限。

List

-

-

  • gaussdb:instance:list

gaussdbformysql:instance:listDccSpec

授予获取专属资源规格列表的权限。

List

-

-

  • gaussdb:instance:list

gaussdbformysql:instance:listEngine

授予查询引擎信息的权限。

List

-

-

  • gaussdb:instance:list

gaussdbformysql:instance:listProcess

授予查询Process会话的权限。

List

-

-

  • gaussdb:tag:list

gaussdbformysql:instance:listSpec

授予查询规格列表的权限。

List

-

-

  • gaussdb:instance:list

gaussdbformysql:instance:metering

授予获取计量信息的权限。

List

-

-

  • gaussdb:instance:metering

gaussdbformysql:instance:modify

授予修改实例相关信息的权限。

Permission_management

-

-

  • gaussdb:instance:modify

gaussdbformysql:auditlog:operate

授予开启关闭审计日志的权限。

Permission_management

instance *

  • gaussdb:instance:modify
  • gaussdb:instance:modifyTraceSQLPolicy

gaussdbformysql:instance:bindPublicIp

授予实例绑定公网IP的权限。

Write

instance *

  • gaussdb:instance:modify
  • gaussdb:instance:bindPublicIp

gaussdbformysql:instance:deleteReadOnlyNodes

授予实例删除只读节点的权限。

Write

instance *

  • gaussdb:instance:modify
  • gaussdb:instance:deleteNodes

gaussdbformysql:instance:modifyVip

授予实例修改读写内网地址的权限。

Write

instance *

  • gaussdb:instance:modify
  • gaussdb:instance:modifyIp

gaussdbformysql:instance:modifyMaintenanceWindow

授予修改实例运维时间窗的权限。

Write

instance *

  • gaussdb:instance:modify
  • gaussdb:instance:modifyMaintenanceWindow

gaussdbformysql:instance:modifySecondLevelMonitorPolicy

授予修改实例秒级监控频率的权限。

Write

instance *

  • gaussdb:instance:modify
  • gaussdb:instance:modifyMonitorPolicy

gaussdbformysql:instance:modifyPassword

授予修改实例密码的权限。

Write

instance *

  • gaussdb:instance:modify
  • gaussdb:instance:modifyPassword

gaussdbformysql:instance:modifyPort

授予修改实例端口的权限。

Write

instance *

  • gaussdb:instance:modify
  • gaussdb:instance:modifyPort

gaussdbformysql:instance:modifySecurityGroup

授予修改实例安全组的权限。

Write

instance *

  • gaussdb:instance:modify
  • gaussdb:instance:modifySecurityGroup

gaussdbformysql:instance:modifySSL

授予修改SSL开关的权限。

Permission_management

instance *

  • gaussdb:instance:modify
  • gaussdb:instance:modifySSL

gaussdbformysql:instance:modifyStorageSize

授予实例磁盘扩缩容的权限。

Permission_management

instance *

  • gaussdb:instance:modify
  • gaussdb:instance:modifyStorageSize

gaussdbformysql:instance:modifySwitchoverPriority

授予修改节点优先级的权限。

Permission_management

instance *

  • gaussdb:instance:modify
  • gaussdb:instance:modifySwitchoverPriority

gaussdbformysql:instance:rename

授予修改实例名称的权限。

Write

instance *

  • gaussdb:instance:modify
  • gaussdb:instance:rename

gaussdbformysql:instance:unbindPublicIp

授予实例解绑公网IP的权限。

Write

instance *

  • gaussdb:instance:modify
  • gaussdb:instance:unbindPublicIp

gaussdbformysql:instance:upgrade

授予实例升级内核版本的权限。

Permission_management

instance *

  • gaussdb:instance:modify
  • gaussdb:instance:upgrade

gaussdbformysql:instance:createDns

授予开启实例内网DNS的权限。

Write

instance *

  • gaussdb:instance:createDns

gaussdbformysql:instance:modifyDns

授予修改实例内网DNS的权限。

Write

instance *

  • gaussdb:instance:modifyDns

gaussdbformysql:user:create

授予实例创建数据库用户的权限。

Write

instance *

  • gaussdb:instance:modify
  • gaussdb:user:create

gaussdbformysql:proxy:addNodes

授予数据库代理实例节点扩容的权限。

Write

instance *

  • gaussdb:instance:modifyProxy
  • gaussdb:proxy:addNodes

gaussdbformysql:proxy:changeElb

授予数据库代理实例更改ELB信息的权限。

Permission_management

instance *

  • gaussdb:instance:modifyProxy
  • gaussdb:proxy:changeElb

gaussdbformysql:proxy:createDns

授予开启数据库代理内网DNS的权限。

Write

instance *

  • gaussdb:instance:modifyProxy
  • gaussdb:proxy:createDns

gaussdbformysql:proxy:create

授予开启数据库代理的权限。

Write

instance *

  • gaussdb:instance:modifyProxy
  • gaussdb:proxy:create

gaussdbformysql:proxy:delete

授予关闭数据库代理的权限。

Write

instance *

  • gaussdb:instance:modifyProxy
  • gaussdb:proxy:delete

gaussdbformysql:proxy:modifyAccess

授予数据库代理访问控制的权限。

Permission_management

instance *

  • gaussdb:instance:modifyProxy
  • gaussdb:proxy:modifyAccess

gaussdbformysql:proxy:modifyIp

授予修改数据库代理IP的权限。

Write

instance *

  • gaussdb:instance:modifyProxy
  • gaussdb:proxy:modifyIp

gaussdbformysql:proxy:modifySpec

授予数据库代理实例规格变更的权限。

Permission_management

instance *

  • gaussdb:instance:modifyProxy
  • gaussdb:proxy:modifySpec

gaussdbformysql:proxy:modifyWeight

授予修改数据库代理权重的权限。

Write

instance *

  • gaussdb:instance:modifyProxy
  • gaussdb:proxy:modifyWeight

gaussdbformysql:proxy:rename

授予数据库代理实例重命名的权限。

Permission_management

instance *

  • gaussdb:instance:modifyProxy
  • gaussdb:proxy:rename

gaussdbformysql:proxy:restart

授予重启数据库代理实例的权限。

Permission_management

instance *

  • gaussdb:instance:modifyProxy
  • gaussdb:proxy:restart

gaussdbformysql:proxy:switchConnectionPoolType

授予更改数据库代理实例连接池类型的权限。

Permission_management

instance *

  • gaussdb:instance:modifyProxy
  • gaussdb:proxy:switchConnectionPoolType

gaussdbformysql:proxy:updateConfigurations

授予更改数据库代理实例内核参数的权限。

Permission_management

instance *

  • gaussdb:instance:modifyProxy
  • gaussdb:proxy:updateConfigurations

gaussdbformysql:instance:modifyRecycleBin

授予修改数据回溯的权限。

Permission_management

instance *

  • gaussdb:instance:modify

gaussdbformysql:instance:modifySpec

授予变更实例规格的权限。

Permission_management

instance *

  • gaussdb:instance:modify
  • gaussdb:instance:modifySpec

-

gaussdbformysql:FlavorType

gaussdbformysql:instance:restart

授予重启实例的权限。

Permission_management

instance *

  • gaussdb:instance:restart

gaussdbformysql:instance:restoreInPlace

授予备份恢复到已有实例的权限。

Permission_management

-

-

  • gaussdb:instance:restoreInPlace

gaussdbformysql:instance:setRecycleBin

授予设置回收站策略的权限。

Permission_management

-

-

  • gaussdb:instance:modify

gaussdbformysql:instance:setSqlFilterRules

授予设置SQL限流规则的权限。

Write

instance *

  • gaussdb:param:modify

gaussdbformysql:instance:setSqlFilterStatus

授予开启/关闭SQL限流的权限。

Permission_management

instance *

  • gaussdb:param:modify

gaussdbformysql:instance:tableRestore

授予PITR库表级恢复的权限。

Permission_management

instance *

  • gaussdb:instance:tableRestore

gaussdbformysql:tag:deal

授予添加/删除资源标签的权限。

Write

instance *

  • gaussdb:instance:dealTag

-

gaussdbformysql:log:createLtsConfig

授予创建LTS日志配置的权限。

Write

-

-

  • gaussdb:log:createLtsConfig

gaussdbformysql:log:deleteLtsConfig

授予删除LTS日志配置的权限。

Write

-

-

  • gaussdb:log:deleteLtsConfig

gaussdbformysql:log:getErrorLogs

授予获取错误日志的权限。

Read

instance *

  • gaussdb:log:list

gaussdbformysql:log:getSlowLogs

授予获取慢日志的权限。

Read

instance *

  • gaussdb:log:list
  • gaussdb:instance:list

gaussdbformysql:log:list

授予获取日志信息的权限。

List

instance *

  • gaussdb:log:list

gaussdbformysql:log:listLtsConfig

授予获取LTS日志配置列表的权限。

List

-

-

  • gaussdb:log:listLtsConfig

gaussdbformysql:log:operate

授予操作日志的权限。

Write

-

-

  • gaussdb:tag:list

gaussdbformysql:log:operateBinLog

授予操作BinLog日志的权限。

Write

-

-

  • gaussdb:tag:list

gaussdbformysql:log:setSlowLogSensitiveStatus

授予开启/关闭慢日志脱敏状态的权限。

Permission_management

instance *

  • gaussdb:instance:modify

gaussdbformysql:param:apply

授予应用参数组的权限。

Permission_management

-

-

  • gaussdb:param:apply

gaussdbformysql:param:create

授予创建参数组的权限。

Write

-

-

  • gaussdb:param:create

gaussdbformysql:param:get

授予获取参数组详情的权限。

Read

-

-

  • gaussdb:param:list

gaussdbformysql:param:getParameter

授予获取实例参数详情的权限。

Read

instance *

  • gaussdb:param:list

gaussdbformysql:param:list

授予获取参数组列表的权限。

List

-

-

  • gaussdb:param:list

gaussdbformysql:param:reset

授予重置参数组的权限。

Write

-

-

  • gaussdb:param:modify

gaussdbformysql:param:save

授予保存参数组的权限。

Write

-

-

  • gaussdb:param:modify

gaussdbformysql:param:update

授予修改参数组的权限。

Write

-

-

  • gaussdb:param:modify

gaussdbformysql:proxy:modifyConsistency

授予修改数据库代理会话一致性的权限。

Permission_management

instance *

  • gaussdb:proxy:modifyConsistency

gaussdbformysql:proxy:modifyTransactionSplit

授予开启/关闭数据库代理事务拆分的权限。

Permission_management

instance *

  • gaussdb:proxy:modifyTransactionSplit

gaussdbformysql:proxy:queryConfigurations

授予获取数据库代理内核参数的权限。

Read

instance *

  • gaussdb:proxy:queryConfigurations

gaussdbformysql:proxy:upgrade

授予数据库代理内核版本升级的权限。

Permission_management

instance *

  • gaussdb:proxy:upgrade

gaussdbformysql:quota:list

授予查询配额的权限。

Read

-

-

  • gaussdb:instance:list

gaussdbformysql:quota:modify

授予修改配额的权限。

Write

-

-

  • gaussdb:quota:modify

gaussdbformysql:tag:delete

授予删除资源标签的权限。

Write

instance *

  • gaussdb:instance:modify

gaussdbformysql:tag:list

授予查询标签列表的权限。

List

-

-

  • gaussdb:instance:list
  • gaussdb:tag:list

gaussdbformysql:task:delete

授予删除任务的权限。

Write

-

-

  • gaussdb:instance:delete

gaussdbformysql:task:get

授予获取任务执行情况的权限。

Read

-

-

  • gaussdb:instance:list

gaussdbformysql:task:list

授予获取任务列表的权限。

List

-

-

  • gaussdb:instance:list

gaussdbformysql:user:delete

授予删除数据库用户的权限。

Write

instance *

  • gaussdb:user:delete

gaussdbformysql:user:grantPrivilege

授予修改数据库用户的权限。

Write

instance *

  • gaussdb:user:grantPrivilege

gaussdbformysql:user:list

授予查询数据库用户列表的权限。

List

instance *

  • gaussdb:user:list

gaussdbformysql:user:modify

授予查询数据库用户备注的权限。

Write

instance *

  • gaussdb:user:modify

gaussdbformysql:user:revokePrivilege

授予删除数据库用户权限的权限。

Write

instance *

  • gaussdb:user:revokePrivilege

gaussdbformysql:user:updatePassWord

授予修改数据库用户密码的权限。

Write

instance *

  • gaussdb:user:modify

gaussdbformysql:backup:encrypt

授予开启或关闭实例备份加密的权限。

Write

instance *

  • gaussdb:backup:encrypt

gaussdbformysql:proxy:modifyPort

授予修改读写分离端口号的权限。

Write

instance *

  • gaussdb:proxy:modifyPort

gaussdbformysql:proxy:modifyRouteMode

授予设置读写分离路由模式的权限。

Write

instance *

  • gaussdb:proxy:modifyRouteMode

gaussdbformysql:proxy:modifyDns

授予修改数据库代理内网域名的权限。

Write

instance *

  • gaussdb:proxy:modifyDns

gaussdbformysql:proxy:deleteDns

授予删除数据库代理内网域名的权限。

Write

instance *

  • gaussdb:proxy:deleteDns

gaussdbformysql:proxy:modifySSL

授予开关数据库代理SSL的权限。

Write

instance *

  • gaussdb:proxy:modifySSL

gaussdbformysql:proxy:modifySlowLog

授予开关数据库代理慢日志上报的权限。

Write

instance *

  • gaussdb:proxy:modifySlowLog

gaussdbformysql:proxy:modifyAlt

授予开关数据库代理ALT的权限。

Write

instance *

  • gaussdb:proxy:modifyAlt

gaussdbformysql:instance:listProcesses

授予查询实例节点中的用户会话线程信息权限。

List

instance *

  • gaussdb:instance:listProcesses

gaussdbformysql:instance:deleteProcesses

授予终止实例节点中用户会话线程的权限。

Write

instance *

  • gaussdb:instance:deleteProcesses

gaussdbformysql:proxy:deleteNodes

授予数据库代理实例节点缩容的权限。

Write

instance *

  • gaussdb:instance:modifyProxy
  • gaussdb:proxy:deleteNodes

gaussdbformysql:serverless:getComputeAbilityPolicy

授予查询Serverless算力策略的权限。

Read

instance *

  • gaussdb:serverless:getComputeAbilityPolicy

gaussdbformysql:serverless:updateComputeAbilityPolicy

授予设置Serverless算力策略的权限。

Write

instance *

  • gaussdb:serverless:updateComputeAbilityPolicy

gaussdbformysql:serverless:getScalingPolicy

授予查询Serverless自定义扩容策略的权限。

Read

instance *

  • gaussdb:serverless:getScalingPolicy

gaussdbformysql:serverless:updateScalingPolicy

授予设置Serverless自定义扩容策略的权限。

Write

instance *

  • gaussdb:serverless:updateScalingPolicy

gaussdbformysql:coldTable:operate

授予冷热分离操作的权限。

Write

instance *

  • gaussdb:coldTable:operate

gaussdbformysql:coldTable:query

授予冷热分离查询的权限。

Read

instance *

  • gaussdb:coldTable:query

gaussdbformysql:instance:modifyIp

授予修改只读节点读内网地址的权限。

Write

instance *

  • gaussdb:instance:modifyIp

gaussdbformysql:proxy:modifyBinlogPull

授予开启或者关闭proxy binlog 拉取的权限。

Write

instance *

  • gaussdb:proxy:modifyBinlogPull

gaussdbformysql:proxy:bindEip

授予数据库代理绑定解绑弹性公网ip的权限。

Write

instance *

  • gaussdb:proxy:bindEip

TaurusDB的API通常对应着一个或多个操作项。表2展示了API与操作项的关系,以及该API需要依赖的操作项。

表2 API与授权项的关系

API

对应的授权项

依赖的授权项

GET /v3/{project_id}/datastores/{database_name}

gaussdbformysql:instance:listEngine

-

GET /v3/{project_id}/flavors/{database_name}

gaussdbformysql:instance:listSpec

-

POST /v3/{project_id}/instances

gaussdbformysql:instance:create

-

GET /v3.1/{project_id}/instances

gaussdbformysql:instance:list

-

POST /v3/{project_id}/instances/{instance_id}/restart

gaussdbformysql:instance:restart

-

DELETE /v3/{project_id}/instances/{instance_id}

gaussdbformysql:instance:delete

-

GET /v3.1/{project_id}/instances/{instance_id}

gaussdbformysql:instance:get

-

GET /v3.1/{project_id}/instances/details

gaussdbformysql:instance:get

-

POST /v3/{project_id}/instances/{instance_id}/nodes/enlarge

gaussdbformysql:instance:addReadOnlyNodes

-

DELETE /v3/{project_id}/instances/{instance_id}/nodes/{node_id}

gaussdbformysql:instance:deleteReadOnlyNodes

-

POST /v3/{project_id}/instances/{instance_id}/volume/extend

gaussdbformysql:instance:modifyStorageSize

-

PUT /v3/{project_id}/instances/{instance_id}/backups/policy/update

gaussdbformysql:backup:modifyPolicy

-

PUT /v3/{project_id}/instances/{instance_id}/name

gaussdbformysql:instance:rename

-

POST /v3/{project_id}/instances/{instance_id}/password

gaussdbformysql:instance:modifyPassword

-

POST /v3/{project_id}/instances/{instance_id}/action

gaussdbformysql:instance:modifySpec

-

GET /v3/{project_id}/dedicated-resources

gaussdbformysql:instance:listDcc

-

GET /v3/{project_id}/dedicated-resource/{dedicated_resource_id}

gaussdbformysql:instance:getDcc

-

POST /v3/{project_id}/instances/{instance_id}/proxy

gaussdbformysql:proxy:create

-

DELETE /v3/{project_id}/instances/{instance_id}/proxy

gaussdbformysql:proxy:delete

-

GET /v3/{project_id}/instances/{instance_id}/proxies

gaussdbformysql:proxy:list

-

GET /v3/{project_id}/instances/{instance_id}/proxy/flavors

gaussdbformysql:proxy:listSpec

-

POST /v3/{project_id}/instances/{instance_id}/proxy/enlarge

gaussdbformysql:proxy:addNodes

-

PUT /v3/{project_id}/instances/{instance_id}/proxy/{proxy_id}/flavor

gaussdbformysql:proxy:modifySpec

-

PUT /v3/{project_id}/instances/{instance_id}/proxy/{proxy_id}/weight

gaussdbformysql:proxy:modifyWeight

-

POST /v3/{project_id}/instances/{instance_id}/proxy/transaction-split

gaussdbformysql:proxy:modifyTransactionSplit

-

POST /v3.1/{project_id}/instances/{instance_id}/error-logs

gaussdbformysql:log:getErrorLogs

-

POST /v3.1/{project_id}/instances/{instance_id}/slow-logs

gaussdbformysql:log:getSlowLogs

-

GET /v3/{project_id}/project-quotas

gaussdbformysql:quota:list

-

GET /v3/{project_id}/quotas

gaussdbformysql:quota:list

-

POST /v3/{project_id}/quotas

gaussdbformysql:quota:modify

-

PUT /v3/{project_id}/quotas

gaussdbformysql:quota:modify

-

POST /v3/{project_id}/backups/create

gaussdbformysql:backup:create

-

GET /v3/{project_id}/backups

gaussdbformysql:backup:list

-

GET /v3/{project_id}/instances/{instance_id}/backups/policy

gaussdbformysql:backup:listPolicy

-

GET /v3/{project_id}/configurations

gaussdbformysql:param:list

-

POST /v3/{project_id}/configurations

gaussdbformysql:param:create

-

DELETE /v3/{project_id}/configurations/{configuration_id}

gaussdbformysql:param:delete

-

GET /v3/{project_id}/configurations/{configuration_id}

gaussdbformysql:param:get

-

PUT /v3/{project_id}/configurations/{configuration_id}

gaussdbformysql:param:update

-

PUT /v3/{project_id}/configurations/{configuration_id}/apply

gaussdbformysql:param:apply

-

GET /v3/{project_id}/instances/{instance_id}/tags

gaussdbformysql:tag:list

-

GET /v3/{project_id}/tags

gaussdbformysql:tag:list

-

POST /v3/{project_id}/instances/{instance_id}/tags/action

gaussdbformysql:tag:deal

-

PUT /v3/{project_id}/instances/{instance_id}/monitor-policy

gaussdbformysql:instance:modifySecondLevelMonitorPolicy

-

GET /v3/{project_id}/instances/{instance_id}/monitor-policy

gaussdbformysql:instance:getSecondLevelMonitoringConfig

-

POST /v3/{project_id}/instances/{instance_id}/nodes/{node_id}/restart

gaussdbformysql:instance:restart

-

POST /v3/{project_id}/instance/{instance_id}/audit-log/switch

gaussdbformysql:auditlog:operate

-

GET /v3/{project_id}/instance/{instance_id}/audit-log/switch-status

gaussdbformysql:auditlog:list

-

GET /v3/{project_id}/jobs

gaussdbformysql:task:list

-

POST /v3/{project_id}/instances/{instance_id}/db-users

gaussdbformysql:user:create

-

GET /v3/{project_id}/instances/{instance_id}/db-users

gaussdbformysql:user:list

-

DELETE /v3/{project_id}/instances/{instance_id}/db-users

gaussdbformysql:user:delete

-

PUT /v3/{project_id}/instances/{instance_id}/db-users/comment

gaussdbformysql:user:modify

-

PUT /v3/{project_id}/instances/{instance_id}/db-users/password

gaussdbformysql:user:updatePassWord

-

POST /v3/{project_id}/instances/{instance_id}/db-users/privilege

gaussdbformysql:user:grantPrivilege

-

DELETE /v3/{project_id}/instances/{instance_id}/db-users/privilege

gaussdbformysql:user:revokePrivilege

-

GET /v3/{project_id}/instances/{instance_id}/databases/charsets

gaussdbformysql:database:list

-

POST /v3/{project_id}/instances/{instance_id}/databases

gaussdbformysql:database:create

-

GET /v3/{project_id}/instances/{instance_id}/databases

gaussdbformysql:database:list

-

DELETE /v3/{project_id}/instances/{instance_id}/databases

gaussdbformysql:database:delete

-

PUT /v3/{project_id}/instances/{instance_id}/databases/comment

gaussdbformysql:database:modify

-

POST /v3/{project_id}/instances/{instance_id}/sql-filter/switch

gaussdbformysql:instance:setSqlFilterStatus

-

GET /v3/{project_id}/instances/{instance_id}/sql-filter/switch

gaussdbformysql:instance:getSqlFilterStatus

-

PUT /v3/{project_id}/instances/{instance_id}/sql-filter/rules

gaussdbformysql:instance:setSqlFilterRules

-

GET /v3/{project_id}/instances/{instance_id}/sql-filter/rules

gaussdbformysql:instance:getSqlFilterRule

-

DELETE /v3/{project_id}/instances/{instance_id}/sql-filter/rules

gaussdbformysql:instance:deleteSqlFilterRules

-

PUT /v3/{project_id}/instances/{instance_id}/proxy/{proxy_id}/session-consistence

gaussdbformysql:proxy:modifyConsistency

-

GET /v3/{project_id}/immediate-jobs

gaussdbformysql:task:list

-

GET /v3/{project_id}/scheduled-jobs

gaussdbformysql:task:list

-

DELETE /v3/{project_id}/scheduled-jobs

gaussdbformysql:task:delete

-

DELETE /v3/{project_id}/jobs/{job_id}

gaussdbformysql:task:delete

-

POST /v3/{project_id}/instances/{instance_id}/db-upgrade

gaussdbformysql:instance:upgrade

-

PUT /v3/{project_id}/instances/{instance_id}/ssl-option

gaussdbformysql:instance:modifySSL

-

PUT /v3/{project_id}/instances/{instance_id}/public-ips/bind

gaussdbformysql:instance:bindPublicIp

-

PUT /v3/{project_id}/instances/{instance_id}/public-ips/unbind

gaussdbformysql:instance:unbindPublicIp

-

PUT /v3/{project_id}/instances/{instance_id}/switchover

gaussdbformysql:instance:switchover

-

PUT /v3/{project_id}/instances/{instance_id}/ops-window

gaussdbformysql:instance:modifyMaintenanceWindow

-

PUT /v3/{project_id}/instances/{instance_id}/security-group

gaussdbformysql:instance:modifySecurityGroup

-

PUT /v3/{project_id}/instances/{instance_id}/internal-ip

gaussdbformysql:instance:modifyVip

-

PUT /v3/{project_id}/instances/{instance_id}/port

gaussdbformysql:instance:modifyPort

-

PUT /v3/{project_id}/instances/{instance_id}/alias

gaussdbformysql:instance:rename

-

DELETE /v3/{project_id}/backups/{backup_id}

gaussdbformysql:backup:delete

-

POST /v3/{project_id}/instances/{instance_id}/backups/restore/tables

gaussdbformysql:instance:tableRestore

-

POST /v3/{project_id}/instances/restore

gaussdbformysql:instance:restoreInPlace

-

GET /v3/{project_id}/instances/{instance_id}/restore-time

gaussdbformysql:backup:getRestoreTime

-

PUT /v3/{project_id}/instances/{instance_id}/proxy/{proxy_id}/connection-pool-type

gaussdbformysql:proxy:switchConnectionPoolType

-

资源类型(Resource)

资源类型(Resource)表示策略所作用的资源。如支持的资源类型中的某些操作指定了可以在该操作指定的资源类型,则必须在具有该操作的策略语句中指定该资源的URN,策略仅作用于此资源;如未指定,Resource默认为“*”,则策略将应用到所有资源。您也可以在策略中设置条件,从而指定资源类型。

TaurusDB定义了以下可以在自定义策略的Resource元素中使用的资源类型。

表3 支持的资源类型

资源类型

URN

instance

gaussdbformysql:<region>:<account-id>:instance:<instance-id>

条件

条件键概述

条件(Condition)是身份策略生效的特定条件,包括条件键运算符

  • 条件键表示身份策略语句的Condition元素中的键值。根据适用范围,分为全局级条件键和服务级条件键。
    • 全局级条件键(前缀为g:)适用于所有操作,在鉴权过程中,云服务不需要提供用户身份信息,系统将自动获取并鉴权。详情请参见:全局条件键
    • 服务级条件键(前缀为服务缩写,如gaussdbformysql:)仅适用于对应服务的操作,详情请参见表4
    • 单值/多值表示API调用时请求中与条件关联的值数。单值条件键在API调用时的请求中最多包含一个值,多值条件键在API调用时请求可以包含多个值。例如:g:SourceVpce是单值条件键,表示仅允许通过某个VPC终端节点发起请求访问某资源,一个请求最多包含一个VPC终端节点ID值。g:TagKeys是多值条件键,表示请求中携带的所有标签的key组成的列表,当用户在调用API请求时传入标签可以传入多个值。
  • 运算符与条件键、条件值一起构成完整的条件判断语句,当请求信息满足该条件时,身份策略才能生效。支持的运算符请参见:运算符

TaurusDB支持的服务级条件键

TaurusDB定义了以下可以在身份策略的Condition元素中使用的条件键,您可以使用这些条件键进一步细化策略语句应用的条件。

表4 TaurusDB支持的服务级条件键

服务级条件键

类型

单值/多值

说明

gaussdbformysql:FlavorType

String

单值

按照请求参数中传递的规格类型标签键筛选访问权限。

gaussdbformysql:SubnetId

String

单值

按照请求参数中传递的子网ID标签键筛选访问权限。

gaussdbformysql:VpcId

String

单值

按照请求参数中传递的VPC ID标签键筛选访问权限。

gaussdbformysql:ReplicationTargetRegion

String

单值

按照请求参数中传递的目标备份区域标签键筛选访问权限。

条件键示例

  • gaussdbformysql:FlavorType

    示例:表示仅允许创建ARM类型实例。

    {
        "Version": "5.0",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "gaussdbformysql:instance:create"
                ],
                "Condition": {
                    "StringEquals": {
                        "gaussdbformysql:FlavorType": [
                            "ARM"
                        ]
                    }
                }
            }
        ]
    }
  • gaussdbformysql:SubnetId
    示例:表示仅允许创建SubnetId为SubnetId-a的实例。
    {
        "Version": "5.0",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "gaussdbformysql:instance:create"
                ],
                "Condition": {
                    "StringEquals": {
                        "gaussdbformysql:SubnetId": [
                            "SubnetId-a"
                        ]
                    }
                }
            }
        ]
    }
  • gaussdbformysql:VpcId

    示例:表示仅允许创建VPC为vpcId-a的实例。

    {
        "Version": "5.0",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "gaussdbformysql:instance:create"
                ],
                "Condition": {
                    "StringEquals": {
                        "gaussdbformysql:VpcId": [
                            "vpcId-a"
                        ]
                    }
                }
            }
        ]
    }
  • gaussdbformysql:ReplicationTargetRegion

    示例:表示跨区域备份只允许将备份存储到目标region-a。

    {
        "Version": "5.0",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "gaussdbformysql:backup:modifyPolicy"
                ],
                "Condition": {
                    "StringEquals": {
                        "gaussdbformysql:ReplicationTargetRegion": [
                            "region-a"
                        ]
                    }
                }
            }
        ]
    }

相关文档