spark独立集群的安全认证

vsnjm48y  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(605)

我有一个独立的spark集群在远程服务器上运行,我是spark新手。默认情况下,似乎没有任何身份验证方案保护群集主机的(7077)端口。任何人都可以简单地将自己的代码提交到集群而不受任何限制。
spark文档说明可以在独立部署模式下使用 spark.authenticate.secret 参数,但没有详细说明应该如何使用它。
有没有可能使用某种共享秘密来阻止任何潜在攻击者向集群提交任务?有人能解释一下这是如何配置的吗?

5t7ly7z5

5t7ly7z51#

有两个部分支持身份验证:
把秘密放在主人和所有的奴隶身上
在向集群提交作业时使用相同的秘密

主人和奴隶

在集群中的每台服务器上,将以下配置添加到 conf/spark-defaults.conf :

spark.authenticate.secret      SomeSecretKey

提交作业

初始化spark上下文时,还应向其添加相同的配置,即:

val conf = new SparkConf()
      .set("spark.authenticate.secret", "SomeSecretKey")
val sc = new SparkContext(conf)

或者如果您正在使用sparksession:

val spark = SparkSession.builder()
    .conf("spark.authenticate.secret", "SomeSecretKey")
    .getOrCreate()

相关问题