メモ代わりの小ネタ投稿です。
背景
自動で色々やらせたい
とあるプロジェクトでは開発の半自動化を進めています(※)。GitHub issue を作成すると、
- Claude Code が実装し PR 作成
- Codex がレビュー
- レビューが完了したらテスト環境に自動でデプロイし、通知が来る
その後、人間(私)がレビュー・動作確認をして、問題無ければマージ・本番環境へのデプロイを実施する、という流れです。
※: 別途記事を書こうと思います。
Cloudflare の同一アカウントにある他のプロジェクトには触らせたくない
最近 Cloudflare を良く使っています。現時点では、一つのアカウント内に複数のプロジェクトのサービスが混在しています。
上に書いたような自動化作業で間違いがあるといけないので、自動化処理の際にはプロジェクト内のリソースにだけしか権限を与えたくないです。
権限設定
API token を作成する
こうした用途のために Cloudflare には権限を細かく設定できる API token があります。管理画面より作成できます。
具体的な権限
この項は自分用のメモです。
- 特定の Worker を指定 -> Workers -> Workers Editor
- 特定の Domain を指定 -> Developer Platform -> Workers Routes -> Edit
- 特定の Domain を指定 -> DNS & Zones-> DNS -> Read, Edit
- 特定の Domain を指定 -> DNS & Zones-> Zone -> Read
これで、カスタムドメインにデプロイした Worker を npx wrangler deploy で更新できました。
使い方
CLI で CLOUDFLARE_ACCOUNT_ID と CLOUDFLARE_API_TOKEN 環境変数を設定しておくと、その API token の権限で wrangler コマンドなどを実行出来ます。
GitHub Actions などに組み込む場合も、それらの環境変数を設定するというところは変わらないはずです。
雑感
前回以下の記事を書きました。
おかねがないぼくのかんがえたさいきょうのかいはつかんきょう – もばらぶエンジニアブログ
プロジェクト毎に以下のものを別々にしています。
- OS ユーザー
- GitHub PAT
- Google アカウント
- etc.
今回、そこに Cloudflare も加わりました。
最近のサービスでは、こうしたトークンなどに細かい権限が設定できるというのは必須要件ですね。
まとめ
最近はセキュリティ問題が多く発生しています。事前に防げれば言うことはないですが、仮に何かの問題が発生したとしても影響範囲を少なくするために API token などの権限は最小限にする必要があります。
Cloudflare では API token に細かい権限を設定できます。Cloudflare 事態のサービス自体も便利なので、これからも活用していきたいと思います。