gpt4 book ai didi

hadoop - 在Oozie Spark作业工作流程中存储密码的更好方法

转载 作者:行者123 更新时间:2023-12-02 21:16:17 27 4
gpt4 key购买 nike

我有一个oozie工作流程,该工作流程执行spark作业,该工作流程需要用户名和密码才能连接到各种服务器。现在,我将其作为参数传递到workflow.xml中:
用户名
密码

这(当然)是一种不好的方法,因为它使密码可见。在这种情况下,混淆密码的标准方法是什么?

谢谢!

最佳答案

Sqoop 是一个有趣的案例,如其documentation所示:

  • 最初只有--password命令行选项,其后是纯文本密码(yuck!)
  • ,然后引入了--password-file,随后是一个包含密码的文件;这是一个明显的改进,因为(a)在Edge节点上运行时,运行ps命令的任何人都看不到密码本身(b)在Oozie中运行时,您只需在HDFS中上传一次文件,然后告诉Oozie下载使用<file>选项将其输入到运行您的作业的YARN容器的CWD,并且密码本身对于检查作业定义的任何人都不可见-但是您不要忘记限制对该死文件的访问,两者在Edge节点和HDFS上,否则密码仍可能被泄露----
  • 最后,Hadoop中引入了一个可选的凭据存储,并且Sqoop本身支持(尽管现在存在保护用于连接到凭据存储的密码的问题...)

  • 同样,对于 和Spark (以及任何自定义Java / Scala / Python应用程序),我强烈建议您将所有敏感信息存储在“属性”文件中,限制对该文件的访问,然后将其作为命令行参数传递到您的程序。

    如果您具有不同的Dev / Test / Prod环境,这也将使您的生活更轻松-Oozie脚本和“properties”文件名将完全相同,但实际的props将特定于环境。

    关于hadoop - 在Oozie Spark作业工作流程中存储密码的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38701362/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com