跳转到内容
搜索文档

使用 Cloudflare Access 保护 R2 存储桶

最后更新 查看 MarkdownAgent 设置

您可以使用 Cloudflare Access 保护对 R2 存储桶的访问。

Access 允许您根据定义的策略,仅允许组织内的特定用户、组或应用程序访问存储桶中的对象,或特定的子路径。

1. 创建存储桶

如果您已有 R2 存储桶,可以跳过此步骤。

您需要创建一个 R2 存储桶。在返回本指南之前,请按照 R2 快速入门指南 创建存储桶。

2. 创建 Access 应用程序

在 Cloudflare 仪表板的 Zero Trust 部分,您需要创建 Access 应用程序和策略以限制对 R2 存储桶的访问。

如果您之前未配置 Cloudflare Access,我们建议您:

  • 首先配置身份提供商,使 Access 能够使用您组织的单点登录 (SSO) 提供商作为身份验证方法。

要为 R2 存储桶创建 Access 应用程序:

  1. Cloudflare 仪表板中,前往 Zero Trust > Access controls(访问控制) > Applications(应用程序),然后选择 Create new application(创建新应用程序)

  2. 选择 Self-hosted and private(自托管和私有)

  3. 选择 Add public hostname(添加公共主机名) 并输入应用程序域名。Domain(域名) 必须是托管在 Cloudflare 上的域名,Subdomain(子域名) 是您将连接到 R2 存储桶的自定义域名的子域名部分。例如,如果您想从 behind-access.example.com 提供文件,且 example.com 是您 Cloudflare 账户中的域名,则在子域名字段中输入 behind-access,并从 Domain(域名) 列表中选择 example.com

  4. 添加 Access 策略 以控制谁可以连接到您的应用程序。这应该是 Allow(允许) 策略,以便用户可以访问此 Access 应用程序后面的存储桶中的对象。

  5. 按照剩余的自托管应用程序创建步骤发布应用程序。

3. 连接自定义域名

您需要将自定义域名连接到存储桶,才能将其配置为 Access 应用程序。确保自定义域名与您配置 Access 策略时输入的域名相同

  1. 在 Cloudflare 仪表板中,前往 R2 object storage(R2 对象存储) 页面。

    Go to Overview ↗
  2. 选择您的存储桶。

  3. 选择 Settings(设置)

  4. Custom Domains(自定义域名) 下,选择 Add(添加)

  5. 输入您要连接的域名,然后选择 Continue(继续)

  6. 查看将添加到 DNS 表的新记录,然后选择 Connect Domain(连接域名)

您的域名现已连接。状态需要几分钟才能从 Initializing(正在初始化) 变为 Active(活动),您可能需要刷新页面以查看状态更新。如果状态未更改,请选择存储桶旁边的 ...,然后选择 Retry connection(重试连接)

4. 测试 Access 策略

访问您连接到 R2 存储桶的自定义域名,应显示 Cloudflare Access 身份验证页面及您选择身份提供商和/或身份验证方法。

例如,如果您连接了 Google 和/或 GitHub 身份提供商,可以使用这些提供商登录。如果登录成功且您通过了本指南中配置的 Access 策略,您将能够访问(读取/下载)R2 存储桶中的对象。

如果无法身份验证或在身份验证后收到阻止页面,请检查 Access 应用程序中是否配置了Access 策略,明确允许与您用户账户关联的组。

后续步骤

这篇文档对您有帮助吗?