본문으로 건너뛰기

인가 (Authorization)

인가 (Authorization)는 사용자가 인증된 후 수행할 수 있는 작업이나 접근할 수 있는 리소스를 정의하여, 앱 내에서 무엇을 할 수 있는지를 결정합니다.

Logto 인가 서비스는 토큰 기반 메커니즘을 사용합니다. Logto는 액세스 토큰을 제공하며, 리소스 서버는 접근 제어의 일환으로 이를 검증하고 시행할 책임이 있습니다.

액세스 토큰에는 두 가지 유형이 있습니다:

  1. 액세스 토큰: 사용자 / 시스템 API 리소스에 접근하는 데 사용됩니다.
  2. 조직 토큰: 조직 리소스를 위한 특별한 액세스 토큰으로, 조직 기능이 활성화된 다중 테넌트 아키텍처에서 사용됩니다.

Logto는 다양한 시나리오에 대한 인가 서비스를 제공합니다. 다음은 몇 가지 일반적인 사용 사례이며, Logto의 기능 및 서비스와 요구 사항을 맞출 수 있습니다.

시나리오방법인가 흐름
RBAC 없이 API 리소스를 간단히 보호하세요.Logto 콘솔에서 API를 등록하고, Logto가 간단히 액세스 토큰을 부여합니다.Logto는 액세스 토큰 (권한 없이)을 부여하며, API 리소스를 보호하기 위해 이러한 토큰을 검증해야 합니다.
RBAC로 API 리소스를 보호하세요API를 등록하고 유연하고 세밀한 접근 제어를 위해 RBAC를 적용하세요.Logto는 권한이 포함된 액세스 토큰을 부여하여 API 리소스를 보호합니다.
조직 수준 RBAC (조직 템플릿)을 사용하여 조직 리소스를 보호하세요.각 조직을 리소스로 취급하고, 다중 테넌트 아키텍처에서 접근 제어를 위해 조직 수준 RBAC (조직 템플릿)을 사용하세요.Logto는 조직 권한이 포함된 조직 토큰을 부여하여 조직 수준 리소스를 보호합니다.

또한 사용자 정의 토큰 클레임과 같은 도구를 사용하여 액세스 토큰에 추가 클레임을 포함시켜 사용자 정의 기술 요구 사항을 충족할 수 있습니다. 또한 더 고급 사용 사례로는: 조직 수준 RBAC (조직 템플릿)을 사용하여 API 리소스를 보호하세요

역할 기반 접근 제어에 익숙해지기

역할 기반 접근 제어는 Logto 인프라 전체에서 사용되며, 시스템 (역할 기반 접근 제어) 및 조직 수준 (조직 RBAC)에서 사용됩니다:

  1. 주체 (Subjects): 실제 사용자 (또는 조직 컨텍스트의 구성원) 또는 기계 간 앱과 같은 비인간 엔티티일 수 있습니다.
  2. API 리소스: 보호가 필요한 시스템 내의 리소스입니다.
  3. 역할 (Roles): 직무 기능이나 책임을 나타냅니다.
  4. 권한 (Permissions): 특정 리소스에 대해 인가된 작업을 정의합니다.

이러한 엔티티와 그 관계를 관리하면 접근 제어 요구 사항을 유연하게 충족할 수 있습니다. Logto에서는 사용자 / 시스템 수준 (중간 조직 계층이 포함되지 않음)과 조직에서 두 가지 수준으로 RBAC를 사용할 수 있습니다. 조직 컨텍스트에서는 독립적인 RBAC 설계를 가지고 있으며 이를 "조직 템플릿"이라고 부릅니다.

인가를 위한 기능

관련 리소스

RBAC 및 ABAC: 알아야 할 접근 제어 모델

Logto의 인가 시스템 및 아이덴티티 관리 시나리오에서의 사용