若您存储在阿里云对象存储OSS(Object Storage Service)中的 ACL 设置为公共读或公共读写权限,请注意根据《网络安全法》《网络信息内容生态治理规定》等法律法规要求,确保存储内容合法合规。若因公开传播导致违法不良信息扩散,阿里云将依据违规严重程度采取数据冻结、账户功能限制等处置措施,极端情况下可能终止服务并追究法律责任。建议您合理设置访问权限,非必要不设置为公共读或公共读写权限,并定期使用内容安全工具自检并配置自动化清理策略,切实防范因违法有害内容引发的安全风险。
合理设置访问权限
默认情况下Bucket及Object的访问权限为私有,但部分用户为便利性将Bucket改为公共读或者公共读写权限(Object默认继承Bucket的访问权限),此类操作存在显著风险:
公共读Object可通过URL被任意访问,导致数据泄露与非法传播。
公共读写权限可能导致数据被非法篡改或传播,建议仅在评估无安全风险的临时场景下使用。
部分场景(如静态网站托管)要求Bucket为公共读权限,需结合业务需求权衡安全性与可用性。
可能被黑产利用进行流量盗刷及恶意爬取。
您可以通过以下步骤合理设置访问权限。
将Bucket ACL设置为私有。
(可选)通过RAM策略细化权限。
如果需要实现更细致的权限控制,例如向指定的RAM用户授予访问Bucket内某个目录下所有文件的读取权限,您可以创建RAM Policy并将该策略绑定至目标RAM用户、RAM用户组或RAM角色。这样,您就可以灵活地控制哪些用户能够访问哪些指定的资源。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "oss:GetObject" ], "Resource": [ "acs:oss:*:*:mybucket/hangzhou/2014/*", "acs:oss:*:*:mybucket/hangzhou/2015/*" ] } ] }验证权限效果。
使用不同账号或匿名访问测试Bucket,确认权限是否符合预期。例如公共读权限下,可通过文件URL直接访问资源;私有权限下,需通过预签名URL或RAM授权访问。
使用内容安全检测工具自检
若您因业务需求需开放Bucket的公共读权限,请务必同步开启内容审核服务以规避潜在风险。通过内容审核功能,可对数据进行智能检测,并针对敏感内容实施自动冻结,有效阻断违规数据的传播。您可以通过OSS创建内容安全检测规则,配置审核范围(全量、目录或文件前缀),并选择预设或自定义策略,结合智能后缀识别,精准、高效地检测多种违规内容。
限制HTTPS访问
HTTPS通过SSL/TLS协议对数据进行加密传输,防止数据在传输过程中被窃取和篡改,同时验证服务器身份,防止中间人攻击,从而有效提升内容的安全性和完整性。
OSS服务提供的自有域名默认支持HTTPS方式访问。如果您希望通过HTTPS 方式使用自定义域名或 CDN 加速域名访问 OSS,需要为该域名绑定SSL证书。
限制HTTPS访问。
强制匿名用户对某个Bucket内资源的所有请求访问方式为HTTPS,需要配置以下Bucket Policy:
{ "Version": "1", "Statement": [{ "Effect": "Deny", "Action": [ "oss:*" ], "Principal": [ "*" ], "Resource": [ "acs:oss:*:*:examplebucket", "acs:oss:*:*:examplebucket/*" ], "Condition": { "Bool": { "acs:SecureTransport": [ "false" ] } } } ] }重要强制HTTPS可能导致部分客户端(如未支持HTTPS的SDK或浏览器)无法访问,需提前测试。
验证HTTPS访问。
通过浏览器或工具(如
curl)使用HTTPS访问(如https://<bucket-name>.oss-regionid.aliyuncs.com),返回状态码为200。如果使用HTTP访问(如http://<bucket-name>.oss-regionid.aliyuncs.com),返回状态码400。
绑定自定义域名
绑定自定义域名至Bucket默认域名后,通过自定义域名访问OSS资源时,实际请求不会直接暴露OSS默认域名和底层存储地址,避免OSS默认域名被拦截,确保资源正常访问。