跳到主要内容

授权 (Authorization)

在 Logto 中,授权 (Authorization) 定义了用户和应用在认证 (Authentication) 后可以做什么:每个身份可以访问哪些 API、资源或执行哪些操作。

Logto 为现代 SaaS 和 AI 应用提供灵活的、基于令牌的授权 (Authorization)。你可以在全局范围或每个组织 (Organization) 内保护 API 资源。所有权限都通过 基于角色的访问控制 (RBAC) 系统进行管理,并通过 组织模板 为多租户应用提供高级支持。

核心概念

  • 基于角色的访问控制 (RBAC): Logto 以 RBAC 为基础,为用户、客户端和服务分配权限。了解更多 RBAC 相关内容
  • API 资源: 你希望保护的任何后端服务或端点(全局或组织 (Organization) 专属)。
  • 角色 (Role): 权限 (Permissions) 的集合(如 admin、viewer、editor)。
  • 权限 (Permission)(权限 (Scope)): 具体允许的操作(如 read:reportinvite:member)。
  • 组织 (Organization): 代表你的应用中的租户、工作区或客户。这不同于 Logto 租户,后者指的是你的整体 Logto 项目或实例
  • 组织模板: 针对多租户应用,定义可复用的角色 (Roles) 和权限 (Permissions) 集合,应用于所有组织 (Organizations)。了解组织模板如何工作
  • 访问令牌 (Access token) / 组织令牌 (Organization token): 包含全局或组织范围权限 (Permissions) 声明 (Claims) 的令牌。

授权 (Authorization) 场景

Logto 中有三种主要的授权 (Authorization) 模式。请选择与你需求相符的场景:

场景适用时机令牌类型角色 (Role) 配置了解更多
全局 API 资源权限 (Permissions)保护整个 Logto 租户共享的 API 资源(非组织 (Organization) 专属)访问令牌 (Access token)分配全局角色 (Roles) / 权限 (Permissions)保护全局 API 资源
组织 (Organization)(非 API)权限 (Permissions)控制组织 (Organization) 专属操作、UI 功能或业务逻辑(非 API)组织令牌 (Organization token)为应用控制分配组织 (Organization) 角色 (Roles) / 权限 (Permissions)保护组织(非 API)权限
组织级 API 资源权限 (Permissions)保护特定组织 (Organization) 内可访问的 API 资源组织令牌 (Organization token)为组织 (Organization) API 分配组织 (Organization) 角色 (Roles) / 权限 (Permissions)保护组织级 API 资源

Logto 按照 RFC 8707 建模 API 资源,在 OAuth 2.0 授权 (Authorization) 流程中使用 resource 参数。这让你可以轻松保护多个 API 或微服务,并确保与其他基于标准的系统兼容。

提示:

需要自定义声明 (Claims) 或高级访问控制?请参阅 自定义令牌声明 (Claims)

Logto 授权 (Authorization) 工作原理

  • 基于令牌: 每次访问都通过安全签名的访问令牌 (Access token) 授权 (Authorization)。你的后端验证令牌并强制执行权限 (Scopes)。

  • 全局与组织 (Organization) 权限 (Scope):

    • 全局 权限 (Scope):控制整个 Logto 租户范围内 API 资源的访问。
    • 组织 (Organization) 权限 (Scope):控制组织 (Organization) 内的业务逻辑(应用功能)和 API 资源。组织 (Organization) 权限 (Permissions) 可应用于非 API 功能(如 UI 元素或工作流)和 / 或组织 (Organization) 范围的 API 端点。
  • 角色 (Roles) 与权限 (Scopes): 角色 (Roles) 是权限 (Scopes) 的集合。根据你的场景,将角色 (Roles) 分配给用户或客户端(全局或组织 (Organization) 内)。

下一步

准备进一步探索?动手实践、查阅真实案例指南,或加深理解:

使用场景

想要实际案例和真实场景?请查阅以下指南:

延伸阅读

RBAC 与 ABAC:你应该了解的访问控制模型 我应该何时使用 JWT? API 授权 (Authorization) 方法