Google cloud storage 无法将Dataproc群集用于对用户访问受限的GCS多用户

Google cloud storage 无法将Dataproc群集用于对用户访问受限的GCS多用户,google-cloud-storage,google-cloud-dataproc,Google Cloud Storage,Google Cloud Dataproc,@霍丹尼斯 继续上述问题 我想为多用户设置dataproc集群。由于Dataproc群集的计算引擎使用默认服务或自定义服务帐户凭据连接到存储桶,因此使用--properties core:fs.gs.auth.service.account.json.keyfile,它与提交作业的用户主体没有任何关系,或者我找不到控制它的选项,这使得dataproc集群不安全,并产生了一个问题,在多用户环境中,当使用的密钥文件与主体文件不一致时,它引入了另一个间接级别。 在我的例子中,我们使用gcloud d

@霍丹尼斯

继续上述问题

我想为多用户设置dataproc集群。由于Dataproc群集的计算引擎使用默认服务或自定义服务帐户凭据连接到存储桶,因此使用
--properties core:fs.gs.auth.service.account.json.keyfile
,它与提交作业的用户主体没有任何关系,或者我找不到控制它的选项,这使得dataproc集群不安全,并产生了一个问题,在多用户环境中,当使用的密钥文件与主体文件不一致时,它引入了另一个间接级别。

在我的例子中,我们使用
gcloud dataproc jobs submit hadoop提交作业
,因为我的想法是使用IAM角色控制对dataproc集群的访问,但在作业提交过程中,用户主体没有进入hadoop集群,而且gcloud cli也没有对存储桶执行任何访问验证在客户端,作业始终作为
root
user执行。我可以知道如何将用户映射到他们的服务帐户吗?对于这种情况,您有什么解决方案吗

我们只需要用户使用
gcloud dataproc jobs submit提交的Hadoop Map Reduce,Hadoop
应该只能使用用户有权访问的存储桶或文件夹

当前:

gcloud dataproc作业(IAM-用户主体)dataproc群集(IAM-用户主体)(SA默认/自定义)存储桶

如果用户有权向Dataproc群集提交作业,则可以使用服务帐户有权访问的任何存储桶。

必填项:

gcloud dataproc作业(IAM-用户主体)dataproc群集(IAM-用户主体)(IAM-用户主体)存储桶

用户有权向Dataproc群集提交作业只能使用用户帐户有权访问的存储桶。

到目前为止,我找不到一个方法来做这件事。你能帮我吗

是否有解决此问题的方法或解决方案?

您可以尝试以下方法:

  • 添加自定义角色,例如为BucketA创建roleA/为BucketB创建roleB
  • 将服务帐户或IAM分配给此角色。例如,user1、user2、roleA、user1、user3、roleB
  • 通过编辑bucket权限,将成员添加到特定角色,例如bucketA->roleA
  • 然后,用户有权向Dataproc群集提交作业,但只能使用用户帐户有权访问的存储桶