如何设置特定路径下的 OSS2 对象为公开访问并继承路径 ACL?

ID:21198 / 打印

如何设置特定路径下的 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/*"]     }   ] }

使用方法:

  1. 替换 my-bucket 为你的存储桶名称。
  2. 确保 sample/video/* 为你想要设置公开访问的路径。
  3. 使用 put_bucket_policy api 设置策略。

其他说明:

  • 所谓“公开访问”意味着匿名用户(principal 为 *)可以只读访问该路径下的对象。
  • 官方提供了多个 bucketpolicy 样例,可以参考这些样例来自定义策略。

通过使用 put_bucket_policy,你可以为特定路径设置公开访问权限,并让新插入的对象继承该路径的 acl。这提供了更精细的访问控制,更好地满足你的安全和共享需求。

上一篇: Python 类方法调用中的陷阱:如何直接调用内部对象的 __str__ 方法?
下一篇: Flask-SQLAlchemy 查询结果如何转换为 JSON 格式?

作者:admin @ 24资源网   2025-01-14

本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com

与本文相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。