gpt4 book ai didi

java - 无法将角色分配给 GCP 中的服务帐户

转载 作者:行者123 更新时间:2023-12-01 18:08:43 25 4
gpt4 key购买 nike

我可以创建服务帐户,但在向服务帐户分配角色时遇到问题。这是我正在使用的方法

CloudResourceManager cloudResourceManagerService = createCloudResourceManagerService(clientId,
clientSecret);

GetIamPolicy getrequest = cloudResourceManagerService.projects().getIamPolicy(projectId,
new GetIamPolicyRequest());

Policy response = getrequest.execute();

//Modification to policy

List<String> members = response.getBindings().get(0).getMembers();
members.add("serviceAccount:name@my-project.iam.gserviceaccount.com");
response.getBindings().get(0).setMembers(members);

//=================设置策略========================

         String resource = "projects/" + projectId + "/serviceAccounts/" +
"name@my-project.iam.gserviceaccount.com";

SetIamPolicyRequest requestBody = new SetIamPolicyRequest().setPolicy(response);
SetIamPolicy setrequest = cloudResourceManagerService.projects().setIamPolicy(resource, requestBody);
Policy newResponse = setrequest.execute();

此代码没有给出任何错误,但也没有为所提供的服务帐户设置角色。

最佳答案

因为你正在调用projects.serviceAccounts.setIamPolicy ,并且因为您专门传递了 serviceAccount,所以您仅授予服务帐户编辑者角色本身

如果您希望服务帐户成为项目的编辑者,您必须调用projects.setIamPolicy并且您要指定的资源应该是项目本身。

正如 John Hanley 所说,您还需要将其作为读取-修改-写入周期来执行,如 described here .

关于java - 无法将角色分配给 GCP 中的服务帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60507593/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com