조직 템플릿
조직 템플릿은 다중 테넌트 앱을 위한 접근 제어 설계입니다. 이는 역할 기반 접근 제어 (RBAC)의 기본을 바탕으로 하지만, 조직이 비즈니스, 그룹 또는 사용자를 나타내는 다중 테넌트 환경에 맞게 조정되었습니다.
조직 수준에서는 리소스에 대한 권한을 관리하기 위해 접근 제어가 필요합니다.
여기 인기 있는 협업 도구인 Notion과 일반적인 다중 테넌트 앱을 사용하는 예가 있습니다. 이는 다양한 인증 (Authentication) 및 인가 (Authorization) 기능을 지원합니다:
- 각 작업 공간마다 별도의 계정이 필요하지 않고, 하나의 계정으로 여러 작업 공간을 생성하고 참여할 수 있습니다.
- Notion은 모든 작업 공간에서 "작업 공간 소유자"와 "멤버"와 같은 동일한 세트의 접근 수준을 사용합니다. 각 작업 공간에 대해 다른 접근 수준을 기대할 수 있음에도 불구하고 말입니다.
이 장에서는 조직 수준의 인가 설계를 의미하는 조직 템플릿에 초점을 맞출 것입니다.
이를 적절히 설정하려면 조직이 어떻게 작동하는지와 관련된 다양한 엔티티를 이해해야 합니다. 아직 검토하지 않았다면 해당 장을 반드시 읽어보세요.
조직 템플릿 이해하기
조직 권한
조직 권한은 조직의 맥락에서 작업을 수행할 수 있는 인가를 의미합니다. 조직 권한은 의미 있는 문자열로 표현되어야 하며, 이는 이름과 고유 식별자로도 사용됩니다.
예를 들어, edit:resource
입니다.
조직 권한은 조직의 맥락 없이는 의미가 없습니다. 예를 들어, 조직 org1
의 맥락에서 edit:resource
는 조직 org2
의 맥락에서 edit:resource
와 다릅니다. 이는 서로 다른 리소스 (org1
vs org2
)를 가리키기 때문입니다.
조직 역할
조직 역할은 사용자에게 할당할 수 있는 조직 권한 또는 API 권한 (Logto Console의 API 리소스에 직접 정의된 API 권한)의 모음입니다.

조직 역할은 조직의 맥락 없이는 의미가 없습니다. 예를 들어, 조직 org1
의 맥락에서 admin
은 조직 org2
의 맥락에서 admin
과 다릅니다.
조직 템플릿
조직 템플릿은 모든 조직에 적용되는 조직 권한과 역할의 모음을 의미합니다. 이는 조직 수준의 역할 기반 접근 제어로 간주됩니다.
일반적인 협업 앱을 생각해보면, 이들은 자연스럽게 조직 내에서 사용자가 할 수 있는 일을 정의하는 동일한 접근 제어 "템플릿"을 공유합니다. 우리는 이를 Logto에서 "조직 템플릿"이라고 부릅니다.
모든 것이 어떻게 연결되는지 이해하기 위해 예를 들어보겠습니다:
John, Sarah는 서로 다른 조직에서 서로 다른 역할을 가지고 있습니다.

이 다이어그램에서 알아야 할 몇 가지 정보는 다음과 같습니다:
- John은 두 조직에 소속되어 있으며, 그의 고유 식별자로
[email protected]
이메일을 사용합니다. 그는Organization A
에서admin
역할을 맡고 있으며,Organization B
에서는guest
입니다. - Sarah는 하나의 조직에 소속되어 있으며, 그녀의 고유 식별자로
[email protected]
이메일을 사용합니다. 그녀는Organization B
의admin
입니다. Admin
,Member
,Guest
역할은 조직 내에서 지정되며, 이러한 역할은 다양한 조직에서 일관성을 유지합니다.- 조직 템플릿 설정 내에서 추가 역할을 생성할 수 있습니다. 새로 생성된 역할은 모든 조직에 적용되고 공유됩니다.
Logto에서 조직 템플릿은 조직을 위해 특별히 설계된 접근 제어 모델입니다. 이는 역할 기반 접근 제어 (RBAC)를 기반으로 하지만, 다른 시나리오를 위해 설계되었습니다.
조직을 위해 역할과 권한을 설정해야 할 때 조직 템플릿을 사용하세요.
조직 수준이 없는 간단한 B2C 앱의 경우, 사용자 / 시스템 수준 RBAC를 대신 사용하세요.
Logto에서는 조직 템플릿과 사용자 / 시스템 수준 RBAC를 모두 사용할 수 있어, 특정 비즈니스 및 제품 요구 사항을 충족하기 위한 보다 강력한 접근 방식을 제공합니다.
관련 리소스
사례 연구: Logto 조직으로 다중 테넌시 구축하기