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

策略授权参考

本章节介绍GaussDB策略授权场景下支持的策略授权项。

支持的授权项

策略包含系统策略和自定义策略,如果系统策略不满足授权要求,管理员可以创建自定义策略,并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作与API相对应,授权项列表说明如下:

  • 权限:允许或拒绝某项操作。
  • 对应API接口:自定义策略实际调用的API接口。
  • 授权项:自定义策略中支持的Action,在自定义策略中的Action中写入授权项,可以实现授权项对应的权限功能。
  • 依赖的授权项:部分Action存在对其他Action的依赖,需要将依赖的Action同时写入授权项,才能实现对应的权限功能。
  • IAM项目(Project)/企业项目(Enterprise Project):自定义策略的授权范围,包括IAM项目与企业项目。授权范围如果同时支持IAM项目和企业项目,表示此授权项对应的自定义策略,可以在IAM和企业管理两个服务中给用户组授权并生效。如果仅支持IAM项目,不支持企业项目,表示仅能在IAM中给用户组授权并生效,如果在企业管理中授权,则该自定义策略不生效。管理员可以在授权项列表中查看授权项是否支持IAM项目或企业项目,“√”表示支持,“×”表示暂不支持。关于IAM项目与企业项目的区别,详情请参见:IAM与企业管理的区别

GaussDB的支持自定义策略授权项如下所示:

表1 实例管理

权限

对应API接口

授权项

IAM项目

(Project)

企业项目

(Enterprise Project)

创建数据库实例

POST /v3/{project_id}/instances

gaussdb:instance:create

gaussdb:param:list

扩容数据库实例的磁盘空间

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

gaussdb:instance:modifySpec

删除数据库实例

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

gaussdb:instance:delete

查询数据库实例列表

GET /v3/{project_id}/instances

gaussdb:instance:list

重置数据库密码

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

gaussdb:instance:modifyPasswd

修改实例名称

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

gaussdb:instance:rename

重启数据库实例

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

gaussdb:instance:restart

分片节点主备切换

POST /v3/{project_id}/instances/{instance_id}/switch-shard

gaussdb:instance:switchShard

查询实例的组件列表

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

gaussdb:instance:list

规格变更

PUT /v3/{project_id}/instance/{instance_id}/flavor

gaussdb:instance:modifySpec

查询实例主备平衡状态

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

gaussdb:instance:list

查询解决方案模板配置

GET /v3/{project_id}/deployment-form

gaussdb:instance:list

查询已绑定的EIP列表

GET /v3/{project_id}/instances/{instance_id}/public-ips?offset={offset}&limit={limit}

gaussdb:instance:list

绑定/解绑弹性公网IP

POST /v3/{project_id}/instances/{instance_id}/nodes/{node_id}/public-ip

gaussdb:instance:bindPublicIp

查询实例SSL证书下载地址

GET /v3/{project_id}/instances/{instance_id}/ssl-cert/download-link

gaussdb:instance:list

查询租户的实例配额

GET /v3/{project_id}/project-quotas?type={type}

gaussdb:instance:list

表2 参数配置

权限

对应API接口

授权项

IAM项目

(Project)

企业项目

(Enterprise Project)

获取参数模板列表

GET /v3/{project_id}/configurations?offset={offset}&limit={limit}

gaussdb:param:list

获取指定实例的参数

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

gaussdb:param:list

修改指定实例的参数

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

gaussdb:param:modify

创建参数模板

POST /v3/{project_id}/configurations

gaussdb:param:create

删除参数模板

DELETE /v3/{project_id}/configurations/{config_id}

gaussdb:param:delete

查询参数模板详情

GET /v3/{project_id}/configurations/{config_id}

gaussdb:instance:list

复制参数模板

POST /v3/{project_id}/configurations/{config_id}/copy

gaussdb:param:create

重置参数组

POST /v3/{project_id}/configurations/{config_id}/reset

gaussdb:param:modify

比较两个参数组模板之间的差异

POST /v3/{project_id}/configurations/comparison

gaussdb:param:list

查询可应用实例列表

GET /v3/{project_id}/configurations/{config_id}/applicable-instances

gaussdb:instance:list

校验参数组名称是否存在

GET /v3/{project_id}/configurations/name-validation?name={name}

gaussdb:instance:list

应用参数模板

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

gaussdb:param:apply

查询参数模板的应用记录

GET /v3/{project_id}/configurations/{config_id}/applied-histories

gaussdb:instance:list

查询参数模板的修改历史

GET /v3/{project_id}/configurations/{config_id}/histories

gaussdb:param:list

