设置权限

最近更新时间:2019-04-28 11:37:32

1. 接口描述

本接口(CdbTdsqlSetRight)用于设置数据库帐号权限。
接口请求域名:tdsql.api.qcloud.com

2. 输入参数

以下请求参数列表仅列出了接口请求参数,正式调用时需要加上公共请求参数,见公共参数。其中,此接口的Action字段为CdbTdsqlSetRight。

参数名称 必选 类型 描述
cdbInstanceId Int 实例ID
userName String 用户名
host String 用户允许的访问host
dbName String 数据库名。如果为 *,表示设置全局权限(即 *.*),此时忽略 type 和 object 参数
type String 类型,可以填入 table 、 view 、 proc 、 func 和 *。当 DbName 为具体数据库名,type为 * 时,表示设置该数据库权限(即db.*),此时忽略 object 参数
object String 具体的 Type 的名称,比如 type 为 table 时就是具体的表名。DbName 和 Type 都为具体名称,则 Object 表示具体对象名,不能为 * 或者为空
colName String 当 type=table 时,ColName 为 * 表示对表授权,如果为具体字段名,表示对字段授权
rights.n String 全局权限: SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER, SHOW DATABASES
库权限: SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER
表/视图权限: SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE VIEW, SHOW VIEW, TRIGGER
存储过程/函数权限: ALTER ROUTINE, EXECUTE
字段权限: INSERT, REFERENCES, SELECT, UPDATE
readOnly Int 0:默认值;1:该账号的sql请求优先选择备机操作,备机不可用时选择主机操作;2:优先选择备机操作,备机不可用时操作失败。字段暂未生效
dbMode Int 0:单机版;1:分布式(目前只开放单机功能,此参数无效)

3. 输出参数

公共返回值结构在返回值可以查看,此处只列出 data 字段的返回值格式。

成功返回被影响的对象信息,失败返回错误原因。

4. 错误码表

以下是本接口常见的错误码,如果有不在此列的错误请查阅TDSQL错误码表

错误码 描述
DbOperationFailed DB内部失败
InstanceAlreadyDeleted 实例已删除
InstanceStatusAbnormal 实例状态异常(非删除), 不能进行操作
GetRightFailed 获取权限失败
InnerSystemError 内部系统错误,和业务无关
BadUserRight 错误的用户权限
SuperUserForbidden 不允许操作超级用户tdsql
ModifyRightFailed 修改权限失败
## 5. 示例
输入
https://tdsql.api.qcloud.com/v2/index.php?
&<公共请求参数>
&Action=CdbTdsqlSetRight
&cdbInstanceId=40732
&userName=testuser1
&host=172.17.%.%
&dbName=*
&type=*
&rights.0=select
&rights.1=update

输出

{
    "code": 0,
    "message": "",
    "codeDesc": "Success",
    "data": {
        "id": 40732,
        "user": "testuser1",
        "host": "172.17.%.%",
        "db": "*",
        "type": "*",
        "object": "",
        "col": ""
    }
}