【问题标题】:Is it possible for a spark job on bluemix to see a list of the other processes on the operating system?bluemix 上的 spark 作业是否可以查看操作系统上其他进程的列表?
【发布时间】:2016-05-25 21:46:23
【问题描述】:

从 spark 连接到第三方系统的常用方法是提供系统凭据作为 spark 脚本的参数。然而,这引发了一些关于安全性的问题。例如。看到这个问题Bluemix spark-submit -- How to secure credentials needed by my Scala jar

在 bluemix 上运行的 spark 作业是否可以查看操作系统上其他进程的列表? IE。是否可以运行相当于 ps -awx 的作业来检查 spark 集群上运行的进程以及传递给这些进程的参数?我猜这是不可能的设计目标,但最好验证一下。

【问题讨论】:

    标签: apache-spark ibm-cloud data-science-experience dsx


    【解决方案1】:

    对于 Bluemix Apache Spark 服务,每个供应的 spark 服务实例都是一个租户。每个租户都与所有其他租户隔离。给定租户的 Spark 作业无法访问任何其他租户的文件或内存。因此,即使您可以通过进程列表确定另一个租户的 id,您也无法利用它;在任何此类争论中都不应包含任何真正私人的内容。这里的一个相关类比是/etc/passwd 是世界可读的,但是用户ID 的知识本身并不能打开任何门。即它不是默默无闻的安全;实际的东西被锁定了。

    考虑到这一切,我知道该服务将在不久的将来通过容器化进一步隔离。

    【讨论】:

    • 谢谢@Randy。我更多地考虑类比,在多用户 UNIX 系统上,用户可以运行类似 ps -awx 的东西,并查看其他用户提交的命令以及这些命令的参数。在这种情况下,如果参数是另一个服务的凭据,它们将对其他用户可见。在 UNIX 上运行的任何应用程序都存在此问题,解决方案是在环境变量或文件中传递凭据等内容。
    • 是的,如果您将凭据传递给通过 spark-submit 运行的 Spark 作业,那么您应该在程序中传递的文件中提供您的凭据,或者事先上传到您的租户帐户。跨度>
    猜你喜欢
    • 2012-06-09
    • 1970-01-01
    • 2020-02-27
    • 1970-01-01
    • 2011-01-08
    • 2015-04-11
    • 1970-01-01
    • 1970-01-01
    • 2012-08-27
    相关资源
    最近更新 更多