模組 2 — 接入你的身份提供商
目標: 接入你的企業登入系統,讓 Cloudflare 知道每個使用者是誰、屬於哪些群組。這是後續所有策略賴以執行的基礎。
| 👤 誰來做 | IT / 身份管理員 |
| ⏱️ 用時 | 約 45 分鐘 |
| 🎯 完成後你將擁有 | 使用者可用企業賬戶登入;Test 按鈕能顯示其郵箱 + 群組 |
| ✋ 開始前 | Microsoft Entra ID(或 Okta / Google Workspace)的管理員許可權,以及模組 1 得到的團隊域名 |
本模組完整演示 Microsoft Entra ID(Azure AD)——最常見的情形。Okta 與 Google Workspace 僅在“從哪裡複製取值”上不同,末尾附有簡要說明。
首先:複製你的回撥 URL
每個身份提供商都需要你提供這個值。現在就記下來(把 <team-name> 換成你的):
https://<team-name>.cloudflareaccess.com/cdn-cgi/access/callback
本指南稱它為你的回撥 URL(callback URL)。(Google 還需要 JavaScript 來源:https://<team-name>.cloudflareaccess.com。)
💡 你用的是哪個提供商? 各部分如下:A 部分 Microsoft Entra ID(Azure AD)· B 部分 Okta · C 部分 Google Workspace · D 部分 以上都不是 / 先簡單起步。 之後所有人都做 E 部分(測試) 和 F 部分(MFA)。
A 部分 — Microsoft Entra ID(Azure AD)
你會在兩個地方操作:先在微軟管理中心,再回到 Cloudflare。
A1. 在 Microsoft Entra 中註冊一個應用
- 👉 新開標籤頁訪問
https://entra.microsoft.com,用全域性管理員賬戶登入。 - 👉 左側選單:Applications → Enterprise applications。
- 👉 點選頁面頂部 + New application。
- 👉 點選頂部 + Create your own application。
- 📺 右側彈出面板。⌨️ 命名為
Cloudflare Access。 - 👉 選擇 “Register an application to integrate with Microsoft Entra ID (App you're developing)”。 ⚠️ 注意: 不要選畫廊/SaaS 應用——你是在註冊自己的應用。
- 👉 點選 Create。
📺 你會看到: “Register an application” 頁面,含 Redirect URI 部分。
- 👉 在 Redirect URI 下,平臺下拉選 Web。
- ⌨️ 貼上你的回撥 URL:
https://<team-name>.cloudflareaccess.com/cdn-cgi/access/callback - 👉 點選 Register。
✅ 檢查點: 你現在位於該應用的 Overview 頁面。
A2. 複製三個值
在應用 Overview 頁面:
- 📋 複製 Application (client) ID → 儲存。
- 📋 複製 Directory (tenant) ID → 儲存。
然後建立金鑰:
3. 👉 應用左側選單 → Certificates & secrets → Client secrets 選項卡 → + New client secret。
4. ⌨️ 說明填 Cloudflare,設定有效期(如 24 個月)。
5. 👉 點選 Add。
6. 📋 立即複製金鑰的 Value(不是 “Secret ID”)→ 儲存。
⚠️ 注意: 金鑰 Value 只顯示一次。若離開頁面就必須刪除並重建。此外,金鑰過期後所有登入都會失效——把過期日期記進日曆。
A3. 授予 Cloudflare 所需許可權(讓群組生效)
-
👉 應用左側選單 → API permissions → + Add a permission。
-
👉 選擇 Microsoft Graph → Delegated permissions。
-
⌨️ 搜尋並勾選下列七項許可權:
許可權 用途 email使用者郵箱 offline_access重新整理令牌 openid標準登入 profile基本資料 User.Read讀取已登入使用者 Directory.Read.All讀取目錄 GroupMember.Read.All讀取群組成員(群組策略所需) -
👉 點選 Add permissions。
-
👉 點選 Grant admin consent for [你的組織] → Yes。
✅ 檢查點: 七項許可權均顯示綠色勾選的 “Granted for [你的組織]”。
A4. 在 Cloudflare 中新增該提供商
- 👉 回到 Zero Trust 控制台(
https://one.dash.cloudflare.com)。 - 👉 Settings → Authentication(也可能顯示為 Integrations → Identity providers)。
- 👉 在 Login methods 下點選 Add new。
- 👉 選擇 Azure AD(Microsoft Entra ID)。
- ⌨️ 用你儲存的值填入:
欄位 貼上 Application (client) ID 來自 A2 Application (client) Secret A2 裡的金鑰 Value Directory (tenant) ID 來自 A2 - 👉 開啟這些選項:
- ✅ Support Groups(讓 Cloudflare 讀取 Entra 群組)
- ✅ Proof Key for Code Exchange (PKCE)
- ✅ Enable SCIM(推薦——自動同步使用者/群組,並可在成員被停用時撤銷訪問)
- 👉 點選 Save。
✅ 檢查點: “Azure AD” 現已出現在你的登入方式列表中。現在跳到 E 部分(測試)。
B 部分 — Okta
B1. 在 Okta 中建立應用
- 👉 登入 Okta 管理控制台。
- 👉 Applications → Applications → Create App Integration。
- 👉 選擇 OIDC - OpenID Connect → Web Application → Next。
- ⌨️ 命名為
Cloudflare Access。 - ⌨️ 在 Sign-in redirect URIs 貼上你的回撥 URL:
https://<team-name>.cloudflareaccess.com/cdn-cgi/access/callback - 👉 在 Assignments 選擇誰可使用(如“組織內所有人”),然後 Save。
B2. 複製兩個值
在應用 General 選項卡:
- 📋 複製 Client ID。
- 📋 複製 Client secret。
- 📝 記下你的 Okta 域名(你登入時的網址,如
https://my-company.okta.com)。
B3. 在 Cloudflare 中新增 Okta
- 👉 Zero Trust → Settings → Authentication → Add new → Okta。
- ⌨️ 填入:
Cloudflare 欄位 取值 App ID Okta Client ID Client secret Okta Client secret Okta account URL https://my-company.okta.com - 👉 若要使用群組策略,開啟 Support Groups。
- 👉 點選 Save。
⚠️ 注意: 若你的組織有超過 100 個 Okta 群組,還必須建立一個只讀 Okta API 令牌並填入,否則群組查詢會失敗。(Okta 管理端 → Security → API → Tokens → Create Token。)
✅ 檢查點: “Okta” 出現在登入方式中。現在前往 E 部分(測試)。
C 部分 — Google Workspace
C1. 在 Google 中建立 OAuth 憑據
- 👉 開啟
https://console.cloud.google.com→ 選擇或新建一個專案。 - 👉 APIs & Services → Credentials → + Create Credentials → OAuth client ID。
- 👉 應用型別:Web application。
- ⌨️ Authorized JavaScript origins → 新增:
https://<team-name>.cloudflareaccess.com - ⌨️ Authorized redirect URIs → 新增你的回撥 URL:
https://<team-name>.cloudflareaccess.com/cdn-cgi/access/callback - 👉 點選 Create。
- 📋 複製 Client ID 與 Client secret。
C2. 在 Cloudflare 中新增 Google
- 👉 Zero Trust → Settings → Authentication → Add new。
- 👉 選擇 Google(任意 Gmail)或 Google Workspace(你的企業域名 + 群組)。
- ⌨️ 貼上 Client ID 與 Client secret。
- 對 Google Workspace(讀取群組):按螢幕提示提供你的管理員郵箱 / 域名,讓 Cloudflare 能讀取群組成員。
- 👉 點選 Save。
✅ 檢查點: “Google Workspace” 出現在登入方式中。現在前往 E 部分(測試)。
D 部分 — 還沒有企業 IdP?
你仍可繼續,之後再接入真正的 IdP。
- Cloudflare 是新賬戶的預設登入——使用者用 Cloudflare 賬戶登入。
- 或新增 One-time PIN(OTP):Zero Trust → Settings → Authentication → Add new → One-time PIN。使用者通過郵箱收到驗證碼。適合承包商和快速測試。
💡 提示: 即使接入了企業 IdP,也建議保留 OTP 或 Cloudflare 登入作為備用——萬一 SSO 連接出問題,這就是你的安全網。
E 部分 — 測試你的連線(所有人都要做)
- 👉 在 Settings → Authentication → Login methods 中找到你的提供商。
- 👉 點選該提供商,再點選 Test 按鈕。
📺 你會看到: 新標籤頁開啟,對你的提供商執行一次真實登入,然後顯示Cloudflare 收到的身份資訊——使用者的郵箱以及(關鍵的)群組。
✅ 檢查點——這是關鍵時刻:
- ✅ 登入成功。
- ✅ 結果顯示你的郵箱。
- ✅ 結果顯示你的群組(如
Engineering、Finance)。
⚠️ 如果沒有群組: 說明群組許可權/宣告未配置好。回到你的提供商:
- Entra ID: 確認已新增
GroupMember.Read.All並已授予管理員同意(A3),且 Cloudflare 中 Support Groups 已開啟(A4)。 - Okta: 啟用群組宣告;若群組超過 100 個,新增 API 令牌。
- Google: 確認選的是 Google Workspace(不是普通 Google)並提供了管理員/域名訪問。
若此測試裡沒有群組,你後續模組中基於群組的訪問規則將無法匹配。請先修復再繼續。
F 部分 — 開啟多重認證(MFA)
- 👉 Zero Trust → Access controls → Access settings(舊選單:Settings → Authentication → Authentication settings)。
- 👉 配置:
設定 推薦 Allow multi-factor authentication (MFA) 開啟 Authentication methods 選擇你批准的因子 Use identity provider MFA 開啟——複用你 IdP 的 MFA,避免二次提示 Apply global MFA settings by default 開啟 Authentication duration 24h(敏感應用後續用更短) - 👉 點選 Save。
✅ 檢查點: 之後的登入都會強制 MFA。
✅ 模組 2 完成!
你現在擁有:
- ✅ 已把企業登入接入 Cloudflare
- ✅ 一次通過的 Test,顯示郵箱與群組
- ✅ (推薦)已啟用 SCIM 自動同步
- ✅ 已開啟 MFA
- ✅ 保留了備用登入方式(OTP / Cloudflare)
快速排障
| 問題 | 解決辦法 |
|---|---|
| 測試時報 “Redirect URI mismatch” | IdP 裡的回撥 URL 與此處不完全一致。重新複製,含 https:// 與 /cdn-cgi/access/callback,且無尾隨空格 |
| 測試顯示郵箱但沒有群組 | 缺少群組許可權/宣告——見 E 部分的 ⚠️ 說明 |
| “Invalid client secret” | 金鑰錯誤或已過期。重建一個並更新到 Cloudflare(Entra 見 A2;Okta/Google 重新複製) |
| 使用者能登入但你無法停用他們 | 啟用 SCIM(Entra/Okta),讓離職同步並撤銷會話 |
| 測試 SAML 時被鎖在門外 | 用你的備用 OTP/Cloudflare 登入(D 部分)重新進入 |
👉 下一步:模組 3 — 設備註冊(WARP)
你將安裝 Cloudflare One 客戶端,讓裝置安全連線並上報健康狀態。