조직과 현장 로그인·관리
계정·역할 용어의 정본은 IAM·권한 용어 정본을 참조하세요. 역할은 관리자 · 편집자 · 조회자 세 가지이고, 조직 소유자는 역할이 아니라 조직 관계입니다(2026-10-04 공통 역할 체계).
사용자에게 현장으로 안내하는 업무 범위의 내부 이름은 Workspace입니다. 기존 이메일·조직· 워크스페이스 로그인 입력 화면과 인증 경로는 유지합니다. 아래 로그인 정책과 권한 범위는 공통 계정 관계 표준 (새 탭)을 따릅니다.
로그인 운영 점검
- 로그인 첫 선택은 조직 / 워크스페이스입니다. 두 항목은 연결형 내비게이션으로 보이지만 서로 다른 로그인 경로로 이동합니다. 서비스 주소로 바로 접근하거나 일반 로그아웃을 마치면 조직 로그인이 기본으로 열립니다.
- 워크스페이스 로그인은
워크스페이스 코드 + 아이디 + 패스워드를 사용합니다. 한 사용자는 조직의 실제 직원이 아니어도 됩니다. 현장 코드로 로그인한 세션은 해당 현장 하나에만 접근하며 현장 전환이나 조직 관리·계약·결제에 접근하지 않습니다. - 조직 로그인은 기본으로
조직 코드 + 아이디 + 패스워드를 받습니다. 조직 관리자·편집자·조회자는 이 방식을 사용합니다. 조직 소유자만 조직 코드 오른쪽의 이메일로 로그인 스위치를 켜 이메일 인증을 이용할 수 있습니다. 이때 조직 코드는 로그인 후 선택 안내와 함께 비활성화되고 아이디 자리가 이메일로 바뀝니다. 두 인증 방식은 같은 화면에서 전환되며 카드 하단의 계정 찾기와 계정 생성은 두 방식에서 항상 표시됩니다. 계정 찾기의 이메일 재설정은 조직 소유자 계정만 지원하며 username self-service 복구는 제공하지 않습니다. - 이메일 한 개로 조직 소유자인 조직이 여러 개면 인증 후 조직 선택 화면이 열립니다. 선택은 로그인 방법이 아니라 현재 업무 범위입니다.
- 조직·워크스페이스 아이디는 화면에서 각 코드와 username을 따로 입력합니다. 서버는 이를
sign_in_identifier_key로 정규화하며 사용자가 composite 문자열을 직접 입력하지 않습니다. - 조직 코드는
org-+ 소문자 Crockford Base32 10자, 워크스페이스 코드는ws-+ 소문자 Crockford Base32 10자입니다. 코드는 공개 식별자이며 패스워드가 아닙니다. - Leysys 본사 staff는 고객 로그인 화면에서 선택하지 않습니다.
platform/superadmin고객 Role 토글 없이 별도ops-centersurface와 staff 인증 영역을 사용합니다. - 계정 상태가 활성인데도 실패하면 로그인 시각과 계정 종류만 전달하고, 패스워드 초기화는 본인 확인 후 별도 절차로 진행합니다.
현재 Prototype 연결 상태
| 흐름 | 상태 |
|---|---|
| 조직/워크스페이스 화면·canonical route·선택 화면 | ✅ 구현 |
| 조직 소유자 이메일 로그인과 복수 조직 선택 | ✅ 기존 인증 경로 유지 |
| 워크스페이스 코드 + 아이디 | ✅ Prototype IAM 연결 |
| 조직 코드 + 아이디 | ✅ Prototype IAM 연결 |
| Principal·Affiliation·Membership·Role·Session 감사 | ✅ 브라우저 관계 시연·기존 연결 경계 분리 |
ops-center staff 별도 인증 | ❌ 고객 콘솔에 미노출, 별도 surface에서 구현 |
기존 인증 서비스 연결과 새 브라우저 관계 시연은 구별합니다. 브라우저 시연의 역할·초대· 로그인 준비·추가 확인은 로컬 원본이며 실제 Auth 사용자 생성, 초대 발송, 서버 MFA 또는 결제를 완료하지 않습니다. 운영 서비스는 Principal, 조직 소속, 조직·현장 역할과 현재 세션을 서버에서 재검증해야 합니다. 이메일·이름·사업자등록번호가 같다는 이유로 다른 계정을 연결하지 않습니다.
Leyve의 관리·계약·결제 컨테이너는 조직이고 실제 업무·장부 단위는 현장입니다. 계약의 법적 당사자는 명시적으로 연결한 개인·법인·비법인단체입니다. 사업자 증빙은 당사자와 별도로 0개 이상 등록할 수 있어 비사업자도 가입할 수 있습니다. 독립 빌링 계정 가입·프로필·구성원 메뉴는 조직의 계약·결제로 통합하되 과거 계정 식별자·가격·계약·청구 이력은 합치거나 삭제하지 않습니다.
조직을 만들면 워크스페이스 0이 ${조직명} 본점 이름의 기본 업무공간으로 함께 생성됩니다. 워크스페이스 0은 데모가 아니라 본사 회계·인사처럼 실제 업무에 쓰는 장부 범위입니다. 이후 만드는 현장·지점은 워크스페이스 1부터 차례로 번호를 받습니다.
표준 절차
- 조직 관리자(조직 소유자 포함)는 왼쪽 메뉴 맨 아래
조직관리 → 조직 → 워크스페이스·역할에서 워크스페이스를 조회·생성합니다. 편집자·조회자에게는조직관리가 표시되지 않습니다.- 생성 시트는 다음 번호를
워크스페이스 1처럼 표시합니다. 워크스페이스 번호와 워크스페이스 등록코드는 생성 후 바뀌지 않으며 삭제된 번호를 다시 사용하지 않습니다. 이름·주소처럼 바뀔 수 있는 정보만 이후 정정합니다. - 워크스페이스 이름·에디션·주소·유닛 수를 입력하고 조직이 계약한 상품 중 사용할 상품을 확인합니다.
- 프로퍼티 에디션은 이름과 법정동이 포함된 주소를 입력한 뒤 공공데이터에서 찾기를 누를 수 있습니다. 후보를 선택하면 도로명주소, 호실 수, 전유·공용면적 스냅샷이 워크스페이스와 함께 저장됩니다.
- data.go.kr 키는 Leyve가 한 번 연결하며 조직이나 워크스페이스마다 입력하지 않습니다. 조회할 수 없으면 워크스페이스를 생성한 뒤 프로퍼티 설정에서 다시 조회하거나 직접 입력합니다.
- 공개 현장은 조직 역할을 상속합니다. 비공개 현장은 직접 부여한 역할만 유효하고 조직 관리자도 사유와 이력을 남겨 명시적으로 참여해야 합니다. 필요하면 기존 사용자나 초대할 사람을 현장 관리자로 지정합니다. 새 사람·아이디·패스워드를 자동 생성하지 않습니다.
- 워크스페이스 0에는 계정 생성만으로 상품이 자동 배정되지 않습니다. 본점에서 실제 사용할 상품만 별도로 배정하며, 프로퍼티 유닛 수 기반 과금에는 포함하지 않습니다.
- 생성 시트는 다음 번호를
- 조직 소유자는 이메일로, 관리자·편집자·조회자는 조직 코드 + 아이디로 로그인합니다. 조직 소유자인 활성 조직이 1개면 바로 진입하고, 여러 개면 회사명·사업자등록번호를 확인해 조직을 선택합니다.
- 워크스페이스 사용자는 워크스페이스 코드 + 아이디로 로그인합니다. Organization Membership이 없어도 되지만 Organization Affiliation과 활성 Workspace Membership이 필요합니다.
- 조직 세션에서는 상단 현장 전환을 열고 허용된 현장을 선택해 업무 범위를 확정합니다. 현장 ID 세션에는 전환 기능이 없습니다. 다른 계정 범위로 이동하려면 로그아웃한 뒤 해당 조직·현장 계정으로 다시 로그인합니다.
- 상단 전환 목록에는 워크스페이스만 표시됩니다. 계약·결제·워크스페이스·역할 같은 전사 관리는 가상 조직 범위를 선택하지 않고 왼쪽 메뉴 맨 아래
조직관리에서 수행합니다.
계정 책임 경계
- 조직 사용자 중 조직 소유자는 이메일, 관리자·편집자·조회자는 조직 아이디로 로그인합니다. 인증 방법은 역할과 별도 축이지만, 제품 정책상 이메일 경로는 조직 소유자에게만 허용합니다. 명시적으로 같은 본인에 연결된 조직 ID와 활성 소유 관계를 확인한 조직 세션도 소유자 동작을 수행할 수 있습니다. 민감한 변경에는 별도 추가 확인이 필요합니다.
- 현장 사용자는
워크스페이스 코드 + 아이디 + 패스워드로 로그인합니다. 현장직·협력업체처럼 조직의 실제 직원이 아닌 사람도 포함합니다. 한 사람이 여러 현장 역할을 가져도 현장 ID 세션은 로그인한 현장 하나로 제한합니다. - Organization Affiliation은 조직별 프로필·관리·좌석·수명주기를 담지만 접근권을 만들지 않습니다. 실제 접근은 Organization/Workspace Membership과 Role이 결정합니다.
- 사용 중지는 해당 Affiliation/Membership 접근을 차단하되 다른 Organization의 같은 Principal까지 잠그지 않습니다.
- 조직과 워크스페이스의 역할은 모두
관리자,편집자,조회자3단계입니다. 관리자는 사람·역할·설정· 워크스페이스를 관리하고 모든 업무를 합니다. 편집자는 업무 데이터를 생성·편집·삭제하며, 조회자는 조회만 합니다. - 조직 소유자는 역할이 아니라 조직 관계입니다. 조직 관리자 역할을 함께 가지며 계약·결제의 최종 통제, 조직 소유자 지정·회수·이전, 조직 종료를 맡습니다. 조직에는 언제나 조직 소유자가 한 명 이상 있어야 하므로 마지막 조직 소유자는 정지할 수 없고, 관리자는 조직 소유자의 관리자 역할을 낮추거나 회수할 수 없습니다.
- 워크스페이스 소유자 역할은 없습니다. 워크스페이스 관리자의 부여·회수는 조직 관리자만 하고, 워크스페이스 관리자는 그 워크스페이스의 편집자·조회자만 다룹니다.
- 역할은 업무 권한의 상한선입니다. 조회자에게 별도 업무 권한을 추가해도 생성·편집·삭제 권한은 열리지 않습니다. 본인 신청 같은 포털 self-service는 별도의 주체 권한으로 처리합니다.
- 조직 역할은 공개 현장에 같은 값으로 상속됩니다. 비공개 현장은 직접 역할만 사용합니다. 현장 화면에는 출처 「조직에서」와 함께 보이고, 바꾸는 곳은 조직 역할입니다. 워크스페이스 직접 역할은 상속 역할보다 높을 때만 저장하며 해당 워크스페이스에서만 효력을 갖습니다. 같거나 낮은 중복 부여는 거부합니다.
operator | auditor | contract_admin | accountant같은 직무 역할은 두지 않습니다. 고위험 승인·반출·마감과 직무별 차이는 서버 도메인 정책으로 추가 제한합니다.- 권한이 없는 화면 주소로 들어오면 다른 화면으로 옮기지 않고 그 자리에 「접근 권한이 없습니다」를 보입니다. 필요하면 관리자에게 역할 변경을 요청합니다.
로그인 후 상태
| 계정 | 상태 | 화면 동작 |
|---|---|---|
| 조직 사용자 | 조직 1개 | 해당 조직으로 바로 진입 |
| 조직 사용자 | 조직 여러 개 | 회사명·사업자등록번호로 검색·선택 후 진입 |
| 조직 사용자 | 활성 조직 없음 | 지원팀에 조직 권한을 문의하도록 안내 |
| 결제 전용 조직 사용자 | 업무 역할 없이 청구 역할만 있음 | 계약·결제만 진입, 현장 업무 데이터 접근 차단 |
| 워크스페이스 사용자 | 워크스페이스 1개 | 해당 워크스페이스로 바로 진입 |
| 워크스페이스 사용자 | 다른 현장 권한도 있음 | 현재 현장 ID에 묶인 현장만 진입 |
| 워크스페이스 사용자 | 배정 워크스페이스 없음 | 관리자에게 워크스페이스 역할 부여를 요청하도록 안내 |
| 공통 | 초대 대기·계정 정지 | 조직 관리자에게 확정·재개를 요청하고 업무 진입 차단 |
| 공통 | 로딩·오류 | 진행 상태와 재시도 동작을 분리 표시 |
브라우저를 새로 열거나 로그인 토큰이 갱신되면 Leyve는 저장된 화면 상태를 그대로 신뢰하지 않고 현재 서버 계정의 활성 조직·워크스페이스·상품 권한을 다시 확인해야 합니다. 이전 선택이 유효하면 이어서 사용하고, 권한이 철회됐거나 유효한 선택이 없으면 조직 또는 워크스페이스 선택 화면으로 돌아갑니다.
조직 이메일로 조직 소유자인 여러 조직에 접근할 수 있는 경우, 선택한 조직은 iam-context를 통해 현재 서버 세션에 바인딩됩니다. 이 선택은 새로운 권한을 만들지 않으며, 해당 Principal에게 active Membership, 관리자 역할, 활성 조직 소유 지정이 있는지 서버가 다시 확인합니다.
이메일 로그인 후 조직 목록의 개수는 전체 조직 사용자 수가 아니라 현재 Principal이 조직 소유자인 Organization 수입니다. 한 조직에 조직 소유자가 여러 명이어도 선택 목록에는 해당 조직이 한 번만 나타나야 합니다.
변경 이력
조직관리 → 조직 → 구성원·권한에서 역할 부여·변경·회수, 초대 상태와 변경 이력을 확인합니다. 시연 초대 수락·역할 부여·로컬 로그인 준비는 구분된 동작이며 실제 초대는 발송하지 않습니다. 운영 서비스는 계정 발급과 추가 인증을 서버에서 수행하고 감사 이력을 별도로 보존해야 합니다. 저장 실패 시 입력을 유지하며 이전 원본 복구를 확인합니다. 복구 여부를 확인할 수 없으면 조회·저장을 중단하고 완료로 표시하지 않습니다.
워크스페이스 생성 결과, 최초 상품 권한, 선택한 공공데이터 스냅샷은 서버의 한 트랜잭션으로 함께 저장됩니다. 100개 이상 워크스페이스 검색은 현재 클라이언트 방식이며 운영 제품에서는 서버 검색·페이지네이션·가상 스크롤을 적용합니다.
여러 현장을 아우르는 조직 정보·현장·역할 관리는 조직관리에서 수행합니다. 계약·청구서 조회·내보내기는 해당 청구 역할에 따라 이용합니다. 일반 결제 업무는 청구 편집자 이상, 구독 설정은 청구 관리자에게 위임할 수 있지만 계약 당사자·청구 역할·소유 관계 변경과 조직 종료는 소유자의 민감한 변경으로 보호합니다. 기본 조직 관리자만으로 금융 변경 권한이 생기지는 않습니다. 상단 현장 전환 목록에 조직을 현장처럼 섞지 않습니다.
조직의 SaaS 계약과 각 현장의 관리서비스 계약은 구별합니다. 현장 관리서비스의 계약자는 서비스 기간의 사용자이고 공실이면 소유자입니다. 과거 청구서는 당시 계약자 정보를 유지하며 현재 입주자 변경이나 대납으로 바뀌지 않습니다. 투표의 소유자·수임자·의결권자 역시 별도 관계입니다.