跳至主要內容

授權 (Authorization)

授權 (Authorization) 定義使用者在驗證後可以執行的操作或存取的資源,決定他們在應用程式中可以做什麼。

Logto 授權服務使用 基於權杖的 機制。雖然 Logto 提供 存取權杖 (access token),但你的資源伺服器負責驗證並執行它們作為存取控制的一部分。

有兩種類型的 存取權杖 (access tokens)

  1. 存取權杖 (Access tokens):用於存取使用者/系統 API 資源。
  2. 組織權杖 (Organization tokens):用於組織資源的特殊存取權杖,當啟用組織功能時,用於多租戶架構。

Logto 提供多種情境的授權服務。以下是幾個典型的使用案例,你可以選擇合適的方案並將其與 Logto 的功能和服務匹配。

情境方法授權流程
簡單保護你的 API 資源,不使用 RBAC。在 Logto Console 中註冊你的 API,Logto 將簡單地授予存取權杖Logto 授予 存取權杖 (access token)(不含權限),你需要驗證這些權杖以保護你的 API 資源。
使用 RBAC 保護你的 API 資源註冊你的 API 並應用 RBAC 以實現靈活、細粒度的存取控制。Logto 授予包含 權限 (permission)存取權杖 (access token) 以保護你的 API 資源。
使用組織層級 RBAC(組織模板)保護你的組織資源。將每個組織視為資源,使用組織層級 RBAC(組織模板)在 多租戶 架構中進行存取控制。Logto 授予包含 組織權限 (organization permission)組織權杖 (organization token) 以保護組織層級資源。

你也可以使用像 自訂權杖宣告 這樣的工具,在存取權杖中包含額外的宣告以滿足你的自訂技術需求。還有更高級的使用案例:使用組織層級 RBAC(組織模板)保護你的 API 資源

熟悉角色型存取控制

角色型存取控制在整個 Logto 基礎設施中使用,涵蓋系統(角色型存取控制)和組織層級(組織 RBAC):

  1. 主體 (Subjects):可以是真實的使用者(或在組織上下文中的成員)或非人類實體,如機器對機器應用程式。
  2. API 資源 (API resources):系統中需要保護的資源。
  3. 角色 (Roles):代表工作職能或責任。
  4. 權限 (Permissions):定義在特定資源上授權的操作。

管理這些實體及其關係,讓你能靈活滿足存取控制需求。在 Logto 中,你可以在兩個層級使用 RBAC,使用者/系統層級(不涉及中間的組織層),以及組織。在組織上下文中,有一個獨立的 RBAC 設計,我們稱之為「組織模板」。

授權功能

相關資源

RBAC 和 ABAC:你應該知道的存取控制模型

Logto 的授權系統及其在身分管理情境中的應用