인가 (Authorization)
Logto에서의 인가 (Authorization)는 인증 (Authentication) 이후 사용자가 무엇을 할 수 있는지 — 각 아이덴티티에 대해 어떤 API, 리소스, 또는 액션이 허용되는지를 정의합니다.
Logto는 현대 SaaS 및 AI 애플리케이션을 위한 유연한, 토큰 기반 인가를 제공합니다. API 리소스를 전역적으로 또는 각 조직 컨텍스트 내에서 보호할 수 있습니다. 모든 권한은 역할 기반 접근 제어 (RBAC) 시스템을 통해 관리되며, 조직 템플릿을 통한 멀티 테넌트 앱 고급 지원도 제공합니다. 사용자가 무엇을 할 수 있는지 제어하는 것 외에도, 앱 수준 접근 제어를 통해 각 애플리케이션에 로그인할 수 있는 사용자를 제한할 수도 있습니다.
핵심 개념
- 역할 기반 접근 제어 (RBAC): Logto는 RBAC를 기반으로 사용자, 클라이언트, 서비스에 권한을 할당합니다. RBAC에 대해 더 알아보기.
- API 리소스: 보호하고자 하는 모든 백엔드 서비스 또는 엔드포인트 (전역 또는 조직별).
- 역할: 권한의 그룹 (예: 관리자, 뷰어, 에디터).
- 권한 (스코프): 특정 허용된 액션 (예:
read:report,invite:member). - 조직: 애플리케이션 내의 테넌트, 워크스페이스, 또는 고객을 나타냅니다. 이는 Logto 테넌트(전체 Logto 프로젝트 또는 인스턴스)와는 다릅니다.
- 조직 템플릿: 멀티 테넌트 앱을 위해, 모든 조직에 적용되는 재사용 가능한 역할 및 권한 세트를 정의합니다. 조직 템플릿 작동 방식 보기.
- 액세스 토큰 / 조직 토큰: 전역 또는 조직 범위 권한에 대한 클레임을 포함하는 토큰.
인가 시나리오
Logto에는 세 가지 주요 인가 패턴이 있습니다. 필요에 맞는 시나리오를 선택하세요:
| 시나리오 | 사용 시점 | 토큰 유형 | 역할 설정 | 자세히 알아보기 |
|---|---|---|---|---|
| 전역 API 리소스 권한 | 전체 Logto 테넌트에서 공유되는 API 리소스를 보호할 때 (조직별 아님) | 액세스 토큰 | 전역 역할/권한 할당 | 전역 API 리소스 보호하기 |
| 조직 (비-API) 권한 | 조직별 액션, UI 기능, 또는 비즈니스 로직을 제어할 때 (API 아님) | 조직 토큰 | 앱 제어를 위한 조직 역할/권한 할당 | 조직 (비-API) 권한 보호하기 |
| 조직 수준 API 리소스 권한 | 특정 조직 내에서 접근 가능한 API 리소스를 보호할 때 | 조직 토큰 | 조직 API를 위한 조직 역할/권한 할당 | 조직 수준 API 리소스 보호하기 |
Logto는 RFC 8707에 따라 API 리소스를 모델링하며, OAuth 2.0 인가 플로우에서 resource 파라미터를 사용합니다. 이를 통해 여러 API 또는 마이크로서비스를 쉽게 보호할 수 있고, 다른 표준 기반 시스템과의 호환성도 보장됩니다.
이러한 패턴은 사용자가 애플리케이션에 로그인한 이후 무엇을 할 수 있는지를 제어합니다. 특정 애플리케이션에 사용자가 로그인할 수 있는지 자체를 제어하려면 앱 수준 접근 제어를 사용하세요. 이는 사용자, 역할, 조직, 또는 조직 역할 기반 허용 규칙으로 애플리케이션 접근을 제한하며, 위의 토큰 기반 패턴과는 독립적으로 동작합니다.
커스텀 클레임 또는 고급 접근 제어가 필요하신가요? 커스텀 토큰 클레임을 참고하세요.
Logto 인가 작동 방식
-
토큰 기반: 모든 접근은 안전하게 서명된 액세스 토큰을 통해 부여됩니다. 백엔드는 토큰을 검증하고 권한(스코프)을 적용합니다.
-
전역 vs. 조직 권한 (스코프):
- 전역 권한 (스코프): 전체 Logto 테넌트에서 API 리소스 접근을 제어합니다.
- 조직 권한 (스코프): 조직 컨텍스트 내에서 비즈니스 로직(앱 기능)과 API 리소스 모두를 제어합니다. 조직 권한은 비-API 기능(예: UI 요소, 워크플로우) 및/또는 조직 범위 API 엔드포인트에 적용될 수 있습니다.
-
역할 및 권한 (스코프): 역할은 권한(스코프)의 집합입니다. 시나리오에 따라 전역 또는 조직 내에서 사용자 또는 클라이언트에 역할을 할당하세요.
다음 단계
더 나아갈 준비가 되셨나요? 직접 실습하거나, 실제 가이드를 탐색하거나, 이해를 심화해보세요:
세분화된 접근 제어를 위한 역할과 권한을 마스터하세요.
멀티 테넌트 애플리케이션을 위한 재사용 가능한 역할과 권한 설정 방법을 알아보세요.
Logto 테넌트 전체에서 공유되는 API를 전역 역할과 권한으로 보호하세요.
조직별 액션과 UI 기능을 조직 역할로 제어하세요.
특정 조직 내에서 접근 가능한 API를 조직 역할로 보호하세요.
백엔드에서 Logto 토큰을 검증하여 API를 안전하게 보호하는 방법을 알아보세요.
사용자, 역할, 조직, 조직 역할을 활용해 각 애플리케이션에 로그인할 수 있는 사용자를 제한하세요.
고급 접근 제어 시나리오를 위한 커스텀 클레임 추가 방법을 알아보세요.
활용 사례
실제 예시와 현실적인 시나리오가 궁금하신가요? 아래 가이드를 확인하세요:
RBAC로 안전한 인가를 단계별로 구현하는 실제 예시를 확인하세요.
멀티 테넌트 SaaS 아키텍처 및 구현에 대한 종합 가이드를 따라가세요.