策略授权参考
本章节介绍GaussDB策略授权场景下支持的策略授权项。
支持的授权项
策略包含系统策略和自定义策略,如果系统策略不满足授权要求,管理员可以创建自定义策略,并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作与API相对应,授权项列表说明如下:
- 权限:允许或拒绝某项操作。
- 对应API接口:自定义策略实际调用的API接口。
- 授权项:自定义策略中支持的Action,在自定义策略中的Action中写入授权项,可以实现授权项对应的权限功能。
- 依赖的授权项:部分Action存在对其他Action的依赖,需要将依赖的Action同时写入授权项,才能实现对应的权限功能。
- IAM项目(Project)/企业项目(Enterprise Project):自定义策略的授权范围,包括IAM项目与企业项目。授权范围如果同时支持IAM项目和企业项目,表示此授权项对应的自定义策略,可以在IAM和企业管理两个服务中给用户组授权并生效。如果仅支持IAM项目,不支持企业项目,表示仅能在IAM中给用户组授权并生效,如果在企业管理中授权,则该自定义策略不生效。管理员可以在授权项列表中查看授权项是否支持IAM项目或企业项目,“√”表示支持,“×”表示暂不支持。关于IAM项目与企业项目的区别,详情请参见:IAM与企业管理的区别。
GaussDB的支持自定义策略授权项如下所示:
权限 | 对应API接口 | 授权项 | IAM项目 (Project) | 企业项目 (Enterprise Project) |
|---|---|---|---|---|
创建数据库实例 | POST /v3/{project_id}/instances | gaussdb:instance:create gaussdb:param:list | √ | √ |
删除数据库实例 | 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 | √ | √ |
权限 | 对应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 | √ | √ |
权限 | 对应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 | √ | √ |
权限 | 对应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 | √ | √ |
权限 | 对应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 | √ | √ |
权限 | 对应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 | √ | √ |
权限 | 对应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 | √ | √ |
权限 | 对应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 | √ | √ |
权限 | 对应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 | √ | √ |
权限 | 对应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 | √ | √ |

