本文以案例分析的形式为您介绍如何使用子账号进行权限管理。

场景分析

某企业购买了多款阿里云产品,MaxCompute是其中一个产品,各产品共享同一个主账号。MaxCompute的使用者不负责主账号的管理,日常情况下,使用子账号为MaxCompute项目进行权限管理。例如,新增子账号(add user)、为新的子账号授权(grant xx on project/table)等操作。

背景信息

  • 默认情况下,只有项目所有者才可以进行MaxCompute项目权限管理,而且MaxCompute项目的所有者只能是主账号。
  • 子账号开通MaxCompute服务并创建项目后,项目的所有者依然是对应的主账号。
  • 在DataWorks中,子账号拥有项目的项目管理员或安全管理员角色。但子账号只拥有对应DataWorks的操作权限,并没有对MaxCompute项目进行管理的权限,详情请参见MaxCompute和DataWorks权限关系

解决方案

指定一个子账号作为MaxCompute的权限管理账号。主账号为该子账号授予Super_Administrator、Admin角色权限。
--例如主账号是bob@aliyun.com,作为日常权限管理的子账号是Allen。
--为子账号授予Admin角色。
grant admin TO ram$bob@aliyun.com:Allen; 
--为子账号授予Super_Administrator角色。
grant Super_Administrator TO ram$bob@aliyun.com:Allen; 
说明 Admin角色可以进行日常的权限管理,但不能代替项目所有者进行所有的权限管理。只有项目所有者才有权限进行示例中的授权操作。