授權 (Authorization)
Logto 中的 授權 (Authorization) 定義了使用者與應用程式在驗證 (Authentication) 後可以做什麼:每個身分可存取哪些 API、資源或操作。
Logto 為現代 SaaS 與 AI 應用提供彈性、基於權杖的授權。你可以在全域或每個組織 (Organization) 範圍內保護 API 資源 (API resource)。所有權限皆透過 角色型存取控制 (RBAC, Role-based Access Control) 系統管理,並透過 組織範本 (Organization template) 進階支援多租戶應用。
核心概念
- 角色型存取控制 (RBAC, Role-based Access Control): Logto 以 RBAC 為基礎,將權限指派給使用者、用戶端與服務。深入瞭解 RBAC。
- API 資源 (API resource): 你想保護的任何後端服務或端點(全域或組織專屬)。
- 角色 (Role): 權限的集合(例如:管理員、檢視者、編輯者)。
- 權限(權限範圍,Permission / Scope): 具體允許的操作(如
read:report
、invite:member
)。 - 組織 (Organization): 代表應用中的租戶、工作區或客戶。這與 Logto 租戶(tenant)不同,後者指的是你的整體 Logto 專案或實例。
- 組織範本 (Organization template): 針對多租戶應用,定義可重複使用的角色與權限組,套用於所有組織。瞭解組織範本如何運作。
- 存取權杖 (Access token) / 組織權杖 (Organization token): 內含全域或組織範圍權限宣告 (Claims) 的權杖。
授權情境
Logto 有三種主要授權模式。請選擇符合你需求的情境:
情境 | 適用時機 | 權杖類型 | 角色設定方式 | 進一步瞭解 |
---|---|---|---|---|
全域 API 資源權限 | 保護整個 Logto 租戶共用的 API 資源(非組織專屬) | 存取權杖 (Access token) | 指派全域角色 / 權限 | 保護全域 API 資源 |
組織(非 API)權限 | 控制組織專屬操作、UI 功能或商業邏輯(非 API) | 組織權杖 (Organization token) | 指派組織角色 / 權限作為應用控制 | 保護組織(非 API)權限 |
組織層級 API 資源權限 | 保護僅特定組織可存取的 API 資源 | 組織權杖 (Organization token) | 指派組織角色 / 權限作為組織 API 控制 | 保護組織層級 API 資源 |
Logto 依據 RFC 8707 建模 API 資源,於 OAuth 2.0 授權流程中使用 resource
參數。這讓你能輕鬆保護多個 API 或微服務,並確保與其他標準系統的相容性。
需要自訂宣告 (Claims) 或進階存取控制?請參閱 自訂權杖宣告。
Logto 授權運作方式
-
基於權杖 (Token-based): 每次存取皆透過安全、簽章的存取權杖 (Access token) 授權。你的後端驗證權杖並強制執行權限(權限範圍,Scope)。
-
全域 vs. 組織權限(權限範圍,Scope):
- 全域 權限(Scope):控制整個 Logto 租戶下 API 資源的存取。
- 組織 權限(Scope):控制組織範圍內的商業邏輯(應用功能)與 API 資源。組織權限可應用於非 API 功能(如 UI 元件或工作流程)及 / 或組織專屬 API 端點。
-
角色與權限(權限範圍,Scopes): 角色是權限(Scopes)的集合。根據情境,將角色指派給使用者或用戶端(全域或組織範圍)。
下一步
準備好更進一步了嗎?動手實作、探索實戰指南,或深入理解:
精通角色與權限,實現細緻的存取控制。
瞭解如何為多租戶應用設定可重複使用的角色與權限。
以全域角色與權限保護你的 Logto 租戶共用 API。
以組織角色控制組織專屬操作與 UI 功能。
以組織角色保護特定組織可存取的 API。
學習如何在後端驗證 Logto 權杖以保護 API。
學習如何新增自訂宣告以支援進階存取控制情境。
使用情境
想找實用範例與真實案例?請參考以下指南:
逐步體驗 RBAC 安全授權的真實範例。
跟隨完整指南,深入多租戶 SaaS 架構與實作。