为了账号安全,请及时绑定邮箱和手机立即绑定

如何以编程方式禁用 S3 公共访问

如何以编程方式禁用 S3 公共访问

神不在的星期二 2023-01-05 16:49:03

我正在尝试使用 Java SDK 以编程方式删除对我们的 S3 存储桶的公共访问权限。

我已经使用 成功创建了我们的存储桶s3Client.createBucket(new CreateBucketRequest(bucketName))当我在控制台 ( https://s3.console.aws.amazon.com/s3/home?region=eu-west-2 )中查看此存储桶时,它在“访问”下显示“对象可以公开”。

然后我尝试使用看起来大致像我需要的唯一方法禁用公共访问,即deletePublicAccessBlock,所以我的代码行是:s3Client.deletePublicAccessBlock(new DeletePublicAccessBlockRequest().withBucketName(bucketName))

运行此代码后,控制台仍会在“访问”下显示“对象可以公开”。

如何以编程方式将此存储桶设为私有?


查看完整描述

1 回答

?
狐的传说

TA贡献1550条经验 获得超3个赞

您实际上需要 PublicAccessBlock。因此,您需要在您的方法中调用 putPublicAccessBlock 而不是 deletePublicAccessBlock。 https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-examples

或者,如果您只想将整个帐户的存储桶翻转为不公开,您可以简单地使用帐户级别的公共访问块,它只是将属于该帐户的每个存储桶翻转为私有。

编辑:

示例 1 用于存储桶级别的访问块,示例 2 用于帐户级别的访问块。

您需要将示例中的“值”替换为 Boolean:true。


查看完整回答
反对 回复 2023-01-05

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信