gpt4 book ai didi

google-cloud-platform - GCP云存储: 403-Forbidden while executing `Storage.BucketAccessControls.List` request

转载 作者:行者123 更新时间:2023-12-02 20:46:58 24 4
gpt4 key购买 nike

我正在尝试使用 Java 客户端列出 Google 云存储桶的 ACL。我正在像这样创建客户端:

  // create client
GoogleCredential credential = GoogleCredential.fromStream(jsonCredentialsString));

if(credential.createScopedRequired()) {
credential = credential.createScoped(StorageScopes.all());
}

HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JsonFactory jsonFactory = JacksonFactory.getDefaultInstance();

return new Storage.Builder(httpTransport, jsonFactory, credential)
.setApplicationName("app")
.build();

现在使用此客户端,我得到 200 OK 来执行 Buckets.List 请求,但在运行 时收到 403 错误Storage.BucketAccessControls.List 请求。

我正在使用服务帐户凭据。这是我收到的错误

com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden
{
"code" : 403,
"errors" : [ {
"domain" : "global",
"message" : "Forbidden",
"reason" : "forbidden"
} ],
"message" : "Forbidden"
}

在这种情况下验证请求的正确方法是什么?

最佳答案

你的代码没问题。导致 403 的原因是您的服务帐户的权限。看看如何 authenticate for Storage使用 IAM。 您还可以在资源级别(逐个存储桶)执行此操作,以允许更精细的访问。

基本上,要允许对存储进行任何 API 调用,您可以为其授予存储管理员角色。最简单的方法是导航到 Console-IAM & Admin。

关于google-cloud-platform - GCP云存储: 403-Forbidden while executing `Storage.BucketAccessControls.List` request,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43974522/

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