更新时间:2024-11-29 GMT+08:00

配置Spark Web UI ACL

配置场景

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

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

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

  • 运行中任务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任务明细的访问者列表和组列表。

配置描述

登录FusionInsight Manager系统,选择“集群 > 服务 > Spark > 配置”,单击“全部配置”,搜索acl,在对应的JobHistory,JDBCServer,SparkResource和Spark界面修改以下参数。

表1 参数说明

参数

说明

默认值

spark.history.ui.acls.enable

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

true

spark.acls.enable

配置是否开启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任务的组列表,此处可以配置多个组,使用“,”分隔。

-

若使用客户端提交任务,“spark.admin.acls”“spark.admin.acls.groups”“spark.modify.acls”“spark.modify.acls.groups”“spark.ui.view.acls”“spark.ui.view.acls.groups”参数修改后需要重新下载客户端。