设置权限

最近更新时间:2017-11-21 17:55:38

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": ""
    }
}