配置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认证)集群。
配置描述
- 登录FusionInsight Manager系统。
详细操作请参考访问集群Manager。
- 选择“集群 > 服务 > 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
- 修改参数配置后,单击“保存”,根据界面提示操作后,等待配置保存成功。
- 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客户端。组件重启期间将无法对外提供服务,可能会影响集群的上层业务正常运行,请在业务空闲期或确认操作无影响后再执行本操作。