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