创建MaxCompute项目后,如果需要其他RAM用户协助开发,可以给对应RAM用户进行授权,完成后RAM用户即可操作项目中的表、资源、函数或作业。本文介绍如何为RAM用户进行授权。
前提条件
已创建MaxCompute项目。
如果您还没有创建MaxCompute项目,请先创建项目,操作详情请参见创建MaxCompute项目。
已创建RAM用户。
创建RAM用户操作,请参见准备RAM用户。
授权操作:通过DataWorks
如果您通过DataWorks控制台创建DataWorks工作空间时同步创建的MaxCompute项目,并且希望后续使用DataWorks进行MaxCompute的作业开发治理,您可直接在DataWorks的控制台上对用户进行授权。
DataWorks为您提供了完整的数据开发治理的权限管控方案,以下以标准模式的DataWorks为例,为您介绍在开发环境和生产环境隔离的情况下,DataWorks的授权方式。
开发环境:添加DataWorks工作空间成员,后续此成员即可在DataWorks上开发MaxCompute作业。
在 DataWorks 管理中心左侧导航选择空间成员与角色,单击添加成员,在待添加账号列表中勾选目标成员,单击>移至已添加账号,在批量设置角色中勾选开发,单击确认。
在DataWorks控制台上添加成员的操作详情请参见为工作空间添加空间成员。
添加DataWorks成员后,不同成员角色拥有的MaxCompute对应的权限映射关系请参见MaxCompute和DataWorks的权限关系。
生产环境:您可以在DataWorks的数据地图中查找生产环境中的表,并申请对应表权限。
申请表权限的操作请参见申请表权限。
授权操作:通过MaxCompute
您也可在MaxCompute控制台上直接为项目进行权限管控,将权限授权给其他用户。MaxCompute推荐您使用角色授权的方式为用户授权,即为某类用户创建一个用户角色,设置角色所拥有的权限,然后将角色授权给对应的RAM用户,使得RAM用户拥有角色的权限。
如上所述,通过MaxCompute进行授权操作时,您需先规划好用户角色并为角色授权,然后再将用户角色授权给RAM用户,完成授权。
规划用户角色并为角色授权。
MaxCompute为您提供了两个内置的管理员角色:admin和super_administrator,建议您根据需要授权的人员实际权限需求,遵循权限最小原则,为对应的人员规划并自定义创建符合要求的角色。创建角色的操作如下。
登录MaxCompute控制台,在左上角选择地域。
在左侧导航栏,选择。
在项目管理页面,单击目标项目操作列的管理。
在项目配置页面,选择角色权限页签。
单击新增项目级别角色,创建支持MaxCompute相关权限的项目角色。
在弹出的新建角色对话框,根据界面提示文案配置项目信息,单击确定。
在准备工作阶段,建议设置角色类型为Resource,通过ACL方式快速地为指定的项目、表授予对应的操作权限。
将角色授权给RAM用户。
创建好自定义用户角色后,您可以将角色授权给RAM用户,完成后RAM用户即拥有角色的权限。
在项目配置页面,选择角色权限页签。选择目标项目级别角色,单击操作列的成员管理。
根据界面引导选择待授权的用户,单击确定。
当界面提示添加成功后,对应RAM用户即拥有对应的MaxCompute权限。
MaxCompute提供多粒度的权限管控方式和丰富的授权方法,后续管理员在权限管理时可根据需要进一步规划并管理人员权限,详情可参考权限概述。
后续步骤
请准备MaxCompute项目开发环境并安装相应工具。更多准备环境及安全工具操作,请参见选择连接工具。
常见问题
Q:访问MaxCompute作业的logview时提示“can't operate the joblnsght, 错误码NO_PERMISSION”怎么办?
MaxCompute项目级权限与RAM全局权限是相互独立的两套体系。即使RAM用户拥有AliyunMaxComputeFullAccess或AliyunDataWorksFullAccess全局权限,甚至是DataWorks空间管理员,只要该用户尚未加入对应的MaxCompute项目,访问logview时仍会提示NO_PERMISSION错误。解决方法是将该RAM用户添加到目标MaxCompute项目并授予角色:
登录MaxCompute控制台,进入目标项目。
在角色权限页签下,通过成员管理将RAM用户添加到项目中。
为该用户分配角色(如开发者、运维等)。
重新访问logview链接,NO_PERMISSION错误即可消除。