← 返回全部文章

R2 私有访问:Binding、S3 API 与公开域名的边界

三种 R2 访问入口对应三套不同的认证与安全控制,需要在架构阶段明确区分。

R2SecurityWorkers

R2 可以通过 Worker Binding、S3 兼容 API 和公开域名访问。它们最终读写同一个 Bucket,但走的是不同入口。

Worker Binding

Binding 是授予 Worker 的平台能力,不是一次浏览器到 R2 的 HTTP 透传。原始请求中的 Cookie、Referer 或 Authorization 不会自动成为 R2 的访问条件,因此鉴权逻辑应当放在 Worker 或其前面的安全规则中。

S3 兼容 API

S3 API 是标准 HTTP 接口,需要 Access Key、临时凭证或者预签名 URL。它会校验签名与权限,但不会经过另一个自定义域名上的 WAF 规则。

公开域名

R2 Custom Domain 适合公开内容分发,并可以配合 Cloudflare Cache、WAF 和访问控制。如果 Bucket 应当保持私有,通常更清晰的做法是关闭公开入口,让用户统一访问 Worker 域名。

安全设计的关键不是叠加最多的开关,而是确保不存在没有纳入威胁模型的第二条访问路径。

感谢阅读