본문으로 건너뛰기

조직 템플릿

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) 커스터마이징