更新时间:2025-08-01 GMT+08:00

配置Spark Web UI ACL

操作场景

访问控制列表(ACLs)是一种安全机制,用于控制用户或用户组对资源的访问权限。启用ACLs可以限制用户对应用程序历史记录的访问,确保敏感数据的安全性。

当Spark Web UI中有一些不允许其他用户看到的数据时,用户可能想对UI进行安全防护。用户一旦登录,Spark可以比较与这个用户相对应的视图ACLs来确认是否授权用户访问 UI。

Spark存在两种类型的Web UI,一种为运行中任务的Web UI,可以通过Yarn原生页面的应用链接或者REST接口访问。一种为已结束任务的Web UI,可以通过Spark JobHistory服务或者REST接口访问。

  • 运行中任务Web UI ACL配置。

    运行中的任务,可通过服务端对如下参数进行配置。

    • “spark.admin.acls”:指定Web UI的管理员列表。
    • “spark.admin.acls.groups”:指定管理员组列表。
    • “spark.ui.view.acls”:指定yarn界面的访问者列表。
    • “spark.modify.acls.groups”:指定yarn界面的访问者组列表。
    • “spark.modify.acls”:指定Web UI的修改者列表。
    • “spark.ui.view.acls.groups”:指定Web UI的修改者组列表。
  • 运行结束后Web UI ACL配置。

    运行结束的任务通过客户端的参数“spark.history.ui.acls.enable”控制是否开启ACL访问权限。

    如果开启了ACL控制,由客户端的“spark.admin.acls”“spark.admin.acls.groups”配置指定Web UI的管理员列表和管理员组列表,由客户端的“spark.ui.view.acls”“spark.modify.acls.groups”配置指定查看Web UI任务明细的访问者列表和组列表,由客户端的“spark.modify.acls”“spark.ui.view.acls.groups”配置指定修改Web UI任务明细的访问者列表和组列表。

约束与限制

本章节仅支持安全模式(开启了Kerberos认证)集群。

配置描述

  1. 登录FusionInsight Manager系统。

    详细操作请参考访问集群Manager

  2. 选择“集群 > 服务 > Spark2x/Spark > 配置”,单击“全部配置”,搜索并调整以下参数。

    表1 参数说明

    参数

    参数说明

    配置示例

    spark.history.ui.acls.enable

    配置JobHistory是否支持单一任务的权限校验。

    • true:启用ACLs,只有授权用户才能查看Spark应用程序。
    • false:不启用ACLs,所有用户都可以查看Spark应用程序,可能存在安全隐患。因此,在执行此操作时,请谨慎操作

    true

    spark.acls.enable

    配置是否开启Spark权限管理。如果开启,将会检查用户是否有权限访问和修改任务信息。

    • true:开启Spark任务权限管理,只有授权用户才能查看和操作应用程序。
    • false:关闭Spark任务权限管理,任意用户都有权限访问和修改应用程序,请谨慎修改。

    true

    spark.admin.acls

    配置Spark管理员列表,列表中成员有权限管理所有Spark任务,此处可以配置多个管理员用户,使用“,”分隔。

    admin

    spark.admin.acls.groups

    配置Spark管理组列表,列表中的组有权限管理所有Spark任务,此处可以配置多个管理组,使用“,”分隔。

    -

    spark.modify.acls

    配置有权限修改Spark任务的成员列表。启动任务的用户默认有此权限,此处可以配置多个用户,使用“,”分隔。

    -

    spark.modify.acls.groups

    配置有权限修改Spark任务的组列表,此处可以配置多个组,使用“,”分隔。

    -

    spark.ui.view.acls

    配置有权限访问Spark任务的成员列表。启动任务的用户默认有此权限,此处可以配置多个用户,使用“,”分隔。

    -

    spark.ui.view.acls.groups

    配置有权限访问Spark任务的组列表,此处可以配置多个组,使用“,”分隔。

    yarnviewgroup

  1. 修改参数配置后,单击“保存”,根据界面提示操作后,等待配置保存成功。
  2. Spark服务端配置更新后,如果“配置状态”为“配置过期”,则需重启组件以使配置生效。

    图1 修改Spark配置

    在Spark服务概览页面,选择“更多 > 重启服务/滚动重启服务”,验证管理员密码后,等待服务重启成功。

    如果使用Spark客户端提交任务,修改了集群的参数“spark.admin.acls”“spark.admin.acls.groups”“spark.modify.acls”“spark.modify.acls.groups”“spark.ui.view.acls”“spark.ui.view.acls.groups”后,需要重新下载客户端才能使配置生效,请参考使用MRS客户端

    组件重启期间将无法对外提供服务,可能会影响集群的上层业务正常运行,请在业务空闲期或确认操作无影响后再执行本操作。