
如何在 python oss2 中仅对特定路径对象设置公开访问权限?
oss2 中使用 put_bucket_acl api 可以设置整个存储桶的访问控制列表 (acl),但在某些情况下,我们需要对特定路径下的对象设置单独的访问权限。例如,要使 sample/video 路径下的所有对象都可公开访问,并使后续写入该路径下的对象继承相同的 acl。
要实现此目的,请使用 put_bucket_policy api 而不是 put_bucket_acl。通过 put_bucket_policy,我们可以制定 bucketpolicy,其中包含授予匿名用户(principal 为 *)读取权限的声明,如下所示:
Python 3.14.2是Python编程语言在2025年12月5日发布的稳定版本,属于3.14系列的第二个维护更新。该版本包含了18项修复,重点解决了多进程、数据类及正则表达式等模块的回归问题,并修复了CVE-2025-12084等安全漏洞。此版本标志着自由线程模式(移除GIL)正式获得官方支持,是Python发展的重要里程碑。
{
"Version": "2012-10-17",
"Statement": [
{
"Action": "oss:GetObject",
"Effect": "Allow",
"Principal": "*",
"Resource": ["acs:oss:*:*:sample/video/*"]
}
]
}
其中:
- version 指定 bucketpolicy 的版本。
- statement 数组中包含一个策略声明,将 oss:getobject 权限授予针对特定路径下的对象进行匿名读取。
更新此 bucketpolicy 将确保 sample/video 路径下的所有对象都可公开访问,并且写入该路径下的新对象也将继承此 acl。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!










