인가 (Authorization)
인가 (Authorization)는 사용자가 인증된 후 수행할 수 있는 작업이나 접근할 수 있는 리소스를 정의하여, 앱 내에서 무엇을 할 수 있는지를 결정합니다.
Logto 인가 서비스는 토큰 기반 메커니즘을 사용합니다. Logto는 액세스 토큰
을 제공하며, 리소스 서버는 접근 제어의 일환으로 이를 검증하고 시행할 책임이 있습니다.
액세스 토큰에는 두 가지 유형이 있습니다:
- 액세스 토큰: 사용자 / 시스템 API 리소스에 접근하는 데 사용됩니다.
- 조직 토큰: 조직 리소스를 위한 특별한 액세스 토큰으로, 조직 기능이 활성화된 다중 테넌트 아키텍처에서 사용됩니다.
Logto는 다양한 시나리오에 대한 인가 서비스를 제공합니다. 다음은 몇 가지 일반적인 사용 사례이며, Logto의 기능 및 서비스와 요구 사항을 맞출 수 있습니다.
시나리오 | 방법 | 인가 흐름 |
---|---|---|
RBAC 없이 API 리소스를 간단히 보호하세요. | Logto 콘솔에서 API를 등록하고, Logto가 간단히 액세스 토큰을 부여합니다. | Logto는 액세스 토큰 (권한 없이)을 부여하며, API 리소스를 보호하기 위해 이러한 토큰을 검증해야 합니다. |
RBAC로 API 리소스를 보호하세요 | API를 등록하고 유연하고 세밀한 접근 제어를 위해 RBAC를 적용하세요. | Logto는 권한 이 포함된 액세스 토큰 을 부여하여 API 리소스를 보호합니다. |
조직 수준 RBAC (조직 템플릿)을 사용하여 조직 리소스를 보호하세요. | 각 조직을 리소스로 취급하고, 다중 테넌트 아키텍처에서 접근 제어를 위해 조직 수준 RBAC (조직 템플릿)을 사용하세요. | Logto는 조직 권한 이 포함된 조직 토큰 을 부여하여 조직 수준 리소스를 보호합니다. |
또한 사용자 정의 토큰 클레임과 같은 도구를 사용하여 액세스 토큰에 추가 클레임을 포함시켜 사용자 정의 기술 요구 사항을 충족할 수 있습니다. 또한 더 고급 사용 사례로는: 조직 수준 RBAC (조직 템플릿)을 사용하여 API 리소스를 보호하세요
역할 기반 접근 제어에 익숙해지기
역할 기반 접근 제어는 Logto 인프라 전체에서 사용되며, 시스템 (역할 기반 접근 제어) 및 조직 수준 (조직 RBAC)에서 사용됩니다:
- 주체 (Subjects): 실제 사용자 (또는 조직 컨텍스트의 구성원) 또는 기계 간 앱과 같은 비인간 엔티티일 수 있습니다.
- API 리소스: 보호가 필요한 시스템 내의 리소스입니다.
- 역할 (Roles): 직무 기능이나 책임을 나타냅니다.
- 권한 (Permissions): 특정 리소스에 대해 인가된 작업을 정의합니다.
이러한 엔티티와 그 관계를 관리하면 접근 제어 요구 사항을 유연하게 충족할 수 있습니다. Logto에서는 사용자 / 시스템 수준 (중간 조직 계층이 포함되지 않음)과 조직에서 두 가지 수준으로 RBAC를 사용할 수 있습니다. 조직 컨텍스트에서는 독립적인 RBAC 설계를 가지고 있으며 이를 "조직 템플릿"이라고 부릅니다.
인가를 위한 기능
Logto 콘솔에서 API 리소스를 간단히 등록하고 API 리소스를 보호하세요.
역할 기반 접근 제어 (RBAC)를 사용하여 사용자 / 시스템 수준의 권한을 관리하여 더 쉬운 관리와 유연성을 제공합니다.
조직 템플릿 (조직 RBAC)을 사용하여 리소스를 보호하세요. 조직 수준에서 역할이 정의된 다중 테넌트 제품에 이상적입니다.
사용자 정의 토큰 클레임을 사용하여 속성 기반 접근 제어를 구현하기 위해 사용자 정의 클레임을 추가하세요.
관련 리소스
RBAC 및 ABAC: 알아야 할 접근 제어 모델Logto의 인가 시스템 및 아이덴티티 관리 시나리오에서의 사용