配置队列权限
本章介绍如何通过队列权限管理,为当前工作空间分配可使用的MRS Yarn和DLI队列资源,并为用户组/用户配置对应的队列权限策略。
- 当为工作空间分配队列资源后,在数据开发组件在为作业节点配置队列资源时,可选择的队列为当前空间下已分配的队列资源。
当前支持在选择MRS Yarn队列时,从已分配的队列资源获取队列列表。如果未分配队列资源,则只支持选择root.default队列。
- 当为用户组/用户配置队列权限后,MRS队列权限管控由MRS Ranger组件实现,DLI队列权限管控由DLI服务实现,仅被授权用户具备相应队列权限。
需要说明的是,默认在DataArts Studio数据开发组件使用队列时,数据源会使用数据连接上的账号进行认证鉴权。因此当用户在数据开发时,队列权限管控依然无法生效。需要您启用细粒度认证,使得在数据开发使用队列时,使用当前用户身份认证鉴权,从而使队列权限管控生效。
前提条件
- 仅DAYU Administrator、Tenant Administrator或者数据安全管理员有权限给当前空间分配可用的队列资源、配置MRS队列属性(离线/实时)以及为指定的队列配置用户权限策略,另外工作空间管理员用户也可以为用户组/用户配置队列权限策略。
- 配置队列权限前,已在管理中心创建数据湖探索(DLI)和MapReduce服务(MRS Ranger)类型的数据连接,请参考创建DataArts Studio数据连接。
- 配置MRS Yarn队列权限前,需要参考同步IAM用户到数据源将IAM上的用户信息同步到数据源上。
- MRS Yarn队列权限的策略生效,需要配置YARN严格权限控制,即设置参数“yarn.acl.enable”为true,具体请参见参考:配置Yarn严格权限控制。
约束与限制
- 当前分配队列资源只支持MRS Yarn队列。队列权限管控只支持MRS Yarn和DLI队列,且由于DLI限制暂不支持为DLI default队列授权。
- 仅当数据连接中的Agent选择的CDM集群为2.10.0.300及以上版本时,才支持MRS Yarn队列权限管控。
- 仅DAYU Administrator、Tenant Administrator或者数据安全管理员有权限给当前空间分配可用的队列资源、配置MRS队列属性(离线/实时)以及为指定的队列配置用户权限策略,另外工作空间管理员用户也可以为用户组/用户配置队列权限策略。
- 当前工作空间分配的队列资源和配置的队列权限并无绑定关系,队列权限策略实际上落在数据源配置中。因此,当删除当前工作空间的队列资源后,已配置的队列权限策略依然生效;重新添加队列资源后,权限依然可见。
- 已配置的队列权限策略借由数据源的权限管控能力实现,因此也可以在数据源(如MRS Ranger策略和DLI队列管理)处查看已配置的策略。如果在数据源处删掉队列策略,则在数据安全组件处不会自动删除,需要您手动在数据安全组件处清理该策略。
- 仅MRS Yarn队列支持配置队列属性(离线/实时),且同一队列在不同工作空间下支持指定为不同属性。
- 为DLI队列的授权时,当前由于DLI限制只支持授权给用户,不支持授权给用户组。
分配队列并授权
- 在DataArts Studio控制台首页,选择对应工作空间的“数据安全”模块,进入数据安全页面。
- 单击左侧导航树中的
,进入队列权限页面。图1 进入队列权限页面
- 单击队列权限目录上方的 ,为当前工作空间分配队列。在弹出的添加队列资源窗口配置相关参数,参考表1,配置完成单击“保存”,队列资源添加完成。
表1 添加队列资源参数说明 参数名
参数描述
*资源类型
选择MRS队列或者DLI队列。
*数据连接
选择队列所在的数据连接。如需新建数据连接,请参考创建DataArts Studio数据连接。
*集群名称
仅当资源类型为MRS队列时显示,无需填写, 系统自动匹配数据连接对应的集群名称。
*队列名称
选择需要授权的队列名称。
- 选择MRS队列时,可选队列来自于MRS集群的队列。可在MRS控制台的集群列表中,单击集群名进入集群详情后,在“租户管理 > 队列配置”下查看已有队列。
- 选择DLI队列时,可选队列来自于DLI服务中所购买的队列,可在DLI控制台中,在“资源管理 > 队列管理”下查看已有队列。另外,当前DLI队列分为SQL队列和通用队列两类,SQL队列用于运行SQL作业,通用队列用于运行Flink、Spark Jar作业。
描述
为更好地识别队列权限,此处加以描述信息。
图2 添加队列资源
- 单击队列权限目录中的队列,进入队列详情页面。
其中MRS Yarn队列可配置队列属性,主要应用于数据开发服务中的任务管理。实时队列用于运行实时作业,离线队列用于运行批处理作业,默认即不区分队列的作业类型。图3 MRS Yarn队列详情
图4 DLI队列详情
- 为分配的队列资源进行授权。
- MRS Yarn队列
在MRS Yarn队列详情页面,单击“新建策略”,在弹出的窗口中参考表2填写策略相关参数,完成后单击保存,完成队列授权。
表2 MRS Yarn队列策略参数说明 参数名
参数描述
集群名称
无需填写, 系统自动填写队列所在的集群名称。
队列名称
无需填写, 系统自动填写当前的队列名称。
*策略名称
用于标识MRS Yarn队列权限策略,为便于策略管理,建议名称中包含授权对象。
策略描述
为更好地识别策略,此处加以描述信息。
策略状态
开启后当前策略生效。
审计日志
开启后可记录当前队列的操作日志,需要在数据源侧查看对应的审计日志。
可覆盖
由于Ranger组件的限制,如果Ranger中已有此用户/用户组的队列权限策略,当前策略可能会被认为重复而添加失败。
开启可覆盖后,将尝试覆盖Ranger中此用户/用户组的队列权限策略。当覆盖失败时,需要您到Ranger组件中手动删除此用户/用户组的队列权限策略,然后再次重试添加策略。
*访问授权(单击“添加用户”进入配置窗口)
用户名称
选择需要授权的用户/用户组。用户/用户组列表来自于工作空间中已添加的用户/用户组。
权限
- submit-app:提交队列任务权限
- admin-queue:管理队列任务权限
委托用户
如果需要让待授权用户/用户组管理本条策略,可开启此选项,使这些用户成为当前策略管理员,当前策略管理员可以更新、删除本策略。
图5 MRS Yarn队列详情
- DLI队列
在DLI队列详情页面,单击“授权”,在弹出的窗口中参考表2填写策略相关参数,完成后单击保存,完成队列授权。
表3 DLI队列授权参数说明 参数名
参数描述
用户名称
选择需要授权的用户。用户列表来自于工作空间中已添加的用户。
说明:为DLI队列的授权时,当前只支持用户,不支持用户组。
权限
- 提交作业 : 向此队列提交作业
- 取消作业 : 终止提交到此队列的作业
- 删除队列 : 删除此队列
- 赋权 : 当前用户可将队列的权限赋予其他用户
- 权限回收 : 当前用户可回收其他用户具备的该队列的权限,但不能回收该队列所有者的权限
- 查看其他用户具备的权限 : 当前用户可查看其他用户具备的该队列的权限
- 重启队列 : 重启此队列的权限
- 规格变更 : 修改队列规格的权限
图6 DLI队列详情
- MRS Yarn队列
相关操作
参考:配置Yarn严格权限控制
- 操作步骤为:
- 登录FusionInsight Manager界面,选择“集群 > 服务 > Yarn”。
- 选择“配置 > 全部配置”,搜索参数“yarn.acl.enable”,修改参数值为“true”。如果该参数值已经为“true”,则无需处理。
图7 配置参数“yarn.acl.enable”
在配置Yarn队列权限前,需要启用Yarn队列的权限控制机制。
- 登录MRS FusionInsight Manager。
- 选择“集群 > 服务 > Yarn > 配置 > 基础配置”,在搜索框中输入参数名“yarn.acl.enable”,修改参数值为“true”。如果该参数值已经为“true”,则无需处理。如图8所示。
- 参数配置完成后,单击左上角的“保存”,在弹窗中单击“确定”保存配置。
- 保存成功后,切换到实例页签,选择配置已过期的实例后,单击“更多 > 滚动重启实例”,使配置生效。
图9 滚动重启实例