0
Java 클라우드 스토리지 버킷에 대한 ACL을 Java 클라이언트를 사용하여 나열하려고합니다. 나는이 같은 클라이언트를 만드는 오전 : GCP 클라우드 저장소 : 403- Storage.BucketAccessControls.List` 요청을 실행하는 동안 금지됨
// 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
요청을 실행하지만
Storage.BucketAccessControls.List
요청을 실행하는 동안
403 오류가 얻을입니다.
서비스 계정 자격 증명을 사용하고 있습니다. 이것은 내가 얻은 오류입니다
com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden
{
"code" : 403,
"errors" : [ {
"domain" : "global",
"message" : "Forbidden",
"reason" : "forbidden"
} ],
"message" : "Forbidden"
}
이 경우 요청을 인증하는 올바른 방법은 무엇입니까?
예, 내 서비스 계정에 저장소 관리 권한을 제공해야했습니다. 이미 'project.viewer' 권한을 가지고 있기는하지만 스토리지 버킷에도 적용 할 것으로 예상됩니다. 스토리지 권한이 독립적으로 작동하는 것 같습니다. – Jatin