这是 Beta 探索课程,内容结构、实验步骤和示例可能会继续调整。
私有文件签名访问
私有文件不能裸奔
私有文件(合同、私密附件)如果直接暴露对象存储地址,等于「URL 猜中就能下载」。即使加长随机串,也只是「靠 URL 复杂换安全」,不可靠。
正确做法是签名 URL:
GET /files/{file_id}/download-url
业务服务校验用户权限后,生成一个短期有效的 CDN 签名地址。
签名 URL 里有什么
签名 URL 通常包含:
- 文件路径(只允许访问这一个对象)。
- 过期时间(如 5 分钟,到期失效)。
- 用户范围 / 权限约束。
- 防盗链条件(来源、Referer 白名单)。
- HMAC 签名值。
用户拿着签名 URL 去 CDN,CDN 验签通过才放行。签名过期后,URL 作废,必须重新申请。
完整的私有访问链路
私有文件下载
用户请求下载私有文件
1 · 判断
校验用户权限
拥有者 / 协作者 / 指定角色?2 · 动作
生成短期签名 URL
限定文件、过期时间、来源3 · 动作
用户经 CDN 访问
CDN 验签,命中缓存直接返回4 · 判断
签名过期后失效
需重新申请,杜绝长期有效地址5 · 结果
记录下载审计
用户、文件、时间、来源加速与鉴权两不误
与访问模型的配合
签名 URL 是「私有 / 临时 / 隔离」文件的分发手段,配合第 7 章的访问模型:
- 公开文件:普通 CDN 长缓存,不需要签名。
- 私有文件:业务鉴权 + 短期签名 URL。
- 临时文件:签名 + 过期即删。
- 隔离文件:拒绝普通访问,只有审计人员能处理。
安全要点
- 签名密钥高强度、定期轮换。
- 签名 URL 里不含敏感业务信息(它就是临时通行证)。
- 下载日志与签名发放日志都要记录。
小结
私有文件的安全 = 「业务服务控制发放 + CDN 验签 + 短期过期 + 审计」。签名 URL 让你既能享受 CDN 加速,又能保留业务鉴权。
下一节看 CDN 回源保护——缓存失效时怎么防止回源风暴打垮源站。