表3 备份管理

权限

对应API接口

授权项

IAM项目

(Project)

企业项目

(Enterprise Project)

设置自动备份策略

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

gaussdb:instance:modifyBackupPolicy

查询自动备份策略

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

gaussdb:backup:list

查询备份列表

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}

gaussdb:backup:list

创建手动备份

POST /v3/{project_id}/backups

gaussdb:backup:create

删除手动备份

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

gaussdb:backup:delete

查询可恢复时间段

GET /v3/{project_id}/instances/{instance_id}/restore-time?date={date}

gaussdb:backup:list

恢复到新实例

POST /v3/{project_id}/instances

gaussdb:instance:create

查询可用于备份恢复的实例列表

GET /v3/{project_id}/restorable-instances

gaussdb:instance:list

根据时间点或者备份文件查询原实例信息

GET /v3/{project_id}/instance-snapshot?instance_id={instance_id}&backup_id={backup_id}&restore_time={restore_time}

gaussdb:instance:list

表4 引擎版本和规格

权限

对应API接口

授权项

IAM项目

(Project)

企业项目

(Enterprise Project)

查询数据库引擎的版本

GET /v3/{project_id}/datastore/versions

gaussdb:instance:list

查询数据库规格

GET /v3/{project_id}/flavors?limit={limit}&offset={offset}&ha_mode={ha_mode}&version={version}&spec_code={spec_code}

gaussdb:instance:list

查询引擎列表

GET /v3/{project_id}/datastores

gaussdb:instance:list

查询实例可变更规格

GET /v3/{project_id}/instances/{instance_id}/available-flavors

gaussdb:instance:list

表5 管理数据库和用户

权限

对应API接口

授权项

IAM项目

(Project)

企业项目

(Enterprise Project)

创建数据库

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

gaussdb:instance:createDatabase

创建数据库用户

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

gaussdb:instance:createDatabaseUser

创建数据库SCHEMA

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

gaussdb:instance:createDatabaseSchema

授权数据库账号

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

gaussdb:instance:grantDatabasePrivilege

重置数据库账号密码

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

gaussdb:instance:modifyDatabasePasswd

查询数据库列表

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

gaussdb:instance:list

查询数据库用户列表

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

gaussdb:instance:list

查询数据库SCHEMA列表

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

gaussdb:instance:list

查询指定实例的数据库表列表

GET /v3/{project_id}/instances/{instance_id}/tables?db_name={db_name}&schema_name={schema_name}

gaussdb:instance:list

表6 标签管理

权限

对应API接口

授权项

IAM项目

(Project)

企业项目

(Enterprise Project)

查询实例标签

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

gaussdb:instance:list

查询项目标签

GET /v3/{project_id}/tags

gaussdb:instance:list

查询预定义标签

GET /v3/{project_id}/predefined-tags

gaussdb:instance:list

添加实例标签

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

gaussdb:instance:dealTag

批量删除实例标签

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

gaussdb:instance:dealTag

gaussdb:tag:delete

表7 磁盘管理

权限

对应API接口

授权项

IAM项目

(Project)

企业项目

(Enterprise Project)

查询实例存储空间使用信息

GET /v3/{project_id}/instances/{instance_id}/volume-usage

gaussdb:instance:list

查询数据库磁盘类型

GET /v3/{project_id}/storage-type?version={version}&ha_mode={ha_mode}

gaussdb:instance:list

表8 配额管理

权限

对应API接口

授权项

IAM项目

(Project)

企业项目

(Enterprise Project)

修改企业项目配额

PUT /v3/{project_id}/enterprise-projects/quotas

gaussdb:quota:modify

查询企业项目配额组

GET /v3/{project_id}/enterprise-projects/quotas

gaussdb:instance:list

表9 任务管理

权限

对应API接口

授权项

IAM项目

(Project)

企业项目

(Enterprise Project)

获取任务信息

GET /v3/{project_id}/jobs?id={id}

gaussdb:instance:list

查询任务列表

GET /v3/{project_id}/tasks

gaussdb:instance:list

删除任务记录

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

gaussdb:instance:deleteTaskRecord

表10 回收站

权限

对应API接口

授权项

IAM项目

(Project)

企业项目

(Enterprise Project)

设置回收站策略

PUT /v3/{project_id}/recycle-policy

gaussdb:instance:setRecyclePolicy

查看回收站策略

GET /v3/{project_id}/recycle-policy

gaussdb:instance:list

查询回收站所有引擎实例列表

GET /v3/{project_id}/recycle-instances

gaussdb:instance:list

相关文档