@ dennis-huo
Using non-default service account in Google Cloud dataproc
继续上述问题
我想为多用户设置一个dataproc集群。由于Dataproc集群的计算引擎使用默认服务或自定义服务帐户凭据通过--properties core:fs.gs.auth.service.account.json.keyfile
连接到存储桶,因此与提交作业的用户主体没有任何关系,或者我找不到选择控制它,这会使dataproc集群不安全并产生一个问题,当所使用的密钥文件与主体不对应时,它会在多用户环境中引入另一个间接级别。 < / p>
在我的情况下,我们正在使用gcloud dataproc jobs submit hadoop
提交作业,因为我的想法是使用IAM角色来控制对dataproc集群的访问,但是在提交作业期间,用户主体并没有进入hadoop集群,而且gcloud cli不会在客户端的存储桶上执行任何访问验证,该作业始终以root
用户的身份执行。我可以知道如何将用户映射到他们的服务帐户吗?您对此情况有解决方案吗?
我们需要的是使用gcloud dataproc jobs submit hadoop
的用户提交的Hadoop Map Reduce应该只能使用用户有权访问的存储分区或文件夹。
当前
:gcloud dataproc作业(IAM-用户主体) -> Dataproc集群(IAM-用户主体) -> (SA默认/自定义) -> 存储桶
如果用户有权向Dataproc集群提交作业,则可以使用服务帐户有权访问的任何存储桶。
必填:
gcloud dataproc作业(IAM-用户主体) -> Dataproc集群(IAM-用户主体) -> (IAM-用户主体) -> 存储桶
用户有权向Dataproc集群提交作业只能使用用户帐户有权访问的存储桶。
到目前为止,我还没有找到一种方法。你能帮我吗
此问题是否有任何解决方法或解决方案?
答案 0 :(得分:0)
您可以尝试以下方法:
然后,该用户有权向Dataproc集群提交作业,只能使用该用户帐户有权访问的存储桶。