Logto 的授權系統及其在身份管理場景中的使用
探索 Logto 多功能的授權系統。
Logto 不僅是一個身份驗證提供者,還是一個授權提供者。 在本文中,我將概述 Logto 的授權方法,並解釋這些靈活的層如何應用於各種場景。
使用基於角色的訪問控制來保護你的 API 資源
在 Logto 中註冊 API 資源
為了建立一個授權系統,使不同的用戶對資源和操作權限有不同的訪問權限,你可以先在 Logto 中註冊 API 資源,然後添加權限。 利用角色來聚合這些權限,無論是針對單一 API 還是多個 API。
Logto 的一個很棒的功能是它能夠創建各種類型的角色,可以應用於不同的實體,包括用戶和機器對機器應用程式。 用戶可以繼承用戶特定的角色,而機器對機器應用程式可以繼承專為它們設計的角色。
目標實體:用戶
如果你的應用是一個需要不同用戶執行不同動作的一般應用,利用用戶角色是一個靈活的方式來建立一個有效的訪問控制系統。
目標實體:機器對機器應用程式
機器對機器(M2M)是一種常見的做法,用於認證如果你有一個應用需直接與資源通話,比如更新用戶自定義數據的 API 服務、提取每日訂單的統計服務等等。
在 Logto 中,機器對機器應用程式可以用於兩個關鍵使用案例:
- 透過設定授權系統來保護你的無頭 API 應用。
- 使用 Logto 的管理 API 來開發你的服務,例如啟用用戶資料以允許最終用戶更新其與身份相關的信息。
在此上下文中,用戶角色的區別在於角色明確定義為機器對機器角色,而非用戶角色,它只能分配給機器對機器應用程式。
在這個 API RBAC 上下文中,API 資源、角色和權限在一個統一的身份系統中是"民主化"的,並在系統層面進行查看。這種方法在簡單的 B2C 產品中很常見,因為不太需要複雜的層次管理。
使用組織模板(RBAC)來保護你的組織級資源
在 B2B 場景中,不同組織的用戶角色可能各不相同。例如,John 在組織 A 中可能擁有管理員角色,但在組織 B 中僅擁有成員角色。
這可以通過在 Logto 中設置組織模板來實現,這有助於你的多租戶應用建立訪問控制系統。
與其為每個組織創建大量角色,不如讓 Logto 讓你創建一個組織模板。 這種方法在所有組織中保持一致性,同時允許用戶在不同的組織中具有不同的角色靈活性。
組織權限不需要註冊 API 資源。Logto 發行的組織令牌中包含角色和其他聲明,這可以用來在你的 API 中進一步驗證組織令牌。
使用組織模板(RBAC)來保護系統和組織級資源
如果你在 Logto 中註冊了 API 資源,並希望將其用於組織層面,這是完全可能的。
如果你使用相同的端點進行系統級功能和組織特定操作,可能需要這樣做。單一端點沒有問題,利用組織上下文也能有效確保租戶隔離。
在 Logto 中,你可以將 API 權限直接分配給組織的角色,以滿足你的特定需求。
以下是如何將 API 權限與組織角色集成的快速概覽。
此功能正在開發中,預計將在 2024 年上半年推出。
對於 Logto 授權系統和我們即將推出的授權功能感興趣嗎? 立即註冊 並立即獲取最新的產品更新。