다크모드
IAM·권한 용어 정본
정본 출처 —
docs/decisions/IAM-ARCHITECTURE-REVIEW-2026-07-25.md(rev.3). 이 페이지는 결정 문서의 용어를 직원·개발자용으로 요약한 것이며, 서술이 충돌하면 결정 문서가 우선합니다.
직원과 개발자가 같은 단어를 같은 뜻으로 쓰기 위한 페이지입니다. 화면·문서·코드 리뷰에서 여기 없는 용어나 아래 표의 구용어가 보이면 정본 용어로 교정합니다.
A. 테넌시 계층
Platform (Leyve 운영 경계 — 고객 테넌시 밖)
└─ Organization 고객 조직 · 계약 · 청구 · 조직 정책의 경계 = 테넌트 루트
├─ Organization Unit HR 조직도(부서·본부). 기본적으로 인가 경계 아님
└─ Workspace 현장 · 오피스 · 사업장 등 운영 경계| 용어 | 한국어 UI | 한 줄 정의 |
|---|---|---|
| Platform | — | Leyve 내부 운영 경계. 고객 테넌시 밖에 있습니다 |
| Organization | 조직 | 계약·청구·조직 정책·데이터 소유의 경계이자 테넌트 루트 |
| Organization Unit | 조직도(부서) | HR 조직 구조. 기본적으로 인가 경계가 아닙니다 |
| Workspace | 사업장 | 업무·장부·운영의 경계 |
대원칙 — 구조적 소유 ≠ 권한 상속. Organization이 Workspace를 소유한다는 사실만으로는 어떤 접근 권한도 생기지 않습니다. 본사 관리자가 산하 사업장에 접근하려면 명시적 부여(§C·§D)가 필요합니다.
B. 주체·식별·로그인
| 용어 | 한국어 UI | 한 줄 정의 | 구용어/금지 혼용어 |
|---|---|---|---|
| Principal | 사용자 / 시스템 주체 | 인증되어 권한을 부여받는 사람 또는 시스템. 불변 ID이며 재할당하지 않습니다 | account, user record, login |
| Login Identifier | 로그인 ID | 인증 입력값. 권한 조회 키가 아니며 변경할 수 있습니다 | username, 사번, 계정 |
| Login Context | 로그인 문맥 | platform / organization / workspace. 인증 정책·발견 표면·세션 정책의 경계 | realm(내부 문서에서만 병용) |
| Organization Code | 조직 코드 | org- + 소문자 Crockford Base32 10자. 공개 식별자이며 비밀·인증 요소가 아닙니다 | 고객사코드 |
| Workspace Code | 사업장 코드 | ws- + 소문자 Crockford Base32 10자. 공개 식별자이며 비밀·인증 요소가 아닙니다 | — |
| Scoped Login Name | — | {login_id}@{code}. 화면에서는 코드와 ID를 따로 입력하고 서버가 조립합니다. 이메일이 아닙니다 | — |
| Platform Administrator | 플랫폼 운영자 | Leyve 내부 운영 관리자. 별도 포털·별도 인증 영역을 사용합니다 | 슈퍼관리자 |
로그인 흐름은 3+1개입니다.
- Organization — 이메일: 인증 후 활성 Organization Membership이 여러 개면 조직 선택 화면이 열립니다.
- Organization — 조직 코드 + 로그인 ID: 조회 키는
{login_id}@{organization_code}입니다. - Workspace — 사업장 코드 + 로그인 ID: 조회 키는
{login_id}@{workspace_code}이며 Organization Membership을 요구하지 않습니다. 이메일 로그인은 지원하지 않습니다. - (+1) Platform Administrator: 고객 로그인 화면에 나타나지 않으며, 별도 운영자 포털과 인증 영역을 사용합니다. "슈퍼관리자로 로그인" 같은 역할 선택 토글은 없습니다.
C. 소속·접근
| 용어 | 한국어 UI | 한 줄 정의 | 구용어/금지 혼용어 |
|---|---|---|---|
| Organization Affiliation | 조직 귀속 | Principal ↔ Organization의 프로필·좌석·수명주기 귀속. 접근권을 만들지 않습니다 | 조직 권한, 조직 계정 |
| Organization Membership | 조직 소속 | Principal ↔ Organization의 접근 관계 | 계정, 권한 |
| Workspace Membership | 사업장 배정 | Principal ↔ Workspace의 접근 관계. Organization Membership을 요구하지 않습니다 | office account |
| Access Invitation | 초대 | 초대는 접근권이 아닙니다. 수락 시 한 트랜잭션으로 Membership이 생성됩니다 | — |
| Organization Owner | 조직 소유자 | Organization은 항상 유효한 Owner를 1명 이상 유지합니다 | — |
Membership 상태 기계 — 초대와 Membership은 별도 엔티티입니다.
access_invitation.pending ──accept(단일 트랜잭션)──▶ membership.active
│
├──revoke──▶ revoked
└──expire──▶ expired
membership.active ──suspend──▶ suspended ──resume──▶ active
├──expire(기간만료)──▶ expired
└──terminate────────▶ terminatedexpired/terminated는 종단 상태입니다. 재개는 새 Membership 행 생성으로만 가능하며, 옛 Role Assignment는 새 Membership에서 부활하지 않습니다.
세 가지 소속 형태
| 형태 | affiliation | org membership | workspace membership | 예시 |
|---|---|---|---|---|
| 조직 사용자 | 있음 | 있음 | 0개 이상 | 본사 관리자, 경리, 감사 |
| 조직+현장 겸직 | 있음 | 있음 | 1개 이상 | 본사 회계가 3개 현장 담당 |
| 현장 전용 | 있음(권한 없음) | 없음 | 1개 이상 | 현장직, 협력업체, 경비원, 외부 회계 |
D. 역할·권한
| 용어 | 한국어 UI | 한 줄 정의 | 구용어/금지 혼용어 |
|---|---|---|---|
| Role | 역할 | Permission 묶음. Organization 또는 Workspace 범위를 가집니다 | 직급, 등급 |
| Permission | 권한 | {scope}.{domain}.{resource}.{operation} 키의 행위 허용. 키는 불변이며 의미가 바뀌면 새 키를 만듭니다 | 기능, 메뉴권한 |
| Role Assignment | 역할 부여 | 특정 Membership ID를 참조하는 부여. Membership이 끝나면 함께 효력을 잃습니다 | 권한부여 |
- 역할 축 분리 — Administrative(테넌시·구성원·계약 관리, 시스템 정의)와 Functional(업무 수행, 조직별 커스텀 허용) 두 축으로 나눕니다.
applies_to_workspaces— 조직 범위 Role Assignment를 산하 사업장까지 적용하는 명시적 opt-in입니다. 기본값은 꺼짐이고, 켜는 행위는 감사 기록을 남깁니다.- 직접 Permission 부여 없음 — 사용자에게 Permission을 직접 붙이지 않고 Role로만 부여합니다.
- default-deny · Hard Deny 우선 — 명시적으로 허용된 것만 허용되며, 규제·SoD·인증 보증 같은 contextual policy의 Hard Deny가 Allow보다 우선합니다.
E. 상품 × 권한
| 용어 | 한국어 UI | 한 줄 정의 |
|---|---|---|
| Product Subscription | 상품 구독 | Organization 단위의 계약 상태 |
| Product Activation | 상품 활성화 | 특정 Workspace에서 상품이 운영 가능한 상태 |
| Retention Right | 보존 접근권 | 구독 종료 후 한시적으로 유지되는 조회·반출 권리. Membership·Role·Scope 검사를 우회하지 않습니다 |
| Compliance Constraint | 규제 제약 | 법·계약이 강제하는 금지/의무(마감, 보존, 파기) |
상품과 권한의 결합은 Permission 키가 아니라 permissions.requires_product_key 단일 지점에서만 표현합니다. Permission 키에 상품 브랜드·마케팅 명칭을 넣지 않습니다.
F. 판정·보안
| 용어 | 한국어 UI | 한 줄 정의 |
|---|---|---|
| Authorization Epoch | (비노출) | 신원·소속·역할·정책·상품 객체의 판정 버전. 변경 시 증가하며 판정 캐시가 검증합니다. 사용자에게 노출하지 않습니다 |
| Authentication Assurance | 인증 보증 수준 | 인증 강도·수단·시각·step-up 충족 상태. 권한을 만들지 않지만 민감 행위를 제한합니다 |
Active Context는 권한 근거가 아닙니다. UI에서 현재 선택한 조직/사업장은 화면 상태일 뿐이며, API는 요청 대상 리소스로부터 scope를 도출합니다.
G. 구용어/폐기 용어
| 구용어/금지 혼용어 | 정본 용어 | 혼동 주의 |
|---|---|---|
| company | Organization | 기존 화면·데이터의 Company는 Organization에 대응합니다 |
| office | Workspace | 기존 화면·데이터의 Office는 Workspace에 대응합니다 |
| entitlement | Product Activation | SCIM User.entitlements와 동음이의 충돌이 있어 사용자 권한 의미로 쓰지 않습니다 |
| 슈퍼관리자 | Platform Administrator | 역할 선택 토글이 아니라 별도 포털·인증 영역입니다 |
| resident | — | 입주민·투숙객은 고객사의 데이터 주체이지 Leyve Principal이 아니며, B2C 접근은 별도 identity 도메인입니다 |
| workforce 로그인 모델 | Organization/Workspace scoped login | workforce_identities + workforce-login 계약은 2026-07-25 폐기됐습니다. 단, HR 원장 workforce_employees 등 인사 도메인 테이블은 별개로 현행 유효합니다 |
| workplace | — | 근로계약서의 "근무장소" 텍스트 필드일 뿐이며 IAM의 Workspace와 무관합니다 |
로그인 화면·운영 절차는 Organization·Workspace 로그인과 관리를 참고하세요.