繁体   English   中英

使用 LDAP 对任何 Apache Spark web UI 进行身份验证

[英]Authenticating to any Apache Spark web UI with LDAP

我正在寻找一种将 LDAP 身份验证引入我的 Apache Spark Web UI 的方法。 这包括主 Spark Web UI 和 Spark 历史服务器。 Spark 实例在 Kubernetes 集群内运行,并通过 Spark Operator 和独立模式启动。

在官方文档中, 它说如下

“为 Web UI 启用身份验证是使用javax servlet 过滤器完成的。您需要一个过滤器来实现您要部署的身份验证方法。Spark 不提供任何内置的身份验证过滤器。”

在线搜索时,我找不到任何可以通过 LDAP 进行身份验证的过滤器。

我的问题是:

  1. 是否有任何这样的过滤器实现了开源和免费提供?
  2. 我的问题是否有另一种解决方案可以启用此功能?
  1. 添加一个 Java Servlet 过滤器。 我没有找到公开可用的 ldap 过滤器,但是这里有一个 PAM 过滤器,我们可以使用https://github.com/marccarre/pam-servlet-filter 现在,我们可以将 PAM 配置为使用使用 LDAP 的 SSSD。

提示:使用瘦客户端并使用 libpam4j-1.11.jar(不是官方参考版本(1.9),因为我无法使用 1.9)和 jna-4.3.0.jar。 这对我来说是一个工作设置。 将所有这些 3 jars 添加到 SPARK_DIR/jars/

  1. 在所有火花节点上执行
yum install sssd authconfig -y
authconfig --update --enablesssd --enablesssdauth
  1. 添加/编辑/etc/sssd/sssd.conf。 谷歌如何配置这个文件。 基本上你可以在这里配置变量,比如 ldap_uri、ldap_search_base 和 ldap_access_filter

  2. 在 spark-defaults.conf 中添加以下变量:

spark.ui.filters                    com.carmatechnologies.servlet.PamAuthFilter
spark.com.carmatechnologies.servlet.PamAuthFilter.param.realm spark
spark.com.carmatechnologies.servlet.PamAuthFilter.param.service system-auth
  1. 启动sssd
sssd -i -d 3
  1. 启动 Spark UI

身份验证现在应该可以工作了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM