我正在嘗試使用 Java SDK 以編程方式刪除對我們的 S3 存儲桶的公共訪問權限。我已經使用 成功創(chuàng)建了我們的存儲桶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貢獻1804條經驗 獲得超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。
添加回答
舉報
0/150
提交
取消