Google cloud platform 使用服务帐户为公共访问创建存储桶

Google cloud platform 使用服务帐户为公共访问创建存储桶,google-cloud-platform,google-cloud-storage,Google Cloud Platform,Google Cloud Storage,我以编程方式创建一个bucket,如下所示: String bucketName=UUID.randomUUID().toString(); 名单 这是我能看到的手动和自动创建的bucket之间的唯一区别,所以我的问题是 如何以编程方式添加此权限?中实际上有一个示例 显然,我们必须先创建bucket,然后再设置IAM策略 BucketInfo BucketInfo=BucketInfo .新造船商(bucketName) .setLocation(gcsBucketEntity.getLocat

我以编程方式创建一个bucket,如下所示:

String bucketName=UUID.randomUUID().toString();
名单

这是我能看到的手动和自动创建的bucket之间的唯一区别,所以我的问题是


如何以编程方式添加此权限?

中实际上有一个示例

显然,我们必须先创建bucket,然后再设置IAM策略

BucketInfo BucketInfo=BucketInfo
.新造船商(bucketName)
.setLocation(gcsBucketEntity.getLocation())//多区域
.setStorageClass(valueOfStrict(gcsBucketEntity.getStorageType().toString())
.build();
Bucket=this.storage.create(bucketInfo);
if(gcsBucketEntity.isPublic()){
Policy Policy=this.storage.getIamPolicy(bucketName);
此文件为.storage.setIamPolicy(
bucket.getName(),
policy.toBuilder()
.addIdentity(StorageRoles.objectViewer(),Identity.allUsers())
.build()
);
}
这有点奇怪,因为如果出了什么问题,我可能会以一个“坏”桶结束


无论如何,上面的代码对我很有用。

中实际上有一个示例

显然,我们必须先创建bucket,然后再设置IAM策略

BucketInfo BucketInfo=BucketInfo
.新造船商(bucketName)
.setLocation(gcsBucketEntity.getLocation())//多区域
.setStorageClass(valueOfStrict(gcsBucketEntity.getStorageType().toString())
.build();
Bucket=this.storage.create(bucketInfo);
if(gcsBucketEntity.isPublic()){
Policy Policy=this.storage.getIamPolicy(bucketName);
此文件为.storage.setIamPolicy(
bucket.getName(),
policy.toBuilder()
.addIdentity(StorageRoles.objectViewer(),Identity.allUsers())
.build()
);
}
这有点奇怪,因为如果出了什么问题,我可能会以一个“坏”桶结束

不管怎样,上面的代码对我很有用