キャッシュ削除用の Cloudflare API トークンを作る
キャッシュを削除できる Cloudflare API トークンに必要な権限は2つだけです。ゾーン一覧の取得に Zone → Zone → Read、キャッシュの削除に Zone → Cache Purge → Purge。作成は dash.cloudflare.com の「マイプロフィール → API トークン → トークンを作成」から、カスタムトークンのテンプレートを選びます。
最終更新:
Cloudflare の API に認証する方法は2つありますが、まともなのは片方だけです。このガイドで扱うのはそちら、つまり権限を絞ったAPIトークンで、できることは2つだけ、それ以外は何もできません。
必要な2つの権限
API 経由のキャッシュ削除は2つのエンドポイントに触れるため、トークンにも2つの権限が要ります。
| 権限 | できること | 必須か |
|---|---|---|
Zone → Zone → Read | アカウント内のゾーンを名前と ID つきで一覧する | 必須 |
Zone → Cache Purge → Purge | そのゾーンのキャッシュ済みコンテンツを削除する | 必須 |
Account → Account Settings → Read | アカウント名を読み、ゾーンをアカウント別にまとめる | 任意 |
リストはこれで全部です。パージ用トークンが DNS レコードを読んだり、ファイアウォールのルールをいじったり、SSL 設定に近づいたりする理由はありません。万一漏れても、持ち主にできる最悪のことはキャッシュを空にすることだけです。
トークン作成の手順
- dash.cloudflare.com にログインします。
- 右上のプロフィールメニューからマイプロフィールを開き、API トークンタブへ。直リンクは
dash.cloudflare.com/profile/api-tokensです。 - トークンを作成を押し、テンプレートを飛ばしてカスタムトークンを作成を選びます。
- 半年後の自分がわかる名前を付けます。token 3 より FlarePurge — iPhone のほうがまし。端末ごとに1つ作っておけば、失くした端末の分だけを失効できます。
- 権限で
Zone·Zone·Readを追加し、続けてZone·Cache Purge·Purgeを追加します。 - ゾーンリソースで、トークンが届く範囲を決めます。すべてのゾーンが楽な選択、特定のゾーンが慎重な選択です。
- 固定 IP でないかぎりIP アドレスフィルタは空のままに。スマートフォンはネットワークが頻繁に変わるので、この設定はいずれ自分を締め出します。
- 自動で失効させたいならTTLを設定します。外部の協力者には有効ですが、自分の端末には不要です。
- 概要に進むを押し、上の2つの権限だけが並んでいることを確認してトークンを作成で確定します。
Global API Key を使わない理由
Global API Key は古い認証方式で、メールアドレスと1つのキーだけでアカウント内のすべてのゾーンとすべての設定に対する完全な管理者権限を与えます。範囲を絞ることも、1つの操作に限定することもできません。
Global API Key を求めるアプリは、キャッシュを空にするボタンを押すために、あなたの DNS とファイアウォールと SSL 設定と請求情報の鍵をまとめて要求しているわけです。FlarePurge は意図的に受け付けません。それを要求してくるツールがあるなら、そのツールについて何かがわかります。
トークンが使えるか確認する
どこかに貼り付ける前に、どの端末のターミナルからでもトークンを検証できます。Cloudflare にはそのためのエンドポイントがあります。
curl -s https://api.cloudflare.com/client/v4/user/tokens/verify \
-H "Authorization: Bearer あなたのトークン" | jq正常なトークンは "status": "active" を返します。Invalid API Token が返るなら、ほぼ確実にコピーが途中で切れています。値が長いので途切れやすいのです。
有効なだけでなく権限も正しいことを確かめるには、ゾーンを一覧してみます。
curl -s "https://api.cloudflare.com/client/v4/zones?per_page=5" \
-H "Authorization: Bearer あなたのトークン" | jq '.result[].name'ドメインが返ってくれば Zone:Read は入っています。success: true で空のリストが返る場合、トークンは有効でもゾーンリソースにゾーンが1つも含まれていません。戻って範囲を広げてください。
トークンの保管場所
パージ用トークンは認証情報であり、そのように扱うべきものです。FlarePurge は OS の安全な保管領域に置きます。Apple プラットフォームならキーチェーン、Android なら Keystore、Windows なら資格情報マネージャーです。平文のファイルや設定 plist には決して置きません。
- 端末ごとに1つ。ノートパソコンを盗まれても、失効させるのは1つだけで、全部を再発行せずに済みます。
- 使い回さず失効させる。ダッシュボードでの削除は即座に効き、コピーを持っている相手には何もできなくなります。
- チャットやチケットに貼らない。ダッシュボードのスクリーンショットも漏洩です。作成画面にはトークンが写っています。
- 監査ログを見る。Cloudflare は「アカウント管理 → 監査ログ」にトークンの利用を記録するので、身に覚えのないパージは見つかります。
次のステップ
トークンができたら、次はどの種類のパージを実行するかです。全消しは速くて大雑把、URL 指定は正確ですが準備に手間がかかります。比較はこちら。大量のパージで上限に当たる場合はAPI の制限を確認してください。