当限制 S3 对象仅访问 CloudFront 时,ACL 值应该是什么?

当限制 S3 对象仅访问 CloudFront 时,ACL 值应该是什么?

我跟着https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html

但是我无法弄清楚当我上传到 s3 bucket 时 AWS.S3.PutObjectRequest 上的 ACL 应该是什么。可能的值:“private”|“public-read”|“public-read-write”|“authenticated-read”|“aws-exec-read”|“bucket-owner-read”|“bucket-owner-full-control”

使用 JavaSript SDK 目前我有“public-read”,我知道我应该更改它,但我不确定哪个最适合这种情况。我最初的想法是“private”。

答案1

private是正确的,但并非绝对必要,因为这是默认行为。不指定 ACL 或指定“私有”预制 ACL 完全相同。

private | 存储桶和对象 | 所有者获得 FULL_CONTROL。其他任何人都无权访问(默认)。

https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl

“没有其他人有访问权限”实际上意味着没有其他人拥有 ACL 授予的访问权限因为存储桶拥有者可以使用存储桶策略(或 IAM 用户/角色策略,尽管这不适用于通过存储桶策略授予访问权限的来源访问身份)授予对其拥有的对象的访问权限。

相关内容