本文为您提供MaxCompute和Dataworks中,主账号与子账号的权限区分表。

当用户申请创建项目空间(Project)后,该用户为此项目空间的所有者(Owner),这个项目空间内的所有对象(表、实例、资源、UDF等)都属于该用户。除了Owner之外,任何人都无权访问此项目空间内的对象,除非有Owner的授权许可。项目空间是MaxCompute实现多租户体系的基础,是您管理数据和计算的基本单位,也是计量和计费的主体。

在MaxCompute和Dataworks中,主账号与子账号的权限区分如下表所示。
操作类型 操作说明 操作端 主账号 角色 RAM子账号 角色 依赖
Project管理 Project-创建、删除 DataWorks 支持 项目所有者 支持 项目管理员 主账号AK开启
Project-创建、删除 MaxCompute CLI/Studio 不支持 N/A 不支持 N/A 不涉及
Project-跨Project访问 Dataworks/MaxCompute CLI/Studio 支持 项目所有者 支持 ALL 主账号指定授权
Project-更新 Dataworks/MaxCompute CLI/Studio 不支持 N/A 不支持 N/A 不涉及
IP白名单设置 Dataworks/MaxCompute CLI/Studio 支持 项目所有者 不支持 N/A 主账号AK开启
全表扫描 Dataworks/MaxCompute CLI/Studio 支持 项目所有者 不支持 N/A 主账号AK开启
数据保护 Dataworks/MaxCompute CLI/Studio 支持 项目所有者 不支持 N/A 主账号AK开启
项目成员-添加、授权管理 Dataworks 支持 项目所有者 支持 项目管理员 主账号AK开启
项目成员-添加、授权管理 MaxCompute CLI/Studio 不支持 N/A 不支持 N/A 不涉及
数据集成 数据源创建、修改 Dataworks 支持 项目所有者 支持 项目管理员 不涉及
同步任务创建、修改 Dataworks 支持 项目所有者 支持 项目管理员、开发 不涉及
同步任务发布 Dataworks 支持 项目所有者 支持 项目管理员、开发、运维、部署 不涉及
CU管家 修改Quota Dataworks 支持 项目所有者 不支持 N/A 主账号AK开启
访问、监控 Dataworks 支持 项目所有者 支持 ALL 不涉及
RAM授权 Dataworks 不支持 N/A 不支持 N/A 不涉及
代码开发 查看代码列表、内容 Dataworks 支持 项目所有者 支持 ALL 不涉及
代码创建、删除、更新、运行 Dataworks 支持 项目所有者 支持 项目管理员、开发 不涉及
JAVA UDF Dataworks/MaxCompute CLI/Studio 支持 项目所有者 支持 项目管理员、开发、运维、部署 不涉及
Python UDF Dataworks/MaxCompute CLI/Studio 支持 项目所有者 支持 项目管理员、开发、运维、部署 工单申请开通
运维中心 调度任务查看管理 Dataworks 支持 项目所有者 支持 项目管理员、开发、运维、部署 不涉及
数据管理 表-创建 Dataworks/MaxCompute CLI/Studio 支持 项目所有者 支持 项目管理员、开发 不涉及
表-更新 Dataworks/MaxCompute CLI/Studio 支持 项目所有者 支持 项目管理员、开发、运维、部署 不涉及
表-删除 Dataworks/MaxCompute CLI/Studio 支持 项目所有者 支持 项目管理员、开发 不涉及
单表授权(ACL) Dataworks/MaxCompute CLI/Studio 支持 项目所有者 支持 项目管理员、开发 不涉及
表查询-元数据预览 Dataworks/MaxCompute CLI/Studio 支持 项目所有者 支持 ALL 不涉及
表查询-跨Project表预览 Dataworks/MaxCompute CLI/Studio 支持 项目所有者 支持 ALL 主账号指定授权
资源管理 查看资源列表 Dataworks/MaxCompute CLI/Studio 支持 项目所有者 支持 ALL 不涉及
资源-创建、删除 Dataworks/MaxCompute CLI/Studio 支持 项目所有者 支持 项目管理员、开发 不涉及
资源-上传(Jar/Text/Archive) Dataworks/MaxCompute CLI/Studio 支持 项目所有者 支持 项目管理员、开发 不涉及
工作流开发 查看工作流列表、内容 Dataworks 支持 项目所有者 支持 ALL 不涉及
工作流创建、删除、更新 Dataworks 支持 项目所有者 支持 项目管理员、开发 不涉及
文件夹创建、删除、更新 Dataworks 支持 项目所有者 支持 项目管理员、开发 不涉及
函数开发 查看函数列表、详情 Dataworks/MaxCompute CLI/Studio 支持 项目所有者 支持 ALL 不涉及
函数-创建、删除 Dataworks/MaxCompute CLI/Studio 支持 项目所有者 支持 项目管理员、开发 不涉及
售卖 购买、充值、续费、升级、降配 数加控制台/MaxCompute购买页 支持 项目所有者 不支持 N/A 不涉及
查看消费账单、消费明细、使用记录 阿里云费用中心 支持 项目所有者 不支持 N/A 不涉及
  • 如果您通过DataWorks执行添加用户及授权等操作,请参见添加工作空间成员和角色
  • 如果您通过MaxCompute安全管理命令进行用户管理,请参见用户管理了解如何添加和删除用户、给用户授权(包括RAM子账号管理)。
  • 如果您通过MaxCompute安全管理命令进行角色管理,请参见角色管理了解如何创建和删除角色、如何给角色授权。
  • 授权及权限查看的更多详情,请参见授权查看权限
    说明 对于在MaxCompute或DataWorks项目空间中已经拥有角色的RAM子账号,在删除子账号之前请先解除子账号在项目空间中的角色并在项目空间中移除子账号。否则子账号会在项目空间中残留,查询用户显示为p4_xxxxxxxxxxxxxxxxxxxx且无法在项目空间中移除(不影响项目空间正常功能使用)。
    --子账号残留在项目空间时显示如下。
    odps@ MaxCompute>list users;
    p4_2652900xxxxxxxxxx
    --残留子账号无法删除时显示如下。
    odps@ MaxCompute_DOC>remove user p4_2652900xxxxxxxxxx;
    Confirm to "remove user p4_2652900xxxxxxxxxx
    ;" (yes/no)? yes
    FAILED: lack of account provider
    --此时在DataWorks项目成员管理页面依然能看到RAM子账号。正确的做法为在删除子账号前先解除子账号的角色。
    odps@ MaxCompute>revoke role_project_security, role_project_admin, role_project_dev, role_project_pe, role_project_deploy, role_project_guest from RAM$MainCount:hanmeimei;
    OK
    --执行如下命令在空间移除子账号,之后即可正常删除RAM子账号。
    odps@ MaxCompute>remove user RAM$MainCount:hanmeimei;