【问题标题】:manage dataproc cluster access using service account and IAM roles使用服务帐号和 IAM 角色管理 dataproc 集群访问
【发布时间】:2020-07-29 01:33:49
【问题描述】:

我是云初学者,希望在我的项目中限制我的 dataproc cluster 对给定 gcs buckets 的访问。

假设我创建了一个名为 'data-proc-service-account@my-cloud-project.iam.gserviceaccount.com'service account 然后我创建一个 dataproc 集群并为其分配服务帐户。

现在我创建了两个 gcs 存储桶,命名为

'gs://my-test-bucket/spark-input-files/'
'gs://my-test-bucket/spark-output-files/'

这些存储桶包含一些输入文件,这些文件需要由运行在我的 dataproc 集群上的 spark 作业访问,并且还充当我的 spark 作业可以写入一些输出文件的位置。

我想我必须去编辑我的存储桶权限,如给定链接所示。 Edit Bucket Permission

我希望我的 spark 作业只能从这个特定的存储桶 'gs://my-test-bucket/spark-input-files/' 中读取文件。 如果他们正在写入 gcs 存储桶,他们只能写入 ''gs://my-test-bucket/spark-output-files/'

这里的问题是:(很可能是与 SRE 资源相关的问题)

需要将所有 IAM 权限添加到我的数据处理服务帐户中 data-proc-service-account@my-cloud-project.iam.gserviceaccount.comIAM 控制台页面上。

以及需要为给定的特定存储桶添加哪些所有读/写权限,我认为必须通过添加成员并为其分配正确权限来配置。 (如上述链接所示)

我是否需要将我的数据处理服务帐户添加为成员,并且可以在这两个角色下面添加。这行得通吗?

Storage Object Creator  for bucket 'gs://my-test-bucket/spark-output-files/
Storage Object Viewer   for bucket 'gs://my-test-bucket/spark-input-files/'

如果我遗漏了什么或者可以做更好的事情,也请告诉我。

【问题讨论】:

    标签: apache-spark google-cloud-platform google-cloud-storage google-cloud-dataproc sre


    【解决方案1】:

    根据Dataproc IAM doc

    To create a cluster with a user-specified service account, the specified service
    account must have all permissions granted by the Dataproc Worker role. Additional
    roles may be required depending on configured features.
    

    dataproc.worker 角色拥有一系列与 GCS 相关的权限,包括 storage.objects.getstorage.objects.create 之类的权限。这些适用于任何存储桶。

    您想要做的是,为您的服务帐号提供与 dataproc.worker 角色几乎相同的权限,但将所有 storage.xxx.xxx 权限限制为 Dataproc 暂存存储桶。然后,添加对输出存储桶的写入权限和对输入存储桶的读取权限。

    或者,您可以在运行 Spark 作业时使用与 Dataproc 服务帐号不同的服务帐号。此作业特定服务帐户只需要对输入存储桶的读取权限和对输出存储桶的写入权限。假设您使用 GCS 连接器(预装在 Dataproc 集群上)来访问 GCS,您可以按照找到的说明进行操作 here。但在这种情况下,您必须在工作节点之间分发服务帐户密钥或将其放在 GCS/HDFS 中。

    【讨论】:

    • 感谢您的意见。我将对此进行更多检查。
    猜你喜欢
    • 2020-08-22
    • 2022-06-11
    • 2021-05-27
    • 2021-07-25
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-18
    相关资源
    最近更新 更多