添加Yarn的Ranger访问权限策略
操作场景
Yarn作为核心的资源调度框架,承担着集群计算资源的分配与任务调度核心职责,平台内存在多个角色的Yarn用户(如开发人员提交业务计算任务、运维人员管理集群资源、不同业务部门用户抢占队列资源)。若缺乏精细化的Yarn权限管控,普通用户可能随意占用大量集群资源,导致核心业务任务调度延迟;无权限用户误操作修改Yarn集群配置,引发服务稳定性风险;不同业务部门共用队列时,资源争抢现象频发,影响业务正常推进。Ranger提供了针对性的权限配置方案,管理员可通过Ranger直接为Yarn用户配置Yarn管理员权限及Yarn队列资源管理权限。
本文档将指导Ranger管理员完成相关权限配置操作,助力实现Yarn资源的精细化管控,兼顾业务需求与集群安全。
Ranger Yarn上面各个权限之间相互独立,没有语义上的包含与被包含关系。当前支持下面两种权限:
- submit-app:提交队列任务权限
- admin-queue:管理队列任务权限
虽然admin-queue也有提交任务的权限,但和submit-app权限之间并没有包含关系。
前提条件
- 集群中已安装Ranger服务且服务运行正常。
- 集群中已创建需要配置权限的用户、用户组或Role,如果是新创建的用户,需等待用户自动同步至Ranger后才可以配置相关权限策略。
操作步骤
- 登录FusionInsight Manager界面,选择“集群 > 服务 > Yarn”。
- 选择“配置 > 全部配置”,搜索参数“yarn.acl.enable”,修改参数值为“true”。如果该参数值已经为“true”,则无需处理。
图1 配置参数“yarn.acl.enable”
- 使用Ranger管理员用户登录Ranger WebUI页面,具体操作可参考登录Ranger WebUI界面。
- 在首页中单击“YARN”区域的组件插件名称如“Yarn”。
- 单击“Add New Policy”,添加Yarn权限控制策略。
- 根据业务需求配置相关参数。
表1 Yarn权限参数 参数名称
描述
Policy Name
策略名称,可自定义,不能与本服务内其他策略名称重复。
Policy Conditions
IP过滤策略,可自定义,配置当前策略适用的主机节点,可填写一个或多个IP或IP段,并且IP填写支持“*”通配符,例如:192.168.1.10,192.168.1.20或者192.168.1.*。
Policy Label
为当前策略指定一个标签,可以根据这些标签搜索报告和筛选策略。
Queue
队列名称,支持通配符“*”。
如需子队列继承上级队列权限,可打开递归开关按钮。
- Non-recursive:关闭递归
- Recursive:打开递归
Description
策略描述信息。
Audit Logging
该策略命中时是否生成审计日志。
- Yes:当用户触发该策略的权限校验时,无论校验结果是允许(Allow)还是拒绝(Deny),会生成一条审计日志。
- No:当用户触发该策略的权限校验时,不会生成任何审计日志。
Allow Conditions
策略允许条件,配置本策略内允许的权限及例外。
在“Select Role”、“Select Group”、“Select User”列选择已创建好的需要授予权限的Role、用户组或用户,单击“Add Conditions”,添加策略适用的IP地址范围,单击“Add Permissions”,添加对应权限。
- submit-app:提交队列任务权限
- admin-queue:管理队列任务权限
- Select/Deselect All:全选/取消全选
如需让当前条件中的用户或用户组管理本条策略,可勾选“Delegate Admin”使这些用户成为受委托的管理员。被委托的管理员可以更新、删除本策略,它还可以基于原始策略创建子策略。
如需添加多条权限控制规则,可单击
按钮添加。如需删除权限控制规则,可单击
按钮删除。Exclude from Allow Conditions:配置策略例外条件。
Deny All Other Accesses
是否拒绝其他所有访问。
- True:拒绝其他所有访问
- False:设置为False,可配置Deny Conditions。
Deny Conditions
策略拒绝条件,配置本策略内拒绝的权限及例外,配置方法与“Allow Conditions”类似。拒绝条件的优先级高于“Allow Conditions”中配置的允许条件。
Exclude from Deny Conditions:配置排除在拒绝条件之外的例外规则。
表2 常见权限配置场景 任务场景
角色授权操作
设置Yarn管理员权限
- 在首页中单击“YARN”区域的组件插件名称,例如“Yarn”。
- 选择“Policy Name”为“all - queue”的策略,单击
按钮编辑策略。 - 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。
设置用户在指定Yarn队列提交任务的权限
- 在“Queue”配置队列名。
- 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。
- 单击“Add Permissions”,勾选“submit-app”。
设置用户在指定Yarn队列管理任务的权限
- 在“Queue”配置队列名。
- 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。
- 单击“Add Permissions”,勾选“admin-queue”。
- (可选)添加策略有效期。在页面右上角单击“Add Validity period”,设置“Start Time”和“End Time”,选择“Time Zone”。单击“Save”保存。如需添加多条策略有效期,可单击
按钮添加。如需删除策略有效期,可单击
按钮删除。 - 单击“Add”,在策略列表可查看策略的基本信息。等待策略生效后,验证相关权限是否正常。
如需禁用某条策略,可单击
按钮编辑策略,设置策略开关为“Disabled”。如果不再使用策略,可单击
按钮删除策略。
相关文档
- 配置Ranger策略时,不同条件的优先级可参考Ranger权限策略条件判断优先级。
- 如需查看Ranger中的相关权限设置对象信息,例如用户、用户组、Role,可参考查看Ranger用户权限同步信息。
- MRS集群中新用户可在Manager中进行创建,可参考创建MRS集群用户。