配置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界面修改以下参数。
参数 |
说明 |
默认值 |
---|---|---|
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”参数修改后需要重新下载客户端。