跳至主要內容

授權 (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:reportinvite: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)的集合。根據情境,將角色指派給使用者或用戶端(全域或組織範圍)。

下一步

準備好更進一步了嗎?動手實作、探索實戰指南,或深入理解:

使用情境

想找實用範例與真實案例?請參考以下指南:

延伸閱讀

RBAC 與 ABAC:你應該知道的存取控制模型 什麼時候該用 JWT? API 授權方法