私は先日、Cloudflare で公開しているプライベートなWebサイトに、
よりセキュアなアクセス制御を導入しようとソーシャルログインを設定してみました。
Cloudflare Zero Trust を活用したのですが、
正直なところ、貴重な休日の午前がこの設定作業で溶けてしまいまして……。
「これは同じ道を辿る同志のために記録せねば!」という技術者魂(と少しの悔しさ)に駆られ、
その手順をここにまとめさせていただきます。
きっと皆さんの役にも立つはずです!
前提条件
本記事では、Cloudflare Zero Trust を用いて GitHub ユーザーによるソーシャルログインを設定し、
特定のユーザーのみにアクセスを制限する手順を解説します。
以下の前提条件をご確認の上、読み進めてくださいね。
- Cloudflare Zero Trust のアカウントをお持ちであること
- Cloudflare にドメインを登録済みであること
- github.com のアカウントをお持ちであること
- アクセス制限の対象がセルフホスト型のアプリケーションであること
- 本情報は2025年12月時点のものです
ID プロバイダーの統合 の設定
まずは、Cloudflare Zero Trust のダッシュボードにログインしましょう。
左側のメニューから「インテグレーション」>「ID プロバイダー」を選択します。

表示された画面で ID プロバイダーの追加 ボタンをクリックし、リストの中から GitHub を選びます。

ページの右側にセットアップ手順が表示されます。
「これを見れば一発解決!」…とまではいかないのが世の常ですよね。
念のため、細部まで丁寧に解説していきましょう!

この後、GitHub 側で OAuth アプリケーションを作成する必要があるのですが、
その際に Cloudflare 側から以下の情報が必要となります。
- Homepage URL
- Authorization callback URL
Cloudflare の設定画面をよく見ると、Homepage URL は https://<your-team-name>.cloudflareaccess.com、
Authorization callback URL は https://<your-team-name>.cloudflareaccess.com/cdn-cgi/access/callback
と記載されていますね。
<your-team-name> の部分は Cloudflare Zero Trust のチーム名に置き換える必要があります。
「あれ、自分のチーム名って何だっけ?」と忘れてしまった方もご安心を。
(ええ、私も一度見失いましたとも!)
設定ページにちゃんと記載されているので、焦らず確認してくださいね。

Github OAuth アプリケーションの作成
それでは、GitHub 側の設定に移りましょう。
https://github.com/settings/developers にアクセスし、
OAuth Apps タブを選択します。

New OAuth App ボタンをクリックして、新しい OAuth アプリケーションを登録します。
先ほど Cloudflare 側で確認した情報を使って、Application name、Homepage URL、
Authorization callback URL などを正確に入力しましょう。

必要な情報を入力し終えたら、Register application ボタンをクリックしてください。
すると、アプリケーションのクライアントIDとクライアントシークレットが発行されます。
これらは後ほど Cloudflare 側で必要になるので、大事に保管しておきましょう。
Cloudflare Zero Trust 側での設定
GitHub での OAuth アプリケーション作成が完了したら、
再び Cloudflare Zero Trust の ID プロバイダー設定ページに戻ります。
先ほど取得したクライアントIDとクライアントシークレットをそれぞれの入力欄に入力してください。

全ての入力が終わったら、忘れずに 保存 ボタンをクリックして設定を保存します。
保存後、画面に「セットアップ完了」という文字が表示され、
それがリンクになっているのでクリックして GitHub 側で認可を行いましょう。

この画面で「お祝い」されたら成功です!
まるでゴールテープを切ったランナーのような気分ですね。

ID プロバイダーの一覧に表示された GitHub のテストをクリックすると、
以下のようにユーザー情報が取得できていることが確認できます。
これで一安心ですね。

ちなみに、エラーが発生した場合は以下のような表示になります。
冷静に対処しましょう。

ポリシーの設定
ここまでくれば、GitHub での認証設定はひとまず完了です!
しかし、本当に大切なのは「誰に」アクセスを許可するか、ですよね。
次に、特定の GitHub ユーザーのみのログインを許可するためのポリシーを設定していきましょう。
Cloudflare Zero Trust のダッシュボードで アクセス制御 > ポリシー を選択します。
ポリシーの追加 ボタンをクリックし、新しいポリシーを作成します。

ポリシー名には、その目的が分かりやすい任意の名前をつけましょう。
そして、ルールの設定で許可したいユーザーのメールアドレスを指定します。
ここがアクセス制御の肝となりますね。

設定が完了したら、保存 ボタンをクリックしてポリシーを保存してください。
Access コントロール の設定
いよいよ大詰めです!
最後に、アクセス制限をかけたいアプリケーションに対する設定を行います。
Access コントロール > アプリケーション を選択します。
アプリケーションの追加 ボタンをクリックし、新たにアプリケーションを設定していきます。

アプリケーションの種類は セルフホスト型 を選択しましょう。
これは、皆さんが運用しているプライベートなアプリケーションを指します。

アプリケーション名、ドメイン、セッションの有効期限などを適切に設定します。
ここで特に重要なのは、Access ポリシーの選択です。
先ほど作成したポリシーをここで適用させましょう。
ログイン方法では、今回設定した GitHub の ID プロバイダーを選択してください。

次に進み、残りの設定はデフォルトのままで問題ありません。
保存 ボタンをクリックして、全てのアプリケーション設定を完了させましょう。


動作確認
全ての頑張りが報われる瞬間です!
設定が完了したら、アクセス制限をかけたアプリケーションの URL にアクセスしてみてください。
見事、Cloudflare Zero Trust のログイン画面と GitHub 認証の連携が確認できれば、
あなたのプライベートな世界は安全なベールに包まれたも同然!
特定の GitHub ユーザーだけがアクセスできる、堅牢な門番が誕生したわけです。

まとめ
本記事では、Cloudflare Zero Trust を活用して
GitHub ソーシャルログインを設定し、特定のユーザーにのみアクセスを許可する手順を解説しました。
これで、大切なアプリケーションのセキュリティが格段に向上したはずです。
この手順が、もし同じ課題に直面している技術者の方々の貴重な時間を
少しでも節約できれば、休日の午前を犠牲にした甲斐があるというものです!
皆さんの開発ライフがより快適になることを願っています。