通过MaxCompute的安全模型进行权限控制,并不会影响成员在DataWorks界面上的操作。但是通过DataWorks的用户角色分配,则有可能影响成员的MaxCompute资源权限。本文为您介绍这两个产品之间的权限关系。

项目关系

通过MaxCompute或DataWorks官网产品页进入管理控制台创建工作空间时,有以下两种选择:
  • 简单模式的工作空间实际是创建了一个绑定好的MaxCompute项目空间和DataWorks工作空间。同时在MaxCompute项目空间中创建对应的角色,角色权限的详情请参见角色管理
  • 标准模式的工作空间实际是创建了绑定好的一个MaxCompute开发(_dev)项目空间、一个MaxCompute生产(prod)项目空间来同时对应一个DataWorks工作空间。同时在MaxCompute的项目空间中创建对应的角色,角色权限的详情请参见角色管理

账号认证

云账号在DataWorks项目中只能是项目Owner。在MaxCompute中既可以为项目Owner也可以为普通用户。当通过DataWorks项目成员管理添加成员时只能添加当前项目主账号对应的RAM子账号。而MaxCompute可以通过add user xxx;命令添加其它云账号。账号认证

成员角色与权限关系

DataWorks为了提供项目成员在ETL过程中需要的MaxCompute相关资源权限,绑定了一些MaxCompute角色。DataWorks项目有固定的成员角色,同时在对应的MaxCompute项目上创建了对应的角色。此外,MaxCompute项目本身除项目Owner之外,还包含有一个Super_Administrator、Admin角色。具体权限对应如下表所示。
MaxCompute角色 MaxCompute数据权限 DataWorks成员角色 DataWorks平台权限特征
Project Owner MaxCompute项目空间的Owner,拥有该项目空间的所有权限。
Super_Administrator MaxCompute项目空间的超级管理员,拥有项目空间的管理类权限以及项目空间内所有类型资源的权限。
Admin

每一个项目空间在创建时,会自动创建一个Admin角色,并且为该角色授予了确定的权限:可以访问项目空间内项目空间的所有对象、对用户或角色进行管理、对用户或角色进行授权。

与项目Owner相比,Admin角色不能将Admin权限指派给用户,不能设定项目空间的安全配置,不能修改项目空间的鉴权模型,Admin角色所对应的权限不能被修改。

项目空间Owner可以将Admin角色赋权给一个用户,让该用户代理安全管理。

Role_Project_Admin 当前项目空间下project/table/fuction/resource/instance/job/package的所有权限。 项目管理员 指项目空间的管理者。可对该项目空间的基本属性、数据源、当前项目空间计算引擎配置和项目成员等进行管理,并为项目成员赋予项目管理员、开发、运维、部署、访客角色。
Role_Project_Dev 当前项目空间下project/fuction/resource/instance/job/package/table 的所有权限。 开发 开发角色的用户能够创建工作流、脚本文件、资源和UDF,新建和删除表,同时可以创建发布包,但不能执行发布操作。
Role_Project_Pe 当前项目空间下project/fuction/resource/instance/job的所有权限,拥有package的read权限和table 的read/describe权限。 运维 运维角色的用户由项目管理员分配运维权限,拥有发布及线上运维的操作权限,没有数据开发的操作权限。
Role_Project_Deploy 默认无权限。 部署 部署角色与运维角色相似,但是它没有线上运维的操作权限。
Role_Project_Guest 默认无权限。 访客 访客角色的用户只具备查看权限,没有权限进行编辑工作流和代码等操作。
Role_Project_Security 默认无权限。 安全管理员 安全管理员仅在数据保护伞中用到,用于敏感规则配置,数据风险审计等。
说明 由上表可知,DataWorks角色对应的MaxCompute权限是固定的。一旦某个User通过DataWorks角色获取MaxCompute相关Role权限后,又通过命令行方式获得了其他的MaxCompute权限,会使该User在MaxCompute的权限与在DataWorks上看到的不一致。

用户和权限关系图

对于简单模式,一个DataWorks工作空间绑定一个MaxCompute项目。

您可以在DataWorks工作管理空间工作空间配置 > 计算引擎信息 > MaxCompute区域查看MaxCompute访问者身份,访问身份包括阿里云主账号任务负责人

下图为用户和权限的对应关系。关系图
对于标准模式,一个DataWorks工作空间绑定两个MaxCompute项目空间,即一个开发项目空间和一个生产项目空间。
说明 DataWorks工作空间的其他成员,根据成员角色拥有MaxCompute开发项目空间对应的角色权限,但没有MaxCompute生产项目空间的权限。
MaxCompute任务需要通过发布流程发布到生产项目后,以Owner账号提交至MaxCompute执行。标准模式