<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Customer-Identity on Tarragon</title><link>https://tarrragon.github.io/blog/tags/customer-identity/</link><description>Recent content in Customer-Identity on Tarragon</description><generator>Hugo -- gohugo.io</generator><language>zh-TW</language><copyright>Tarragon (CC BY 4.0)</copyright><lastBuildDate>Mon, 18 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://tarrragon.github.io/blog/tags/customer-identity/index.xml" rel="self" type="application/rss+xml"/><item><title>Auth0</title><link>https://tarrragon.github.io/blog/backend/07-security-data-protection/vendors/auth0/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/backend/07-security-data-protection/vendors/auth0/</guid><description>&lt;p>Auth0 是 Customer Identity Cloud 的代表選項。它承擔三段責任：B2C / B2B app 的&lt;em>使用者登入流程&lt;/em>託管、社交與企業 connection 的 token broker、user profile 與 metadata 的 store。當產品把登入交給 Auth0、信任邊界從「我的 app 自管密碼表」變成「tenant 配置 + Action hook 程式碼 + signing key 託管」三件事是否健康。認證在 &lt;a href="https://tarrragon.github.io/blog/backend/00-service-selection/capability-buy-vs-build/" data-link-title="0.22 能力級買 vs 建：feature-as-a-service 與 BaaS bundle 選型" data-link-desc="在交付形態決定整個系統要不要自建之後、逐能力判斷該外包還是自建：辨識 managed 基礎設施、feature SaaS 與 BaaS bundle 三種外包深度、no-code 到 dev-tool 的服務光譜、買 vs 建判準與權重浮動、整合接縫與遷出代價">0.22 能力級買 vs 建&lt;/a> 裡是 commodity 買的典型、Auth0 正是它的 feature SaaS（dev-tool 端）例子；要不要買、外包到多深、見 &lt;a href="https://tarrragon.github.io/blog/backend/knowledge-cards/capability-outsourcing-depth/" data-link-title="Capability Outsourcing Depth（外包深度）" data-link-desc="說明外包一塊後端能力有三種深度（managed 基礎設施、feature SaaS、BaaS bundle）、深度決定保留多少控制權與遷出代價">外包深度&lt;/a> 卡。&lt;/p>
&lt;h2 id="服務定位">服務定位&lt;/h2>
&lt;p>Auth0 是 &lt;em>customer identity 的控制面&lt;/em>、不是員工 SSO（員工走 &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/vendors/okta/" data-link-title="Okta" data-link-desc="SaaS Identity Provider 主流選項、SSO / MFA / lifecycle 整合、第三方信任邊界的代價">Okta Workforce&lt;/a> 或 &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/vendors/aws-iam-identity-center/" data-link-title="AWS IAM Identity Center" data-link-desc="AWS 原生 workforce SSO、前 AWS SSO、Permission Set 跨帳號 access、可串外部 IdP federation">AWS IAM Identity Center&lt;/a>）。雖然 Auth0 於 2021 被 Okta 收購、目前屬「Customer Identity Cloud」產品線、跟 Workforce Okta 是 &lt;em>同公司不同 control plane&lt;/em>：tenant 叢集、事件分布、signing key 託管路徑都分開、Okta Workforce 的事故（2022 Sitel、2023 support system HAR）並未直接打到 Auth0 customer。&lt;/p>
&lt;p>跟自管 &lt;a href="https://tarrragon.github.io/blog/backend/07-security-data-protection/vendors/keycloak/" data-link-title="Keycloak" data-link-desc="Open source self-hosted Identity Provider、Red Hat 主導、Realm-based multi-tenancy、適合資料主權與自訂 flow 需求">Keycloak&lt;/a> 比、Auth0 把 Universal Login UI、social connection 預建、Rules / Action runtime、attack protection 都託管出去 — 代價是 &lt;em>SaaS 計費、token issuance / login attempt 都計量&lt;/em>、流量大的 B2C 場景遇到 credential stuffing 不擋會吃成本。跟 &lt;a href="https://docs.aws.amazon.com/cognito/">AWS Cognito&lt;/a> / &lt;a href="https://firebase.google.com/docs/auth">Firebase Auth&lt;/a> 比、Auth0 的核心優勢是 &lt;em>developer-first tenant 體驗 + 預建 social connection（Google / Facebook / Apple / Microsoft 等數十種）+ Action hook 寫 JS 客製&lt;/em>。&lt;/p>
&lt;h2 id="本章目標">本章目標&lt;/h2>
&lt;p>讀完本頁、讀者能判斷：&lt;/p>
&lt;ol>
&lt;li>Auth0 該承擔哪一段 customer identity 控制（login flow / token broker / profile store / B2B Organizations）、哪一段該回到自己的 app&lt;/li>
&lt;li>Auth0 tenant 的信任邊界與最低稽核需求（admin role、management API token、Action 程式碼、connection 設定）&lt;/li>
&lt;li>Auth0 流量出事或母公司事件時的降級路徑（fallback connection、token rotation、anomaly throttle）&lt;/li>
&lt;li>何時用 Auth0、何時走 Cognito / Firebase Auth / Keycloak 的取捨&lt;/li>
&lt;/ol>
&lt;h2 id="最短判讀路徑">最短判讀路徑&lt;/h2>
&lt;p>判斷 Auth0 tenant 是否健康、最少看四件事：&lt;/p></description><content:encoded><![CDATA[<p>Auth0 是 Customer Identity Cloud 的代表選項。它承擔三段責任：B2C / B2B app 的<em>使用者登入流程</em>託管、社交與企業 connection 的 token broker、user profile 與 metadata 的 store。當產品把登入交給 Auth0、信任邊界從「我的 app 自管密碼表」變成「tenant 配置 + Action hook 程式碼 + signing key 託管」三件事是否健康。認證在 <a href="/blog/backend/00-service-selection/capability-buy-vs-build/" data-link-title="0.22 能力級買 vs 建：feature-as-a-service 與 BaaS bundle 選型" data-link-desc="在交付形態決定整個系統要不要自建之後、逐能力判斷該外包還是自建：辨識 managed 基礎設施、feature SaaS 與 BaaS bundle 三種外包深度、no-code 到 dev-tool 的服務光譜、買 vs 建判準與權重浮動、整合接縫與遷出代價">0.22 能力級買 vs 建</a> 裡是 commodity 買的典型、Auth0 正是它的 feature SaaS（dev-tool 端）例子；要不要買、外包到多深、見 <a href="/blog/backend/knowledge-cards/capability-outsourcing-depth/" data-link-title="Capability Outsourcing Depth（外包深度）" data-link-desc="說明外包一塊後端能力有三種深度（managed 基礎設施、feature SaaS、BaaS bundle）、深度決定保留多少控制權與遷出代價">外包深度</a> 卡。</p>
<h2 id="服務定位">服務定位</h2>
<p>Auth0 是 <em>customer identity 的控制面</em>、不是員工 SSO（員工走 <a href="/blog/backend/07-security-data-protection/vendors/okta/" data-link-title="Okta" data-link-desc="SaaS Identity Provider 主流選項、SSO / MFA / lifecycle 整合、第三方信任邊界的代價">Okta Workforce</a> 或 <a href="/blog/backend/07-security-data-protection/vendors/aws-iam-identity-center/" data-link-title="AWS IAM Identity Center" data-link-desc="AWS 原生 workforce SSO、前 AWS SSO、Permission Set 跨帳號 access、可串外部 IdP federation">AWS IAM Identity Center</a>）。雖然 Auth0 於 2021 被 Okta 收購、目前屬「Customer Identity Cloud」產品線、跟 Workforce Okta 是 <em>同公司不同 control plane</em>：tenant 叢集、事件分布、signing key 託管路徑都分開、Okta Workforce 的事故（2022 Sitel、2023 support system HAR）並未直接打到 Auth0 customer。</p>
<p>跟自管 <a href="/blog/backend/07-security-data-protection/vendors/keycloak/" data-link-title="Keycloak" data-link-desc="Open source self-hosted Identity Provider、Red Hat 主導、Realm-based multi-tenancy、適合資料主權與自訂 flow 需求">Keycloak</a> 比、Auth0 把 Universal Login UI、social connection 預建、Rules / Action runtime、attack protection 都託管出去 — 代價是 <em>SaaS 計費、token issuance / login attempt 都計量</em>、流量大的 B2C 場景遇到 credential stuffing 不擋會吃成本。跟 <a href="https://docs.aws.amazon.com/cognito/">AWS Cognito</a> / <a href="https://firebase.google.com/docs/auth">Firebase Auth</a> 比、Auth0 的核心優勢是 <em>developer-first tenant 體驗 + 預建 social connection（Google / Facebook / Apple / Microsoft 等數十種）+ Action hook 寫 JS 客製</em>。</p>
<h2 id="本章目標">本章目標</h2>
<p>讀完本頁、讀者能判斷：</p>
<ol>
<li>Auth0 該承擔哪一段 customer identity 控制（login flow / token broker / profile store / B2B Organizations）、哪一段該回到自己的 app</li>
<li>Auth0 tenant 的信任邊界與最低稽核需求（admin role、management API token、Action 程式碼、connection 設定）</li>
<li>Auth0 流量出事或母公司事件時的降級路徑（fallback connection、token rotation、anomaly throttle）</li>
<li>何時用 Auth0、何時走 Cognito / Firebase Auth / Keycloak 的取捨</li>
</ol>
<h2 id="最短判讀路徑">最短判讀路徑</h2>
<p>判斷 Auth0 tenant 是否健康、最少看四件事：</p>
<ul>
<li><strong>誰能做什麼</strong>：Dashboard admin、Management API token 的 owner 與 scope、Action 是否走 code review、tenant 之間（dev / staging / prod）是否分離且授權獨立</li>
<li><strong>憑證在哪裡</strong>：Management API token / M2M client 的 scope 與 TTL、社交 connection 的 client secret 存放位置、signing key（per-tenant）的 rotation 節奏、是否啟用 Custom Domain（避免 token issuer 暴露 <code>*.auth0.com</code> 域名）</li>
<li><strong>入口如何暴露</strong>：登入走 Universal Login（託管 UI）還是 Embedded Login（嵌自家 app）、Cross-Origin Authentication 是否打開、Attack Protection（bot detection / brute-force / breached password / suspicious IP throttling）配置強度</li>
<li><strong>證據是否可回查</strong>：Tenant Log 是否同步到 SIEM（Log Stream 推 HTTP / Datadog / Splunk）、登入失敗 / Action 例外 / Management API 變更是否 alert、保留期是否符合合規要求</li>
</ul>
<p>四件事任一缺失、就是 <a href="/blog/backend/knowledge-cards/audit-log/" data-link-title="Audit Log" data-link-desc="說明高風險操作如何留下可追溯、可稽核的紀錄">Audit Log</a> 與 <a href="/blog/backend/knowledge-cards/authentication/" data-link-title="Authentication" data-link-desc="說明系統如何確認呼叫者身份">Authentication</a> 邊界的待補項目。</p>
<h2 id="日常操作與決策形狀">日常操作與決策形狀</h2>
<p><strong>Tenant 與環境分離</strong>：Auth0 的 tenant 是邏輯隔離的多租戶 SaaS、不是物理叢集。每個環境（dev / staging / prod）開獨立 tenant、避免 dev 的 Action bug 打到 prod 流量、避免共用 client secret 跨環境洩漏。tenant 間用 <code>auth0-deploy-cli</code> 同步配置、Action 程式碼進版控。</p>
<p><strong>Connection 設計</strong>：Database Connection（Auth0 託管帳密 store）跟 Social / Enterprise Connection（OIDC / SAML federation 到 Google / Microsoft / Okta）是兩種來源。決策點是 <em>user 是否要進 Auth0 profile store</em> — 純 federation 不存密碼、純 Database Connection 是 Auth0 替 app 管帳密表。混用要清楚 <em>primary identity</em> 與 <em>linked account</em> 的合併規則。</p>
<p><strong>Action / Rule hook 的風險</strong>：Action（新框架）跟 Rule（舊框架）讓 tenant admin 在 login pipeline 注入 JS 程式碼（pre / post login、M2M、send email 等）。這是 Auth0 強大但也是 <em>最大的供應鏈攻擊面</em> — Action 可以 <code>require()</code> npm package、惡意 dependency 會在每個 login flow 執行。應該 pin dependency 版本、code review、用最小權限的 Management API scope、定期掃 dependency CVE（思維對齊 <a href="/blog/backend/07-security-data-protection/red-team/cases/supply-chain/" data-link-title="7.R7.2 Supply Chain 類案例" data-link-desc="整理第三方整合、CI/CD、更新鏈、開源與 MSP 供應鏈事故案例">紅隊 supply chain 案例</a>）。</p>
<p><strong>Universal Login vs Embedded Login</strong>：Universal Login 把登入 UI 託管在 Auth0 domain（或 Custom Domain）、user 跳轉到該頁完成登入後 redirect 回 app — 防 phishing / CSRF 的成本由 Auth0 吃。Embedded Login 把登入表單嵌進自己 app 並用 <code>/co/authenticate</code> 端點 — 看似 UX 順、但要自己防 XSS、CSRF、CORS、credential leak、且要打開 Cross-Origin Authentication（暴露額外攻擊面）。預設選 Universal Login、Embedded 只在 UX 強需求且能承擔安全成本時開。</p>
<p><strong>Management API token / M2M client</strong>：Management API 控制整個 tenant（建 user、改 client secret、改 Action 程式碼）。token 不該長期存在程式碼或 CI；改用 M2M Application（client credentials grant）拿短期 token、scope 收到最小（<code>read:users</code> ≠ <code>update:users</code> ≠ <code>update:actions</code>）、走 <a href="/blog/backend/knowledge-cards/secret-management/" data-link-title="Secret Management" data-link-desc="說明 token、key、password 與憑證如何保存、輪替與撤銷">Secret Management</a> 取用。</p>
<p><strong>Attack Protection 配置</strong>：B2C 流量大、登入嘗試本身計費也是攻擊面。Brute-force Protection（單 IP 多失敗鎖 user）、Suspicious IP Throttling（單 IP 多失敗鎖 IP）、Breached Password Detection（已洩漏密碼禁用）、Bot Detection（CAPTCHA / risk score）四個機制都該打開、否則 credential stuffing 既吃成本也提高帳號被接管的機率。</p>
<p><strong>Break-glass 與 fallback</strong>：B2C 場景沒有「員工備用 admin」概念、break-glass 是 <em>確保使用者在 Auth0 暫不可用時仍能登入</em>。常見作法：app 端容忍 Auth0 暫時失敗、提供 magic link / email OTP 的替代登入路徑（透過獨立 ESP）、或預先發放長 TTL 的 refresh token 撐過短時故障。tenant 管理面則維持至少 2 個獨立 admin、credential 離線存。</p>
<p><strong>Audit / handoff</strong>：Tenant Log 透過 Log Stream 推 SIEM、alert 三類事件 — Management API 對 Action / Connection / Client 的變更（供應鏈）、登入異常突增（credential stuffing）、support impersonation / Auth0 員工 access tenant 的紀錄（control plane）。</p>
<h2 id="核心取捨表">核心取捨表</h2>
<table>
  <thead>
      <tr>
          <th>取捨維度</th>
          <th>Auth0</th>
          <th>AWS Cognito</th>
          <th>Firebase Auth</th>
          <th>自管 Keycloak</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>控制面責任</td>
          <td>Auth0 託管 issuer / signing / Action runtime</td>
          <td>AWS 託管、限 AWS 帳號信任邊界</td>
          <td>Google 託管、綁 Firebase / GCP</td>
          <td>自己跑 issuer、key、HA、support</td>
      </tr>
      <tr>
          <td>Social connection</td>
          <td>預建數十種、UI / token broker 完整</td>
          <td>主要 OIDC / SAML、social 要自己接</td>
          <td>Google / Apple / Facebook 預建、其他要自接</td>
          <td>OIDC / SAML 通用、specific provider 要自配</td>
      </tr>
      <tr>
          <td>客製化能力</td>
          <td>Action JS hook 強、Universal Login 高度客製</td>
          <td>Lambda Trigger、UI 客製有限</td>
          <td>Cloud Function Trigger、UI 客製中等</td>
          <td>任何 — 自己掌握程式碼</td>
      </tr>
      <tr>
          <td>計費模型</td>
          <td>月活躍 user（MAU）+ B2B Organizations + 進階功能加價</td>
          <td>MAU 階梯、AWS 內部其他資源費用</td>
          <td>MAU + 簡訊 / phone auth 另計</td>
          <td>自管基礎設施成本</td>
      </tr>
      <tr>
          <td>成本陡升點</td>
          <td>大量 MAU、credential stuffing、Adaptive MFA 加價</td>
          <td>Cognito Identity Pool federation 複雜場景</td>
          <td>通常便宜、但 phone auth 成本明顯</td>
          <td>規模化後運維成本（HA、DR、cert、upgrade）</td>
      </tr>
      <tr>
          <td>適合場景</td>
          <td>B2C / B2B SaaS、要 social login、developer-first</td>
          <td>AWS-heavy 後端、不要求 social 廣度</td>
          <td>mobile-first、Firebase 生態內</td>
          <td>主權 / 自管要求、不接受 SaaS IdP</td>
      </tr>
      <tr>
          <td>退場成本</td>
          <td>中高 — user / password hash 可匯出、Action 要重寫</td>
          <td>中 — Cognito user pool 可匯出、policy 重寫</td>
          <td>中 — Firebase user 可匯出</td>
          <td>低 — 自己掌握</td>
      </tr>
  </tbody>
</table>
<p>選 Auth0 的核心訴求：<em>customer identity + 大量 social / enterprise connection + 要 developer 客製 login flow</em>、且接受 SaaS 計費與第三方控制面風險、能投入 SIEM / Action 程式碼治理 / attack protection 配置。</p>
<p>Microsoft 生態（Entra External ID / 前 Azure AD B2C）是另一個 B2C / B2B 選項、本表沒列入主要競品 — 它在 M365 / Azure 重度組織內是合理選擇、但 social connection 預建廣度跟 developer-centric tenant 體驗仍不及 Auth0。M365 重度 + B2C 需求的組織可同時評估 <a href="/blog/backend/07-security-data-protection/vendors/azure-rbac/" data-link-title="Azure RBAC &#43; Entra ID" data-link-desc="Azure 雙層身份/權限體系、Entra ID（IdP）&#43; Azure RBAC（resource permission）、Conditional Access、PIM、Managed Identity">Entra ID</a> 的 External ID 產品線。</p>
<h2 id="進階主題">進階主題</h2>
<p><strong>Action / Rule 的供應鏈治理</strong>：Action 程式碼進版控、走 PR review、<code>auth0-deploy-cli</code> 部署。Action 引用的 npm dependency pin 版本、避免 <code>^</code> / <code>~</code>、CI 跑 SCA 掃 CVE。新增 Action 時 default scope 給 read-only、需要寫操作另外升級。Action secret（OAuth credential、API key）走 Action Secret 管理、不寫死在程式碼。</p>
<p><strong>B2B Organizations</strong>：Auth0 Organizations 把同 tenant 內的多客戶（B2B 場景）邏輯隔離 — 每個 organization 有自己的 connection、branding、member。設計點是 <em>user 是 organization member 還是 tenant-wide user</em>、跨 organization 操作的 admin 是否有 organization scope。Organization 之間的隔離是 tenant 內邏輯層、共享底層 control plane、不能等同實體 tenant 隔離。</p>
<p><strong>Adaptive MFA / Step-up Authentication</strong>：Auth0 Adaptive MFA 用 device / location / behavioral signal 動態升級 MFA 要求（impossible travel、新裝置、低信任 IP）。屬付費 add-on、本質是把 risk-based 認證內建。對 B2C 場景比強制全 user MFA 友善、但要把 <em>risk threshold</em> 跟 <em>false positive 容忍度</em> 設清楚、避免合法 user 被連續挑戰流失。</p>
<p><strong>Custom Domain</strong>：預設登入網域是 <code>&lt;tenant&gt;.auth0.com</code>、揭露使用 Auth0 與 tenant 名稱、且 issuer 是 Auth0 子網域。Custom Domain 把 issuer 改成自己網域（如 <code>login.example.com</code>）、user 看到的 URL 一致、降低 phishing 對照成本。屬付費功能、production app 預設應該開。</p>
<p><strong>Cross-Origin Authentication 的攻擊面</strong>：Embedded Login 必須開 Cross-Origin Authentication、讓 app 域名直接呼叫 Auth0 的 <code>/co/authenticate</code>。風險是 XSS 拿到 token、CSRF 偽造登入、third-party cookie 政策變動讓 silent auth 壞掉。Universal Login 不需要這個、所以同樣風險不存在 — 這是 Universal Login 推薦的核心理由。</p>
<h2 id="排錯與失敗快速判讀">排錯與失敗快速判讀</h2>
<ul>
<li><strong>Management API token 散落 / 過權</strong>：CI / 後端服務各自存 token、scope 都給 <code>update:users</code> / <code>update:actions</code> — 改 M2M Application + 最小 scope、定期 rotate、用 <a href="/blog/backend/knowledge-cards/secret-management/" data-link-title="Secret Management" data-link-desc="說明 token、key、password 與憑證如何保存、輪替與撤銷">Secret Management</a> 集中取用</li>
<li><strong>Action 直接 <code>require</code> 未 pin 的 npm package</strong>：login flow 每次都拉最新版、惡意 dependency 直接執行 — pin 版本、code review、定期掃 CVE</li>
<li><strong>登入嘗試暴增 / 計費突增</strong>：Attack Protection 沒開或門檻太鬆、credential stuffing 吃額度 — 打開 Bot Detection、Brute-force、Suspicious IP Throttling、配合 <a href="/blog/backend/07-security-data-protection/detection-coverage-and-signal-governance/" data-link-title="7.13 偵測覆蓋率與訊號治理" data-link-desc="定義偵測覆蓋、訊號品質與誤報成本的治理問題">Anomaly Detection</a></li>
<li><strong>使用 Embedded Login 又沒控 XSS</strong>：自家 app 一旦 XSS、token 直接被偷 — 改 Universal Login、或補上嚴格 CSP / DOM 防護、定期 pen test</li>
<li><strong>Tenant Log 沒進 SIEM</strong>：事件只在 Dashboard、無法跨系統 correlation — 配 Log Stream 打到 <a href="/blog/backend/07-security-data-protection/detection-coverage-and-signal-governance/" data-link-title="7.13 偵測覆蓋率與訊號治理" data-link-desc="定義偵測覆蓋、訊號品質與誤報成本的治理問題">SIEM</a>、特定事件接 <a href="/blog/backend/knowledge-cards/alert-runbook/" data-link-title="Alert Runbook" data-link-desc="說明告警如何連到可執行的排障與恢復流程">alert runbook</a></li>
<li><strong>沒 Custom Domain</strong>：phishing 對照成本低、issuer 暴露 vendor — 配 Custom Domain、TLS cert 自管或走 Auth0 託管</li>
<li><strong>B2B Organizations 缺 scope 限制</strong>：admin 工具沒按 organization scope、單一 admin compromise 跨 organization 擴散 — 思維對齊 <a href="/blog/backend/07-security-data-protection/cases/okta-cross-tenant-impersonation-2023/" data-link-title="7.C6 Okta：Cross-tenant Impersonation 防禦回寫" data-link-desc="跨租戶 impersonation 風險如何轉成身份治理與偵測策略。">Okta Cross-Tenant 2023</a> 的 lesson</li>
</ul>
<h2 id="何時改走其他服務">何時改走其他服務</h2>
<table>
  <thead>
      <tr>
          <th>需求形狀</th>
          <th>改走</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>員工 SSO / Workforce identity</td>
          <td><a href="/blog/backend/07-security-data-protection/vendors/okta/" data-link-title="Okta" data-link-desc="SaaS Identity Provider 主流選項、SSO / MFA / lifecycle 整合、第三方信任邊界的代價">Okta vendor</a> / <a href="/blog/backend/07-security-data-protection/vendors/aws-iam-identity-center/" data-link-title="AWS IAM Identity Center" data-link-desc="AWS 原生 workforce SSO、前 AWS SSO、Permission Set 跨帳號 access、可串外部 IdP federation">AWS IAM Identity Center</a></td>
      </tr>
      <tr>
          <td>自管 / 不接受 SaaS IdP</td>
          <td><a href="/blog/backend/07-security-data-protection/vendors/keycloak/" data-link-title="Keycloak" data-link-desc="Open source self-hosted Identity Provider、Red Hat 主導、Realm-based multi-tenancy、適合資料主權與自訂 flow 需求">Keycloak vendor</a></td>
      </tr>
      <tr>
          <td>AWS-only 應用</td>
          <td><a href="https://docs.aws.amazon.com/cognito/">AWS Cognito</a></td>
      </tr>
      <tr>
          <td>Firebase / mobile-first 生態</td>
          <td><a href="https://firebase.google.com/docs/auth">Firebase Authentication</a></td>
      </tr>
      <tr>
          <td>Cloud resource 權限（非人類身份）</td>
          <td><a href="/blog/backend/07-security-data-protection/vendors/aws-iam/" data-link-title="AWS IAM" data-link-desc="AWS cloud resource permission engine、Role / Policy / STS、跨帳號信任邊界與 OIDC federation 的核心">AWS IAM</a> / <a href="/blog/backend/07-security-data-protection/vendors/google-cloud-iam/" data-link-title="Google Cloud IAM" data-link-desc="GCP cloud resource permission engine、Role Binding / Service Account / Workload Identity Federation、resource hierarchy 為核心的權限治理">Google IAM</a> / <a href="/blog/backend/07-security-data-protection/vendors/azure-rbac/" data-link-title="Azure RBAC &#43; Entra ID" data-link-desc="Azure 雙層身份/權限體系、Entra ID（IdP）&#43; Azure RBAC（resource permission）、Conditional Access、PIM、Managed Identity">Azure RBAC</a></td>
      </tr>
      <tr>
          <td>事件偵測（跨系統）</td>
          <td><a href="/blog/backend/07-security-data-protection/detection-coverage-and-signal-governance/" data-link-title="7.13 偵測覆蓋率與訊號治理" data-link-desc="定義偵測覆蓋、訊號品質與誤報成本的治理問題">7.13 偵測覆蓋率與訊號治理</a></td>
      </tr>
      <tr>
          <td>Secret / API key 治理</td>
          <td><a href="/blog/backend/07-security-data-protection/secrets-and-machine-credential-governance/" data-link-title="7.6 秘密管理與機器憑證治理" data-link-desc="以問題驅動方式整理 secret、token、key 與機器身份治理">7.6 秘密管理與機器憑證治理</a></td>
      </tr>
  </tbody>
</table>
<h2 id="不在本頁內的主題">不在本頁內的主題</h2>
<ul>
<li>Auth0 完整 OIDC / OAuth2 規格細節</li>
<li>Action / Rule 完整 API 與 trigger 清單</li>
<li>B2B Organizations 完整 schema 與 SDK 整合教學</li>
<li>Auth0 定價層級的詳細功能對照</li>
<li>各 social connection provider 的 OAuth app 註冊步驟</li>
</ul>
<h2 id="案例回寫">案例回寫</h2>
<p>Auth0 在 07 沒有直接案例（母公司 Okta 的事件並未直接打到 Auth0 customer），以下案例採對照引用、抽取對 Auth0 customer 的 lesson。要注意的是 <em>缺直接案例不等於 vendor 沒有風險</em> — Auth0 自 2021 被 Okta 收購以來未公開重大 vendor 級事件、但同類 SaaS IdP 的歷史事件（Okta 集團、signing key 託管、credential stuffing）都是 Auth0 customer 的可預期風險面、不該等到第一次出事才補控制：</p>
<table>
  <thead>
      <tr>
          <th>案例</th>
          <th>跟 Auth0 的關係（對照）</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><a href="/blog/backend/07-security-data-protection/cases/okta-support-system-incident-2023/" data-link-title="7.C5 Okta：2023 Support System 事件" data-link-desc="支援系統憑證風險如何擴散到客戶租戶的案例。">Okta Support System Incident 2023</a></td>
          <td>母公司 Workforce 事件、Auth0 customer 未直接受害；lesson：signing key 受託管時 break-glass 與替代登入路徑必要</td>
      </tr>
      <tr>
          <td><a href="/blog/backend/07-security-data-protection/cases/failure-credential-rotation-without-scope/" data-link-title="7.C9 反例：憑證輪替未分 Scope" data-link-desc="憑證輪替若未分域分批，容易造成跨系統連鎖中斷。">Failure: Credential Rotation Without Scope</a></td>
          <td>Management API token / connection client secret 的 rotation 要分域 — 多 tenant / 多 connection 不能用同一把</td>
      </tr>
      <tr>
          <td><a href="/blog/backend/07-security-data-protection/red-team/cases/identity-access/cloudflare-2023-okta-token-follow-through/" data-link-title="7.R7.1.6 Cloudflare 2023：供應商事件後的身分收斂" data-link-desc="同一條供應商事件鏈，如何在客戶端變成 session 與 token 的收斂壓力">Cloudflare 2023 Okta Token Follow-Through</a></td>
          <td>上游 IdP 事件後客戶側的 token rotation 節奏；Auth0 customer 應主動 rotate Management API token、不等供應商公告</td>
      </tr>
      <tr>
          <td><a href="/blog/backend/07-security-data-protection/red-team/cases/identity-access/uber-2022-mfa-fatigue/" data-link-title="7.R7.1.1 Uber 2022：MFA 疲勞與內部工具擴散" data-link-desc="從社交工程到內部工具存取，拆解身分流程與權限邊界的失效點">Uber 2022 MFA Fatigue</a></td>
          <td>Auth0 Adaptive MFA / step-up 的設計目標 — 高風險動作要求 phishing-resistant factor、避免單純 push fatigue</td>
      </tr>
      <tr>
          <td><a href="/blog/backend/07-security-data-protection/red-team/cases/supply-chain/" data-link-title="7.R7.2 Supply Chain 類案例" data-link-desc="整理第三方整合、CI/CD、更新鏈、開源與 MSP 供應鏈事故案例">紅隊 supply chain 案例</a></td>
          <td>Action / Rule 引用 npm dependency 的供應鏈攻擊面、思維同 build pipeline 但發生在 login flow</td>
      </tr>
  </tbody>
</table>
<h2 id="下一步路由">下一步路由</h2>
<ul>
<li>上游：<a href="/blog/backend/07-security-data-protection/identity-access-boundary/" data-link-title="7.2 身分與授權邊界" data-link-desc="以問題驅動方式整理身分、授權、會話與供應商身分鏈">7.2 身分與授權邊界</a>、<a href="/blog/backend/07-security-data-protection/detection-coverage-and-signal-governance/" data-link-title="7.13 偵測覆蓋率與訊號治理" data-link-desc="定義偵測覆蓋、訊號品質與誤報成本的治理問題">7.13 偵測覆蓋率與訊號治理</a></li>
<li>平行：<a href="/blog/backend/07-security-data-protection/vendors/okta/" data-link-title="Okta" data-link-desc="SaaS Identity Provider 主流選項、SSO / MFA / lifecycle 整合、第三方信任邊界的代價">Okta vendor</a>、<a href="/blog/backend/07-security-data-protection/vendors/keycloak/" data-link-title="Keycloak" data-link-desc="Open source self-hosted Identity Provider、Red Hat 主導、Realm-based multi-tenancy、適合資料主權與自訂 flow 需求">Keycloak vendor</a>、<a href="/blog/backend/07-security-data-protection/vendors/aws-iam-identity-center/" data-link-title="AWS IAM Identity Center" data-link-desc="AWS 原生 workforce SSO、前 AWS SSO、Permission Set 跨帳號 access、可串外部 IdP federation">AWS IAM Identity Center</a></li>
<li>下游：<a href="/blog/backend/07-security-data-protection/vendors/aws-iam/" data-link-title="AWS IAM" data-link-desc="AWS cloud resource permission engine、Role / Policy / STS、跨帳號信任邊界與 OIDC federation 的核心">AWS IAM</a> / <a href="/blog/backend/07-security-data-protection/vendors/google-cloud-iam/" data-link-title="Google Cloud IAM" data-link-desc="GCP cloud resource permission engine、Role Binding / Service Account / Workload Identity Federation、resource hierarchy 為核心的權限治理">Google Cloud IAM</a>（Auth0 認證後的 cloud resource 權限層）</li>
<li>跨模組：<a href="/blog/backend/08-incident-response/vendors/" data-link-title="事故處理 Vendor 清單" data-link-desc="規劃 on-call、incident response、status page 與 postmortem 工具的服務頁撰寫順序與判準">8 事故處理 vendor 清單</a>（Auth0 異常如何 routing 進 IR 流程）</li>
<li>官方：<a href="https://auth0.com/docs">Auth0 Documentation</a></li>
</ul>
]]></content:encoded></item></channel></rss>