但是我无法弄清楚当我上传到 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 用户/角色策略,尽管这不适用于通过存储桶策略授予访问权限的来源访问身份)授予对其拥有的对象的访问权限。