本文介绍操作权限控制的相关问题。
如何控制工作空间下各用户可操作哪些功能权限?
您可以根据业务场景,为子账号授予不同的预设角色,来控制其是否有某个功能点权限,同时,您也可以为子账号授予不同的自定义DataWorks空间角色,来控制其是否有某个模块读写权限。关于预设角色拥有的对应功能权限列表请参考文档:附录:预设角色权限列表(空间级)。关于自定义DataWorks角色您可以参考文档:空间级模块权限管控。
如何控制工作空间下各用户是否有对应引擎资源的操作权限?
当授权用户工作空间角色后,该用户是否拥有引擎权限与引擎类别和引擎配置有关。
使用MaxCompute引擎时的权限问题逻辑说明:
DataWorks预设角色与MaxCompute引擎开发项目的Role存在权限映射关系(DataWorks预设角色默认拥有MaxCompute开发项目映射的role所有的引擎层面的权限)。
DataWorks预设角色与MaxCompute引擎生产项目的Role没有权限映射关系(DataWorks预设角色无法直接操作生产引擎项目上的资源)。
说明上述说明在DataWorks上的具体体现为,管理员角色和开发角色的成员,有DataWorks上大部分功能权限,有DataWorks开发环境(MaxCompute引擎开发项目)所有权限,但默认没有生产环境(MaxCompute生产项目)的操作权限。如果子账号需要在开发环境访问生产表,需要在数据地图权限申请申请该表的操作权限。
任务执行环境
实时场景
数据开发执行任务(开发环境执行任务)
场景一:
select col1 from tablename
用个人账号访问开发环境下该表。即用个人账号访问:projectname_dev.tablename。场景二:
select col1 from projectname.tablename
用个人账号访问生产环境下该表。即用个人账号访问:projectname.tablename。说明阿里云RAM用户(非调度引擎指定账号)默认无权限访问生产环境,生产表权限需要在数据地图申请后才可使用。
生产运维中心执行任务(生产环境执行任务)
场景:
select col1 from tablename
用调度引擎指定账号访问生产环境下该表。即调度引擎指定账号访问:projectname.tablename。
使用E-MapReduce引擎时的权限逻辑说明与权限控制:
逻辑说明:当前工作空间使用的是E-MapReduce引擎时,预设角色与引擎无直接关系。
模式
执行环境
执行账号
原理
快捷模式
数据开发执行任务(开发环境执行任务)
统一使用Hadoop账号执行
生产运维中心执行任务(生产环境执行任务)
安全模式
数据开发执行任务(开发环境执行任务)
使用在引擎配置时候指定的开发环境指定的账号访问所有引擎资源。
通过为DataWorks工作空间下的成员配置LDAP权限映射,实现控制每个子账号在DataWorks操作时的EMR底层权限控制的目的。在DataWorks上使用阿里云主账号或RAM用户在下发代码的同时,EMR集群内会匹配对应的同名用户来运行任务。
说明DataWorks成员与EMR用户权限映射关系详情请参见:注册EMR集群至DataWorks。
生产运维中心执行任务(生产环境执行任务)
使用在引擎配置时候指定的生产环境和指定的账号访问所有引擎资源。
权限控制:管理者可以使用EMR集群内的Ranger组件对每个用户进行权限管控,最终实现不同阿里云主账号、任务责任人或RAM用户在DataWorks上运行EMR任务时,拥有对应不同的数据权限。
使用其他引擎时的权限问题
当前工作空间使用的其他引擎时,在数据开发界面执行任务访问引擎资源时是否有权限与您在引擎配置中配置账号有关。
如何控制只能从内网环境访问DataWorks控制台?
如果您希望您所在企业的用户只能通过企业内网访问DataWorks控制台,请进入RAM控制台,仅放通您所在企业的内网地址映射出的公网地址。
关于RAM控制台的详细操作,请参见管理RAM用户安全设置