全部产品
MaxCompute

用户授权及权限查看

更新时间:2017-09-13 16:15:55   分享:   

添加用户 后,项目空间 Owner 或者项目空间管理员需要给该用户进行授权,只有用户获得权限后,才能执行操作。所谓授权,即授予用户对 MaxCompute 中的表,任务,资源等客体的某种操作权限,包括:读、写、查看等,详情请参见: 项目成员管理,以了解 MaxCompute 角色对应的大数据开发套件中的成员角色及其权限特征。

如果您只是 MaxCompute 的普通用户,请确认已经获取足够权限,快速浏览本章节即可 。

MaxCompute 提供了 ACL 授权,跨项目空间数据分享及 项目空间数据保护等多种策略。本文只简单介绍使用最多的 ACL 授权。

ACL 授权

ACL 授权中,MaxCompute 的客体包括:ProjectTableFunctionResourceInstanceTask。每种客体具有不同的操作权限,详细介绍请参见:ACL 授权

授权的命令为:

  1. GRANT privileges ON project_object TO project_subject
  2. REVOKE privileges ON project_object FROM project_subject
  3. privileges ::= action_item1, action_item2, ...
  4. project_object ::= PROJECT project_name | TABLE schema_name |
  5. INSTANCE inst_name | FUNCTION func_name |
  6. RESOURCE res_name | JOB job_name
  7. project_subject ::= USER full_username | ROLE role_name

备注:上述授权命令中有关角色(ROLE)的相关部分用户可以暂时不予关注,待后续章节介绍 。user full_username,若为阿里云主帐号,写法为 ALIYUN$xxxx,若为RAM子帐号,写法为 RAM$主帐号:子帐号。

示例如下:

假设用户云账号为 bob@aliyun.com 已经被添加到某个项目空间($user_project_name),需要给它授予建表、获取表信息和执行的权限。项目空间管理员(admin 角色)或者该项目空间 owner 在客户端可以执行如下命令:

  1. grant CreateTable on PROJECT $user_project_name to USER ALIYUN$bob@aliyun.com;
  2. -- bob@aliyun.com 授予名为 $user_project_name project CreateTable(创建表)权限
  3. grant Describe on Table $user_table_name to USER ALIYUN$bob@aliyun.com;
  4. -- bob@aliyun.com 授予名为 $user_table_name Table Describe(获取表信息)权限
  5. grant Execute on Function $user_function_name to USER ALIYUN$bob@aliyun.com;
  6. -- bob@aliyun.com 授予名为 "$user_function_name" Function Execute(执行)权限

查看权限

查看权限的命令为:

  1. show grants for $user_name;

示例如下:

假设需要查看用户云账号 bob@aliyun.com 在当前项目空间的权限,需要在客户端可以执行如下命令:

  1. show grants for ALIYUN$bob@aliyun.com

查看RAM子帐号权限:

  1. show grants for RAM$主帐号:子帐号;

备注:关于查看权限的详细介绍请参见: 查看权限

本文导读目录
本文导读目录
以上内容是否对您有帮助?