☁Zero Trust 上手指南
繁體中文
Telegram Cloudflare 文件 ↗

模組 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 中註冊一個應用

  1. 👉 新開標籤頁訪問 https://entra.microsoft.com,用全域性管理員賬戶登入。
  2. 👉 左側選單:Applications → Enterprise applications。
  3. 👉 點選頁面頂部 + New application。
  4. 👉 點選頂部 + Create your own application。
  5. 📺 右側彈出面板。⌨️ 命名為 Cloudflare Access。
  6. 👉 選擇 “Register an application to integrate with Microsoft Entra ID (App you're developing)”。 ⚠️ 注意: 不要選畫廊/SaaS 應用——你是在註冊自己的應用。
  7. 👉 點選 Create。

📺 你會看到: “Register an application” 頁面,含 Redirect URI 部分。

  1. 👉 在 Redirect URI 下,平臺下拉選 Web。
  2. ⌨️ 貼上你的回撥 URL:
    https://<team-name>.cloudflareaccess.com/cdn-cgi/access/callback
    
  3. 👉 點選 Register。

✅ 檢查點: 你現在位於該應用的 Overview 頁面。

A2. 複製三個值

在應用 Overview 頁面:

  1. 📋 複製 Application (client) ID → 儲存。
  2. 📋 複製 Directory (tenant) ID → 儲存。

然後建立金鑰: 3. 👉 應用左側選單 → Certificates & secrets → Client secrets 選項卡 → + New client secret。 4. ⌨️ 說明填 Cloudflare,設定有效期(如 24 個月)。 5. 👉 點選 Add。 6. 📋 立即複製金鑰的 Value(不是 “Secret ID”)→ 儲存。

⚠️ 注意: 金鑰 Value 只顯示一次。若離開頁面就必須刪除並重建。此外,金鑰過期後所有登入都會失效——把過期日期記進日曆。

A3. 授予 Cloudflare 所需許可權(讓群組生效)

  1. 👉 應用左側選單 → API permissions → + Add a permission。

  2. 👉 選擇 Microsoft Graph → Delegated permissions。

  3. ⌨️ 搜尋並勾選下列七項許可權:

    許可權 用途
    email 使用者郵箱
    offline_access 重新整理令牌
    openid 標準登入
    profile 基本資料
    User.Read 讀取已登入使用者
    Directory.Read.All 讀取目錄
    GroupMember.Read.All 讀取群組成員(群組策略所需)
  4. 👉 點選 Add permissions。

  5. 👉 點選 Grant admin consent for [你的組織] → Yes。

✅ 檢查點: 七項許可權均顯示綠色勾選的 “Granted for [你的組織]”。

A4. 在 Cloudflare 中新增該提供商

  1. 👉 回到 Zero Trust 控制台(https://one.dash.cloudflare.com)。
  2. 👉 Settings → Authentication(也可能顯示為 Integrations → Identity providers)。
  3. 👉 在 Login methods 下點選 Add new。
  4. 👉 選擇 Azure AD(Microsoft Entra ID)。
  5. ⌨️ 用你儲存的值填入:
    欄位 貼上
    Application (client) ID 來自 A2
    Application (client) Secret A2 裡的金鑰 Value
    Directory (tenant) ID 來自 A2
  6. 👉 開啟這些選項:
    • ✅ Support Groups(讓 Cloudflare 讀取 Entra 群組)
    • ✅ Proof Key for Code Exchange (PKCE)
    • ✅ Enable SCIM(推薦——自動同步使用者/群組,並可在成員被停用時撤銷訪問)
  7. 👉 點選 Save。

✅ 檢查點: “Azure AD” 現已出現在你的登入方式列表中。現在跳到 E 部分(測試)。


B 部分 — Okta

B1. 在 Okta 中建立應用

  1. 👉 登入 Okta 管理控制台。
  2. 👉 Applications → Applications → Create App Integration。
  3. 👉 選擇 OIDC - OpenID Connect → Web Application → Next。
  4. ⌨️ 命名為 Cloudflare Access。
  5. ⌨️ 在 Sign-in redirect URIs 貼上你的回撥 URL:
    https://<team-name>.cloudflareaccess.com/cdn-cgi/access/callback
    
  6. 👉 在 Assignments 選擇誰可使用(如“組織內所有人”),然後 Save。

B2. 複製兩個值

在應用 General 選項卡:

  1. 📋 複製 Client ID。
  2. 📋 複製 Client secret。
  3. 📝 記下你的 Okta 域名(你登入時的網址,如 https://my-company.okta.com)。

B3. 在 Cloudflare 中新增 Okta

  1. 👉 Zero Trust → Settings → Authentication → Add new → Okta。
  2. ⌨️ 填入:
    Cloudflare 欄位 取值
    App ID Okta Client ID
    Client secret Okta Client secret
    Okta account URL https://my-company.okta.com
  3. 👉 若要使用群組策略,開啟 Support Groups。
  4. 👉 點選 Save。

⚠️ 注意: 若你的組織有超過 100 個 Okta 群組,還必須建立一個只讀 Okta API 令牌並填入,否則群組查詢會失敗。(Okta 管理端 → Security → API → Tokens → Create Token。)

✅ 檢查點: “Okta” 出現在登入方式中。現在前往 E 部分(測試)。


C 部分 — Google Workspace

C1. 在 Google 中建立 OAuth 憑據

  1. 👉 開啟 https://console.cloud.google.com → 選擇或新建一個專案。
  2. 👉 APIs & Services → Credentials → + Create Credentials → OAuth client ID。
  3. 👉 應用型別:Web application。
  4. ⌨️ Authorized JavaScript origins → 新增:
    https://<team-name>.cloudflareaccess.com
    
  5. ⌨️ Authorized redirect URIs → 新增你的回撥 URL:
    https://<team-name>.cloudflareaccess.com/cdn-cgi/access/callback
    
  6. 👉 點選 Create。
  7. 📋 複製 Client ID 與 Client secret。

C2. 在 Cloudflare 中新增 Google

  1. 👉 Zero Trust → Settings → Authentication → Add new。
  2. 👉 選擇 Google(任意 Gmail)或 Google Workspace(你的企業域名 + 群組)。
  3. ⌨️ 貼上 Client ID 與 Client secret。
  4. 對 Google Workspace(讀取群組):按螢幕提示提供你的管理員郵箱 / 域名,讓 Cloudflare 能讀取群組成員。
  5. 👉 點選 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 部分 — 測試你的連線(所有人都要做)

  1. 👉 在 Settings → Authentication → Login methods 中找到你的提供商。
  2. 👉 點選該提供商,再點選 Test 按鈕。

📺 你會看到: 新標籤頁開啟,對你的提供商執行一次真實登入,然後顯示Cloudflare 收到的身份資訊——使用者的郵箱以及(關鍵的)群組。

✅ 檢查點——這是關鍵時刻:

  • ✅ 登入成功。
  • ✅ 結果顯示你的郵箱。
  • ✅ 結果顯示你的群組(如 Engineering、Finance)。

⚠️ 如果沒有群組: 說明群組許可權/宣告未配置好。回到你的提供商:

  • Entra ID: 確認已新增 GroupMember.Read.All 並已授予管理員同意(A3),且 Cloudflare 中 Support Groups 已開啟(A4)。
  • Okta: 啟用群組宣告;若群組超過 100 個,新增 API 令牌。
  • Google: 確認選的是 Google Workspace(不是普通 Google)並提供了管理員/域名訪問。

若此測試裡沒有群組,你後續模組中基於群組的訪問規則將無法匹配。請先修復再繼續。


F 部分 — 開啟多重認證(MFA)

  1. 👉 Zero Trust → Access controls → Access settings(舊選單:Settings → Authentication → Authentication settings)。
  2. 👉 配置:
    設定 推薦
    Allow multi-factor authentication (MFA) 開啟
    Authentication methods 選擇你批准的因子
    Use identity provider MFA 開啟——複用你 IdP 的 MFA,避免二次提示
    Apply global MFA settings by default 開啟
    Authentication duration 24h(敏感應用後續用更短)
  3. 👉 點選 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 客戶端,讓裝置安全連線並上報健康狀態。