記事一覧 プロジェクト集 検索 このサイトについて
RSS English

GitHub App と Cloudflare Access で構築する組織向け管理コンソール

本記事は生成AIと共同で執筆しています。事実関係は可能な範囲で公式ドキュメント等と照合していますが、誤りが含まれている可能性があります。重要な判断を行う前にご自身でも一次情報をご確認ください。 ある組織で運用している複数のデータベースサイトについて、データ更新を担当する非エンジニアの方が自分で再ビルドや再インデックスを実行できるよう、統合の管理コンソールを構築しました。 GitHubアカウントもVercelアカウントも持たない作業者が、Webブラウザだけで操作できるようにするのが目的です。本記事ではその構成、特に GitHub への認証で Personal Access Token (PAT) ではなく GitHub App を選んだ理由 と、フロント側を Cloudflare Access (Zero Trust) で守ることでアプリ側の認証コードを省いた設計を整理します。 構成 [作業者] ↓ メール認証(Cloudflare Access / Zero Trust) [admin.example.com] ← Next.js on Cloudflare Pages ↓ GitHub App (installation token) [GitHub Actions: workflow_dispatch] ↓ [各リポジトリの admin.yml が npm run es:sync などを実行] ホスティング: Cloudflare Pages(@opennextjs/cloudflare) 認証: Cloudflare Access(メールワンタイムパスワード) 認可(vs GitHub): GitHub App の Installation Token 実行基盤: GitHub Actions の workflow_dispatch 各サイトにあらかじめ用意してある npm run es:sync 等のスクリプトをそのまま GitHub Actions から呼ぶ形にしたため、既存スクリプトには手を入れていません。 ...