Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

認証

最終更新 Markdown で表示Agent セットアップ

既存の S3 互換 SDK や XML API の Access Key として使える API トークンを生成できます。

API トークンを生成するには、先に R2 を購入する必要があります。

API トークンを作成する手順は次のとおりです。

  1. Cloudflare ダッシュボードで R2 object storage ページを開きます。

    Overview を開く ↗
  2. Account Details セクションの API Tokens の横にある Manage を選びます。

  3. 次のどちらかを作成します。

    • Create Account API token — トークンは Cloudflare アカウント自体に紐づき、認可されたシステムやユーザーが使えます。表示と作成ができるのは Super Administrator ロールのユーザーだけです。手動で取り消すまで有効です。
    • Create User API token — トークンは自分の Cloudflare ユーザーに紐づきます。個人の権限を継承し、アカウントからユーザーが削除されると無効になります。
  4. Permissions で、トークンの権限タイプを選びます。各オプションの説明は 権限 を参照してください。

  5. (任意)Object Read and Write または Object Read を選んだ場合は、トークンの対象を特定のバケットに限定できます。

  6. Create Account API token または Create User API token を選びます。

トークンの作成が完了したら、Secret Access KeyAccess Key ID の値を確認します。それぞれ Client Secret、Client ID と呼ばれることもあります。

S3 クライアントの endpointhttps://<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 トークンを作成する

API で API トークンを作成し、対応する Access Key ID と Secret Access Key を生成できます。手順は API で API トークンを作成する を参照してください。以下は R2 固有の内容です。

アクセスポリシー

アクセスポリシーは、トークンがアクセスできるリソースと、付与する権限を指定します。

リソース

R2 で使うリソースタイプは AccountBucket の 2 つです。Account リソースタイプの詳細は Account を参照してください。

Bucket

アカウント内の特定の 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.*": "*"
}

権限グループ

適用する 権限グループ を決めます。

権限グループ

リソース

説明

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"
			}
		]
	}
]

API トークンから S3 API 認証情報を取得する

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 に署名してローカルで生成できます。

役に立ちましたか?