既存の S3 互換 SDK や XML API の Access Key として使える API トークンを生成できます。
API トークンを生成するには、先に R2 を購入する必要があります。
API トークンを作成する手順は次のとおりです。
-
Cloudflare ダッシュボードで R2 object storage ページを開きます。
Overview を開く ↗ -
Account Details セクションの API Tokens の横にある Manage を選びます。
-
次のどちらかを作成します。
- Create Account API token — トークンは Cloudflare アカウント自体に紐づき、認可されたシステムやユーザーが使えます。表示と作成ができるのは Super Administrator ロールのユーザーだけです。手動で取り消すまで有効です。
- Create User API token — トークンは自分の Cloudflare ユーザーに紐づきます。個人の権限を継承し、アカウントからユーザーが削除されると無効になります。
-
Permissions で、トークンの権限タイプを選びます。各オプションの説明は 権限 を参照してください。
-
(任意)Object Read and Write または Object Read を選んだ場合は、トークンの対象を特定のバケットに限定できます。
-
Create Account API token または Create User API token を選びます。
トークンの作成が完了したら、Secret Access Key と Access Key ID の値を確認します。それぞれ Client Secret、Client ID と呼ばれることもあります。
S3 クライアントの endpoint は https://<ACCOUNT_ID>.r2.cloudflarestorage.com に設定する必要があります。
アカウント ID は Cloudflare ダッシュボードで確認できます。
管轄(jurisdiction)付きで作成したバケットは、管轄専用エンドポイントからアクセスします。
- 欧州連合(EU):
https://<ACCOUNT_ID>.eu.r2.cloudflarestorage.com - FedRAMP:
https://<ACCOUNT_ID>.fedramp.r2.cloudflarestorage.com - 米国(US):
https://<ACCOUNT_ID>.us.r2.cloudflarestorage.com
| 権限 | 説明 |
|---|---|
| Admin Read & Write | バケットの作成・一覧・削除、バケット設定の編集、オブジェクトの読み取り・書き込み・一覧、データカタログのテーブルと関連メタデータの読み書きができます。 |
| Admin Read only | バケットの一覧とバケット設定の表示、オブジェクトの読み取りと一覧、データカタログのテーブルと関連メタデータの読み取りができます。 |
| Object Read & Write | 特定バケット内のオブジェクトの読み取り、書き込み、一覧ができます。 |
| Object Read only | 特定バケット内のオブジェクトの読み取りと一覧ができます。 |
API で API トークンを作成し、対応する Access Key ID と Secret Access Key を生成できます。手順は API で API トークンを作成する を参照してください。以下は R2 固有の内容です。
アクセスポリシーは、トークンがアクセスできるリソースと、付与する権限を指定します。
R2 で使うリソースタイプは Account と Bucket の 2 つです。Account リソースタイプの詳細は Account を参照してください。
アカウント内の特定の R2 バケット、またはすべてのバケットを含めます。
特定のバケットは次のように表します。
"com.cloudflare.edge.r2.bucket.<ACCOUNT_ID>_<JURISDICTION>_<BUCKET_NAME>": "*"ACCOUNT_ID: ゾーン ID とアカウント ID の確認 を参照してください。JURISDICTION: R2 バケットがある 管轄 です。特定の管轄で作成していないバケットでは、この値はdefaultになります。BUCKET_NAME: アクセスポリシーを適用するバケット名です。
アカウント内のすべてのバケットは次のように表します。
"com.cloudflare.api.account.<ACCOUNT_ID>": {
"com.cloudflare.edge.r2.bucket.*": "*"
}ACCOUNT_ID: ゾーン ID とアカウント ID の確認 を参照してください。
適用する 権限グループ を決めます。
権限グループ | リソース | 説明 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 インターフェースへの読み取り専用アクセスができます。 |
[
{
"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"
}
]
}
]Access Key ID と Secret Access Key は、Create Token API のレスポンスから取得できます。
- Access Key ID: API トークンの
idです。 - Secret Access Key: API トークン
valueの SHA-256 ハッシュです。
JavaScript、Python、Go の例は 認証トークンで R2 API に対して認証する を参照してください。
API トークンから派生した、有効期限の短いスコープ付き認証情報を発行するには、一時的な認証情報 を使います。R2 では Temporary Credentials API で生成するか、親トークンの secret access key で JWT に署名してローカルで生成できます。