본문으로 건너뛰기

조직 템플릿

Logto의 조직 템플릿은(는) SaaS 제품 내 모든 조직(테넌트)에서 사용할 수 있는 일관된 역할 및 권한(permissions) 집합을 정의합니다. 이러한 정의를 중앙에서 관리함으로써 보안을 강화하고, 확장 가능한 온보딩을 가능하게 하며, 모든 조직에서 우수한 사용자 경험을 보장할 수 있습니다.

정보:

멀티 테넌트 애플리케이션을 구축하지 않거나 조직별 역할/권한이 필요하지 않은 경우, 이 섹션을 건너뛰어도 됩니다. Logto의 글로벌 역할 및 권한(permissions)은 단일 테넌트 또는 조직 기반이 아닌 애플리케이션에 충분합니다.

조직 템플릿이란?​

조직 템플릿은 각 조직에서 사용할 수 있는 역할 및 권한(permissions)을 지정하는 청사진입니다. Logto 테넌트에서 생성된 모든 조직은 자동으로 이 템플릿을 상속받아, 모든 테넌트에서 일관된 인가 (Authorization) 모델을 보장합니다.

  • 템플릿을 사용하는 이유
    • 모든 조직에 대해 일관된 접근 제어 정책을 강제합니다.
    • 신규 테넌트 및 팀원 온보딩을 간소화합니다.
    • 제품이 성장함에 따라 역할 기반 접근 제어 (RBAC) 업데이트 및 감사를 쉽게 만듭니다.

핵심 개념​

  • 조직 역할: 조직 내 사용자 또는 M2M(기계 간) 클라이언트에 부여되는 권한(permissions) 집합입니다. 역할은 각 조직 내에서 "누가 무엇을 할 수 있는지"를 정의합니다.
  • 조직 권한(permissions): 역할에 할당할 수 있는 세분화된 비-API 작업(예: UI 기능, 비즈니스 로직)입니다.
  • API 리소스: 권한(permissions)으로 보호되는 API 엔드포인트/서비스입니다. 조직 역할은 조직 범위의 API 접근을 위해 API 리소스와 연결될 수 있습니다.
  • 역할-권한 매핑: 템플릿 내 각 조직 역할은 하나 이상의 권한(permissions)에 매핑될 수 있습니다.
  • 템플릿 전파: 템플릿에 대한 변경 사항은 모든 조직에서 사용할 수 있는 역할 및 권한(permissions)을 업데이트합니다.
노트:

조직 역할 및 권한(permissions)(API 리소스 권한 포함)은 글로벌 역할 및 권한(permissions)과는 구별됩니다. 그러나 API 리소스 및 해당 권한(permissions)은 중앙에서 정의되며, 글로벌 및 조직 컨텍스트 모두에서 참조할 수 있습니다.

글로벌 역할 및 권한(permissions)과의 비교​

역할 유형 비교

역할 유형API 리소스 권한(permissions) 보유 가능?조직(비-API) 권한(permissions) 보유 가능?
글로벌예아니오
조직예예

권한(permissions) 유형 비교

권한(permissions) 유형정의 위치글로벌 역할에 할당 가능?조직 역할에 할당 가능?
API 리소스API 리소스 엔티티예예
조직조직 템플릿아니오예

조직 템플릿의 구성 요소​

조직 템플릿은 다음으로 구성됩니다:

  • 역할: 예시: Admin, Member, Viewer, Billing
  • 조직 권한(permissions): 예시: invite:member, manage:billing, view:analytics
  • 역할-권한 매트릭스: 각 역할이 부여하는 권한(조직 권한 및 API 리소스 권한 포함)의 매핑

시각적 개요

조직 템플릿 개요

이 다이어그램은 Logto 조직 템플릿에서 조직 역할, 권한(permissions), API 리소스가 어떻게 연결되는지 보여줍니다.

Logto에서 생성된 각 조직은 동일한 역할 및 권한(permissions) 집합을 가지며, 사용자/클라이언트는 필요에 따라 조직별로 역할을 할당받을 수 있습니다.

제품에서 조직 템플릿 사용하기​

Logto의 조직 템플릿은 다음과 같은 현대적 멀티 테넌트 SaaS 애플리케이션을 위해 설계되었습니다:

  • 각 조직이 온보딩, 협업, 관리에 동일한 역할 및 권한(permissions) 옵션을 가져야 합니다.
  • 신규 조직마다 역할/권한(permissions)을 수동으로 정의하는 것을 피하고 싶습니다.
  • 일관된 역할 기반 접근 제어 (RBAC)가 컴플라이언스, 보안, 고객 신뢰에 매우 중요합니다.
  • 기존 조직을 깨뜨리지 않고 제품 변화에 따라 접근 제어를 발전시켜야 합니다.

