调用GrantPrivileges对用户进行授权。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String GrantPrivileges

系统规定参数。取值:GrantPrivileges。

PrivilegeBag Object

权限信息。

HiveObjectPrivilege Array

权限信息的数组。

HiveObjectRef Object

表名授权的粒度。

DbName String db001

数据库名称,如果需要给某个用户授予某张数据库或表的权限,需要指定这个字段。

HiveObjectType String GLOBAL

授权的粒度,目前仅支持GLOBAL、DATABASE以及TABLE,分别代表全局权限、库权限以及表权限。

TableName String tbl001

表的名称,如果需要给用户授予某张表的权限,需要指定这个字段。

PrincipalName String user001

被授权的用户。

PrincipalType String USER

只支持填写USER。

PrivilegeGrantInfo Object

授权信息。

GrantOption Boolean false

被授权的用户可以把对应的权限授予给其他用户。

Grantor String user002

授权的用户的DLA userName。

PrincipalType String USER

固定取值为USER。

Privilege String CREATE

授予的具体权限。

返回数据

名称 类型 示例值 描述
Code String NO_PRIVILEGE

如果失败,则返回失败的代码。

Data Boolean false

授权是否成功。

Message String Access denied for user 'user002' to grant 'CREATE,SHOW' to user001

如果请求失败,则返回失败的详细信息。

RequestId String 9BEAC206-0795-4DE3-B1FD-964BEF432B23

本次请求的RequestId。

Success Boolean false

本次请求是否成功。

示例

请求示例

http(s)://[Endpoint]/?Action=GrantPrivileges
&PrivilegeBag={"HiveObjectPrivilege":[{"HiveObjectRef":{"DbName":"db001","HiveObjectType":"GLOBAL","TableName":"tbl001"},"PrincipalName":"user001","PrincipalType":"USER","PrivilegeGrantInfo":{"GrantOption":false,"Grantor":"user002","PrincipalType":"USER","Privilege":"CREATE"}}]}
&公共请求参数

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<Message>Access denied for user 'user002'  to grant 'CREATE,SHOW' to user001</Message>
<RequestId>9BEAC206-0795-4DE3-B1FD-964BEF432B23</RequestId>
<Data>false</Data>
<Code>NO_PRIVILEGE</Code>
<Success>false</Success>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "Message" : "Access denied for user 'user002'  to grant 'CREATE,SHOW' to user001",
  "RequestId" : "9BEAC206-0795-4DE3-B1FD-964BEF432B23",
  "Data" : "false",
  "Code" : "NO_PRIVILEGE",
  "Success" : "false"
}

错误码

访问错误中心查看更多错误码。