全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网
MaxCompute

角色管理

更新时间:2017-11-01 10:44:44

角色(Role)是一组访问权限的集合,当需要对一组用户赋予相同的权限时,可以使用角色来授权。基于角色的授权可以大大简化授权流程,降低授权管理成本。当需要对用户授权时,应当优先考虑是否应该使用角色来完成。

每一个项目空间在创建时,会自动创建一个 admin 的角色,并且为该角色授予了确定的权限:可以访问项目空间内的所有对象、对用户或角色进行管理、对用户或角色进行授权。与项目空间 Owner 相比,admin 角色不能将 admin 权限指派给用户,不能设定项目空间的安全配置,不能修改项目空间的鉴权模型,admin 角色所对应的权限不能被修改。

角色管理相关命令如下:

  1. create role <rolename> --创建角色
  2. drop role <rolename> --删除角色
  3. grant <rolename> to <username> --给用户指派某种角色
  4. revoke <rolename> from <username> --撤销角色指派

注意

  • 多个用户可以同时存在于一个角色下,一个用户也可以隶属于多个角色。
  • 大数据开发套件中成员角色类型对应的 MaxCompute 角色,以及各角色的平台权限详情,请参见 项目管理 中的项目成员管理模块。

创建角色

创建角色的命令格式,如下所示:

  1. CREATE ROLE <roleName>;

示例如下:

假设要创建一个 player 角色,需在客户端输入如下命令:

  1. create role player;

添加用户到角色

添加用户到角色的命令格式,如下所示:

  1. GRANT <roleName> TO <full_username>;

示例如下:

假设要将用户 bob@aliyun.com 加入 player 角色中,需在客户端输入如下命令:

  1. grant player to bob@aliyun.com;

给角色授权

给角色授权的语句与给用户授权相似,更多详情请参见 用户授权

注意

给角色授权后,该角色下的所有用户拥有相同的权限。

示例如下:

假设 Jack 是项目空间 prj1 的管理员,有三个新加入的项目组成员:Alice,Bob 和 Charlie,他们的角色是数据审查员。他们要申请如下权限:查看 Table 列表,提交作业和读取表 userprofile。

对于这个场景的授权,项目空间管理员可以使用基于对象的 ACL 授权 机制来完成。

操作如下:

  1. use prj1;
  2. add user aliyun$alice@aliyun.com; --添加用户
  3. add user aliyun$bob@aliyun.com;
  4. add user aliyun$charlie@aliyun.com;
  5. create role tableviewer; --创建角色
  6. grant List, CreateInstance on project prj1 to role tableviewer; --对角色赋权
  7. grant Describe, Select on table userprofile to role tableviewer;
  8. grant tableviewer to aliyun$alice@aliyun.com; --对用户赋予角色tableviewer
  9. grant tableviewer to aliyun$bob@aliyun.com;
  10. grant tableviewer to aliyun$charlie@aliyun.com;

删除角色中的用户

删除角色中的用户的命令格式,如下所示:

  1. REVOKE <roleName> FROM <full_username>;

示例如下:

假设将用户 bob@aliyun.com 从 player 角色中删除,需在客户端输入如下命令:

  1. revoke player from bob@aliyun.com;

删除角色

删除角色的命令格式,如下所示:

  1. DROP ROLE <roleName>;

示例如下:

假设要删除 player 角色,需在客户端输入如下命令:

  1. drop role player;

注意:

删除一个角色时,MaxCompute 会检查该角色内是否还存在其他用户。若存在,则删除该角色失败。只有在该角色的所有用户都被撤销时,删除角色才会成功。

本文导读目录