如何设置特定路径下的 OSS2 对象为公开访问并继承路径 ACL?
如何设置特定路径下的 oss2 对象为公开访问并继承路径 acl
oss2 提供了全面的访问控制功能,允许细分到特定路径下的对象。要设置特定路径下的所有对象的公开访问权限,并让新插入的对象继承该路径的 acl,可以考虑以下方法:
解决方案:
使用 put_bucket_policy api 而不是 put_bucket_acl。
put_bucket_policy 允许指定细粒度的 bucketpolicy 来控制特定路径的访问权限。下面是一个示例策略:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "s3:GetObject", "Resource": ["arn:aws:s3:::my-bucket/sample/video/*"] } ] }
使用方法:
- 替换 my-bucket 为你的存储桶名称。
- 确保 sample/video/* 为你想要设置公开访问的路径。
- 使用 put_bucket_policy api 设置策略。
其他说明:
- 所谓“公开访问”意味着匿名用户(principal 为 *)可以只读访问该路径下的对象。
- 官方提供了多个 bucketpolicy 样例,可以参考这些样例来自定义策略。
通过使用 put_bucket_policy,你可以为特定路径设置公开访问权限,并让新插入的对象继承该路径的 acl。这提供了更精细的访问控制,更好地满足你的安全和共享需求。