跳转到内容
搜索文档

身份验证

最后更新 查看 MarkdownAgent 设置

您可以生成 API 令牌,作为 Access Key 与现有 S3 兼容 SDK 或 XML API 一起使用。

您必须先购买 R2,才能生成 API 令牌。

创建 API 令牌:

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

    Go to Overview ↗
  2. Account Details(账户详情) 部分,选择 API Tokens(API 令牌) 旁的 Manage(管理)

  3. 选择创建以下之一:

    • Create Account API token(创建账户 API 令牌) - 这些令牌绑定到 Cloudflare 账户本身,可由任何授权系统或用户使用。只有 Super Administrator 角色的用户可以查看或创建它们。这些令牌在手动撤销前保持有效。
    • Create User API token(创建用户 API 令牌) - 这些令牌绑定到您的个人 Cloudflare 用户。它们继承您的个人权限,若您的用户从账户中移除则变为非活跃。
  4. Permissions(权限) 下,为令牌选择权限类型。有关每个选项的信息,请参阅权限

  5. (可选)若选择 Object Read and Write(对象读取和写入)Object Read(对象读取) 权限,可将令牌范围限定为一组存储桶。

  6. 选择 Create Account API token(创建账户 API 令牌)Create User API token(创建用户 API 令牌)

令牌成功创建后,查看 Secret Access Key(秘密访问密钥)Access Key ID(访问密钥 ID) 值。这些通常分别称为 Client Secret 和 Client ID。

您还需要在 S3 客户端中将 endpoint 配置为 https://<ACCOUNT_ID>.r2.cloudflarestorage.com

Cloudflare 仪表板中查找账户 ID

使用司法管辖区创建的存储桶必须通过特定司法管辖区端点访问:

  • 欧洲联盟 (EU):https://<ACCOUNT_ID>.eu.r2.cloudflarestorage.com
  • FedRAMP:https://<ACCOUNT_ID>.fedramp.r2.cloudflarestorage.com

权限

权限 描述
Admin Read & Write 允许创建、列出和删除存储桶,编辑存储桶配置,读取、写入和列出对象,以及读写数据目录表和关联元数据。
Admin Read only 允许列出存储桶和查看存储桶配置,读取和列出对象,以及从数据目录表和关联元数据读取。
Object Read & Write 允许读取、写入和列出特定存储桶中的对象。
Object Read only 允许读取和列出特定存储桶中的对象。

通过 API 创建 API 令牌

您可以通过 API 创建 API 令牌,并使用它们生成相应的 Access Key ID 和 Secret Access Key 值。入门请参阅 通过 API 创建 API 令牌。以下是 R2 的具体说明。

Access Policy

Access Policy 指定令牌可以访问的资源及其权限。

Resources

R2 有两种相关资源类型:AccountBucket。有关 Account 资源类型的更多信息,请参阅 Account

Bucket

包含一组 R2 存储桶或账户中的所有存储桶。

特定存储桶表示为:

"com.cloudflare.edge.r2.bucket.<ACCOUNT_ID>_<JURISDICTION>_<BUCKET_NAME>": "*"
  • ACCOUNT_ID:请参阅 查找 zone 和 account ID
  • JURISDICTION:R2 存储桶所在的司法管辖区。未在特定司法管辖区创建的存储桶此值为 default
  • BUCKET_NAME:Access Policy 适用的存储桶名称。

账户中所有存储桶表示为:

"com.cloudflare.api.account.<ACCOUNT_ID>": {
  "com.cloudflare.edge.r2.bucket.*": "*"
}

Permission groups

确定应应用哪些权限组

权限组

资源

描述

Workers R2 Storage Write

Account

可以创建、删除和列出存储桶,编辑存储桶配置,以及 读取、写入和列出对象。

Workers R2 Storage Read

Account

可以列出存储桶和查看存储桶配置,以及读取和列出 对象。

Workers R2 Storage Bucket Item Write

Bucket

可以读取、写入和列出存储桶中的对象。

Workers R2 Storage Bucket Item Read

Bucket

可以读取和列出存储桶中的对象。

Workers R2 Data Catalog Write

Account

可以读写数据目录。此权限允许 访问 Iceberg REST catalog 接口。

Workers R2 Data Catalog Read

Account

可以读取数据目录。此权限允许只读 访问 Iceberg REST catalog 接口。

示例 Access Policy

[
	{
		"id": "f267e341f3dd4697bd3b9f71dd96247f",
		"effect": "allow",
		"resources": {
			"com.cloudflare.edge.r2.bucket.4793d734c0b8e484dfc37ec392b5fa8a_default_my-bucket": "*",
			"com.cloudflare.edge.r2.bucket.4793d734c0b8e484dfc37ec392b5fa8a_eu_my-eu-bucket": "*"
		},
		"permission_groups": [
			{
				"id": "6a018a9f2fc74eb6b293b0c548f38b39",
				"name": "Workers R2 Storage Bucket Item Read"
			}
		]
	}
]

从 API 令牌获取 S3 API 凭据

您可以从 Create Token API 的响应中获取 Access Key ID 和 Secret Access Key 值:

  • Access Key ID:API 令牌的 id
  • Secret Access Key:API 令牌 value 的 SHA-256 哈希。

包含 JavaScript、Python 和 Go 示例的教程请参阅 使用 auth token 对 R2 API 进行身份验证

临时凭据

要签发从 API 令牌派生的短期、范围限定凭据,请使用临时凭据。R2 支持通过 Temporary Credentials API 生成,或通过使用父令牌 secret access key 签署 JWT 在本地生成。

这篇文档对您有帮助吗?