Cloudflare で特定のリソースにだけアクセス出来るようにする

Cloudflare で特定のリソースにだけアクセス出来るようにする

メモ代わりの小ネタ投稿です。

背景

自動で色々やらせたい

とあるプロジェクトでは開発の半自動化を進めています(※)。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 事態のサービス自体も便利なので、これからも活用していきたいと思います。

we are hiring

優秀な技術者と一緒に、好きな場所で働きませんか

株式会社もばらぶでは、優秀で意欲に溢れる方を常に求めています。働く場所は自由、働く時間も柔軟に選択可能です。

現在、以下の職種を募集中です。ご興味のある方は、リンク先をご参照下さい。

コメントを残す