예시 사용 사례

  • 워크스페이스, 팀, 회사(각각이 테넌트)를 제공하는 SaaS 제품
  • 조직별로 세분화된 관리자/멤버/뷰어 역할이 필요한 플랫폼
  • API 및 비-API 권한(permissions)이 모두 필요한 제품

모범 사례 및 버전 관리​

  • 역할 및 권한(permissions)은 비즈니스 중심으로 유지: 실제 동작에 매핑되는 명확한 이름을 사용하세요(단순 기술적 엔드포인트가 아닌).
  • 역할/권한(permissions) 남발 방지: 단순하게 시작하고, 제품에 진정으로 필요할 때만 새 역할/권한(permissions)을 추가하세요.
  • 변경 사항 소통: 조직 내 역할 또는 권한(permissions) 옵션이 변경될 경우 사용자/관리자에게 알리세요.
  • 템플릿 발전: 제품이 성장함에 따라 언제든지 템플릿을 업데이트할 수 있습니다. 모든 조직은 자동으로 새로운 역할/권한(permissions)에 접근할 수 있습니다.
  • 버전 관리(선택 사항): 주요 변경 시 템플릿 버전 관리를 고려하고, 고객에게 마이그레이션 계획을 안내하세요.

조직 템플릿 관리하기​

Console → 조직 템플릿 또는 Logto Management API를 통해 조직 템플릿을 관리할 수 있습니다.

  • 역할 생성: 사용자 역할 및 M2M 역할을 템플릿에 추가하세요. 각 역할은 Logto 테넌트의 모든 조직에서 사용할 수 있습니다.
  • 권한(permissions) 생성: API 리소스 및 비-API(앱 내) 작업에 대한 권한(permissions)을 정의하세요.
  • 역할-권한 매트릭스 편집: Logto Console 또는 Management API를 사용해 역할에 권한(permissions)을 할당하세요.
  • 역할/권한(permissions) 업데이트 또는 삭제: 템플릿 변경 사항은 모든 조직에 자동으로 적용됩니다. (사용자/클라이언트의 역할 할당은 유지되며, 권한(permissions) 집합만 변경됩니다.)

조직 역할 및 권한(permissions) 관리에 대한 단계별 안내는 역할 기반 접근 제어를 참고하세요.

자주 묻는 질문​

반드시 조직 권한(permissions)을 사용해야 하나요?​

아니요, 조직 권한(permissions)은 선택 사항입니다. 원한다면 조직 템플릿을 역할 및 API 리소스 권한(permissions) 정의에만 사용할 수 있습니다.

조직 템플릿을 변경하면 어떻게 되나요?​

역할 또는 권한(permissions) 변경 사항은 모든 조직에 즉시 반영됩니다. 사용자 및 클라이언트의 역할 할당은 유지되며, 해당 역할이 허용하는 권한(permissions)만 변경될 수 있습니다.

조직별로 역할이나 권한(permissions)을 커스터마이즈할 수 있나요?​

직접적으로는 불가능합니다. 조직 템플릿은 모든 테넌트에 일관된 모델을 강제합니다. (각 조직에서 서로 다른 사용자/클라이언트에게 다른 역할을 할당하는 것은 가능합니다.)

변경 사항을 롤백하거나 마이그레이션하려면 어떻게 하나요?​

이전 역할/권한(permissions)을 복원하려면 템플릿을 수동으로 업데이트하세요. 복잡한 마이그레이션의 경우 버전 관리 전략을 고려하세요.

역할이나 권한(permissions)을 삭제하면 어떻게 되나요?​

해당 역할을 가진 사용자/클라이언트는 그 역할에 연결된 권한(permissions)에 대한 접근 권한을 잃게 됩니다. 권한(permissions)을 삭제하면 해당 권한(permissions)을 가진 모든 역할에서 제거됩니다.

제한 사항이 있나요?​

커스터마이즈는 템플릿 레벨에서만 가능합니다. 조직별로 고급 예외가 필요하다면 문의하세요.

추가 자료​

조직(비-API) 권한(permissions) 보호하기 조직 레벨 API 리소스 보호하기 토큰 클레임(Claims) 커스터마이징