了解即時配置
即時配置是一種在身份和訪問管理系統中使用的過程,用於在首次登錄系統時動態創建用戶帳戶。本文將解釋即時配置的基本知識並解答其實施中的常見問題。
在討論即時配置之前,想像你正在建立一個 SaaS B2B 應用程式,並希望支援成員功能,允許成員輕鬆加入你的工作空間(租戶)。你會提出哪些功能?以下是一個檢查清單:
場景 | 流程 |
---|---|
管理員邀請 | 用戶可收到電子郵件邀請加入組織。 |
管理 API 用戶創建或導入 | 用戶可以使用預先創建的用戶帳戶加入組織。 |
即時配置 | 首次登錄應用程式的用戶可以加入組織。 |
目錄同步(例如 SCIM) | 使用 IdP 的目錄同步功能預先在應用程式中預配置用戶。 |
即時配置(JIT )是一種在身份和訪問管理系統中使用的過程,用於在用戶首次認證時,動態創建和配置所需的用戶帳戶,而不是提前預配置用戶帳戶。即時配置是一個受歡迎的功能,具有自身的特點,如效率高、無需管理員介入和自動化組織成員身份等。 既然你已了解即時配置的基礎,你可能在深入了解實際產品開發時會有幾個問題。我會回答這些問題,這些問題可能會有爭議並且高度依賴於你的特定業務案例。
你需要為產品實施即時配置嗎?
這些案例在建立涉及多租戶架構、企業單點登錄、與企業合作或需要團隊入職功能的 B2B 應用程式時很常見。以下是一些客戶可能遇到的示例場景。
快速入職
一位經常招聘或快速增長的客戶可以使用即時配置為新員工快速設置用戶帳戶。讓我們以一個示例來說明:
Sarah 是公司 SuperFantasy
的一名新員工,該公司使用 Okta
作為企業身份提供者。人力資源團隊只需在 Okta 中將她添加為業務身份 [email protected]
。當 Sarah 第一次使用此電子郵件登錄名為 Smartworkspace
的公司用生產力應用程式時,系統會自動為她創建一個帳戶並在公司的工作區中授予合適的角色。這樣,Sarah 和 SuperFantasy 的 HR 團隊都不需要經過多個步驟來創建帳戶和分配角色。
合併、收購和臨時工
面臨合併或收購的客戶可以使用即時配置簡化為許多新用戶授予訪問權限的過程。再舉一個例子,
Peter 在 MagicTech
工作,該公司最近被 SuperFantasy
收購。MagicTech 是一家較小的組織,沒有企業單點登錄,但也使用 Smartworkspace
,而 Peter 已經有一個業務帳戶。
HR 團隊可以將 Peter 添加到 Okta
。當 Peter 首次通過 Okta 登錄 Smartworkspace 時,系統會自動關聯他的現有業務帳戶並授予對 SuperFantasy 的合適訪問權限。
以上場景非常適合實施 JIT 功能。
它僅限於 SAML 和企業單點登錄嗎?
即時(JIT)配置通常與 SAML 身份驗證的單點登錄(SSO)相關聯,但不限於 SAML。JIT 配置也可以與其他身份驗證協議一起使用,如 OAuth 2.0 和 OpenID Connect,且並不總是需要企業單點登錄設置。
例如,以電子郵件為基礎的 JIT 配置可以通過自動將用戶添加到基於其電子郵件域的工作空間中來簡化團隊入職。這對於缺乏預算和資源購買和管理企業單點登錄的組織特別有用。
JIT 配置的基本理念是在用戶首次嘗試訪問服務時自動創建或更新用戶帳戶,無論使用的具體協議為何。
它適用於應用程式的新用戶還是現有用戶?
這是一個棘手的問題。即時(JIT)配置通常指的是首次嘗試訪問應用程式。然而,不同的產品對該功能的理解不同。某些產品僅使用 JIT 配置來進行身份和帳戶創建,而其他產品還包括即時帳戶更新,例如重新配置和屬性同步。
除了自動用戶創建外,SAML JIT 配置還允許作為配置的一部分授予和撤銷群組成員資格。它還可以更新已配置的用戶,以確保其屬性與身份提供者(IDP)的用戶存儲屬性保持同步。
例如,在 Oracle Cloud 中,即時配置可以以各種方式進行配置。
- 即時創建
- 即時更新
管理 Oracle Identity Cloud Service:了解 SAML 即時配置。
當登錄時,使用者: | 流程 |
---|---|
存在並啟用了 JIT 配置。 | 正常的 SSO 失敗流。 |
不存在並啟用了 JIT 創建。 | 憑證屬性根據 JIT 配置映射創建並填充。 |
存在並啟用了 JIT 更新。 | 用戶屬性值根據 JIT 配置映射更新為 SAML 斷言屬性。 |
如果你確實想要考慮後續的現有用户登錄場景,請確保你有一個健壯的配置系統配合你的 JIT 系統。例如,
- 沖突解決:如果在 JIT 過程中,IdP 提供的信息與現有帳戶不同,你的系統應該有策略來處理沖突。這可能需要詳細控制你的組織政策和 IdP 配置。
- 審計記錄:保留通過 JIT 過程創建新帳戶和更新現有帳戶的日誌對於安全性和合規性來說很重要。
- 性能:雖然 JIT 配置快速完成,但考慮潛在登錄時間影響,特別是如果每次登錄更新信息的現有用戶。
- 數據一致性:確保 JIT 配置過程保持數據一致性,特別是在更新現有用戶帳戶時。
即時配置和 SCIM 有何區別?
除了即時(JIT)配置之外,你可能還聽說過 SCIM(跨域身份管理系統)。SCIM 是一種開放標準協議,旨在簡化和自動化跨不同系統和域的用戶身份管理。它通常用於目錄同步場景。
JIT 和 SCIM 的主要區別在於 JIT 在用戶嘗試登錄時創建帳戶,而 SCIM 可以通過與用戶登錄嘗試無關的離線自動過程來配置用戶。
這意味著 JIT 重點在於新用戶的入職,而 SCIM 重點在於用戶的全生命周期管理。
此外,JIT 通常是 SAML 的擴展,在系統之間缺乏標準化實施,而 SCIM 是一個針對身份管理的定義完善的標準化協議(RFC 7644)。
一些大型組織使用 SCIM 進行帳戶配置,並將其與他們自己的系統集成。這可能非常復雜並且因情況而異。這些組織通常有一個包含自動化過程和人工管理員參與的配置系統。
Logto 中的即時配置
SSO 即時配置和電子郵件域即時配置是我們在 Logto 中所採納的。
在 Logto 中,我們在組織層面設置了這個功能,允許用戶在符合特定標準的情況下自動加入組織並獲得角色分配。
我們以最具可擴展性和安全性的方式實施 JIT 功能,從而簡化和自動化開發者入職客戶的配置過程。但是,正如我們之前所討論的,由於配置系統可能複雜且須根據客戶的具體需求量身設計,你應該利用 Logto 的預置 JIT 功能、仔細的系統設計和 Logto 管理 API 來構建健壯的配置系統。
讓我們來看看這個圖,了解它在 Logto 中的工作原理,
企業單點登錄配置
如果你在 Logto 中設定了企業單點登錄,你可以選擇你的組織企業單點登錄以啟用即時配置。
通過企業單點登錄首次登錄的新用戶或現有用戶將會自動加入組織並獲得預設的組織角色。
以下表格列出了潛在的流程:
用戶狀態 | 流程說明 |
---|---|
用戶不存在,且啟用了 JIT。 | 用戶將被創建並自動加入對應的組織,並獲得相應的角色。 |
用戶存在並具備與企業單點登錄相同的已驗證電子郵件地址,且啟用了 JIT。 | 用戶的電子郵件地址將自動與企業單點登錄帳戶相關聯,並會加入對應的組織並獲得相應的角色。 |
用戶不存在,且未啟用 JIT。 | 正常單點登錄失敗流程。 |
用戶存在,且未啟用 JIT。 | 正常單點登錄流程。 |
電子郵件域配置
如果一個組織沒有專門的企業單點登錄,你可以使用電子郵件域來啟用即時配置。這通常發生在沒有預算用於企業單點登錄的小型企業中,但他們仍希望實現一定程度的成員入職自動化和安全管理。
當用戶註冊時,如果其驗證過的電子郵件地址符合在組織層面配置的電子郵件域,他們將被配置到相應的組織,並獲得相應的角色。
電子郵件域配置適用於:
- 電子郵件註冊認證
- 社交註冊認證
電子郵件流
用戶狀態 | 流程說明 |
---|---|
用戶不存在,並使用電子郵件註冊,且啟用了 JIT。 | 用戶將被創建並自動加入對應的組織與相應的角色。 |
用戶存在,且使用與已配置電子郵件域相同的已驗證電子郵件地址,並啟用了 JIT。 | 正常的電子郵件登錄流程。 |
用戶不存在,並使用電子郵件註冊,且未啟用 JIT。 | 正常的電子郵件註冊流程。 |
用戶存在,並使用電子郵件登錄,且未啟用 JIT。 | 正常的電子郵件登錄流程。 |
社交流
用戶狀態 | 流程說明 |
---|---|
用戶不存在,使用已驗證電子郵件的社交帳戶註冊,且啟用了 JIT。 | 用戶將被創建並自動加入對應的組織與相應的角色。 |
用戶不存在,使用未驗證電子郵件或沒有電子郵件的社交帳戶註冊,且啟用了 JIT。 | 正常的社交註冊流程。 |
用戶存在,使用與已配置電子郵件域相同的已驗證電子郵件地址,並通過社交帳戶登錄,且啟用了 JIT。 | 正常的社交登錄流程。 |
用戶不存在,使用社交帳戶註冊,且未啟用 JIT。 | 正常的社交註冊流程。 |
用戶存在 ,使用社交帳戶登錄,且未啟用 JIT。 | 正常的社交登錄流程。 |
處理電子郵件域配置和企業 SSO 潛在沖突
如果你最初設置了電子郵件域配置,然後配置了具有相同電子郵件域的企業 SSO,那麼會發生什麼:
當用戶輸入他們的電子郵件地址時,他們將被重定向到 SSO 流程,繞過電子郵件認證。這意味著 JIT 過程不會被觸發。
為了解決這個問題,我們將在配置過程中顯示一條警告訊息。確保通過選擇正確的 SSO 來啟用即時配置,並不要依賴電子郵件域配置。
預設組織角色
在配置用戶時,你可以設定其預設組織角色。角色列表來自組織模板,你可以選擇一個角色或將其留空。
企業 SSO 即時更新
幸運的是,我們已經在企業 SSO 中內置了這一功能!你可以選擇是否在首次登錄或每次登錄時將配置文件信息同步到 Logto。我們還會考慮添加更多功能,比如角色和組織映射以及重新配置功能。
查看這裡了解更多。
即時功能在 Logto 中立即可用。立即註冊 Logto,開始自動化你的客戶成員入職。