更新时间:2024-10-22 GMT+08:00

配置队列权限

本章介绍如何通过队列权限管理,为当前工作空间分配可使用的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限制只支持授权给用户,不支持授权给用户组。

分配队列并授权

  1. DataArts Studio控制台首页,选择对应工作空间的“数据安全”模块,进入数据安全页面。
  2. 单击左侧导航树中的队列权限,进入队列权限页面。

    图1 进入队列权限页面

  3. 单击队列权限目录上方的 ,为当前工作空间分配队列。在弹出的添加队列资源窗口配置相关参数,参考表1,配置完成单击“保存”,队列资源添加完成。

    表1 添加队列资源参数说明

    参数名

    参数描述

    *资源类型

    选择MRS队列或者DLI队列。

    *数据连接

    选择队列所在的数据连接。如需新建数据连接,请参考创建DataArts Studio数据连接

    *集群名称

    仅当资源类型为MRS队列时显示,无需填写, 系统自动匹配数据连接对应的集群名称。

    *队列名称

    选择需要授权的队列名称。

    • 选择MRS队列时,可选队列来自于MRS集群的队列。可在MRS控制台的集群列表中,单击集群名进入集群详情后,在“租户管理 > 队列配置”下查看已有队列。
    • 选择DLI队列时,可选队列来自于DLI服务中所购买的队列,可在DLI控制台中,在“资源管理 > 队列管理”下查看已有队列。另外,当前DLI队列分为SQL队列和通用队列两类,SQL队列用于运行SQL作业,通用队列用于运行Flink、Spark Jar作业。

    描述

    为更好地识别队列权限,此处加以描述信息。

    图2 添加队列资源

  4. 单击队列权限目录中的队列,进入队列详情页面。

    其中MRS Yarn队列可配置队列属性,主要应用于数据开发服务中的任务管理。实时队列用于运行实时作业,离线队列用于运行批处理作业,默认即不区分队列的作业类型。
    图3 MRS Yarn队列详情

    图4 DLI队列详情

  5. 为分配的队列资源进行授权。

    • 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/DLI中直接删除,而是不再将当前指定的队列资源分配给此工作空间。
    • 直接删除队列资源后,队列中的授权配置依然存在,权限继续生效。需要通过删除策略回收权限,才能删除相应队列权限。
    • 数据安全无法删除当前正在数据开发中被使用的Yarn队列资源。
  • 编辑策略:在MRS Yarn队列详情页面,单击对应策略操作栏中的“编辑”,即可编辑策略。
  • 删除策略:在MRS Yarn队列详情页面,单击对应策略操作栏中的“删除”,即可删除策略。当需要批量删除时,可以在勾选策略后,在策略列表上方单击“批量删除”。

    删除操作无法撤销,请谨慎操作。

  • 修改权限:在DLI队列详情页面,单击对应授权项操作栏中的“修改权限”,即可修改对该用户所授予的权限。
  • 回收权限:在DLI队列详情页面,单击对应授权项操作栏中的“回收权限”,即可删除对该用户所授予的权限。

参考:配置Yarn严格权限控制

  • 操作步骤为:
    1. 登录FusionInsight Manager界面,选择“集群 > 服务 > Yarn”。
    2. 选择“配置 > 全部配置”,搜索参数“yarn.acl.enable”,修改参数值为“true”。如果该参数值已经为“true”,则无需处理。
      图7 配置参数“yarn.acl.enable”

在配置Yarn队列权限前,需要启用Yarn队列的权限控制机制。

  1. 登录MRS FusionInsight Manager。
  2. 选择“集群 > 服务 > Yarn > 配置 > 基础配置”,在搜索框中输入参数名“yarn.acl.enable”,修改参数值为“true”。如果该参数值已经为“true”,则无需处理。如图8所示。

    图8 配置yarn.acl.enable参数示例

  3. 参数配置完成后,单击左上角的“保存”,在弹窗中单击“确定”保存配置。
  4. 保存成功后,切换到实例页签,选择配置已过期的实例后,单击“更多 > 滚动重启实例”,使配置生效。

    图9 滚动重启实例