IAM Operation 도메인 요구사항 명세서
1. 기능 요구사항
1.1 권한(Permission) 관리
- IAM-OPS-FR-BE-001: 시스템은 권한 조회, 생성, 수정, 삭제가 가능해야 한다.
- IAM-OPS-FR-BE-002: 시스템은 권한의 활성/비활성 상태를 관리할 수 있어야 한다.
1.2 역할(Role) 관리
- IAM-OPS-FR-BE-003: 시스템은 역할 조회, 생성, 수정, 삭제가 가능해야 한다.
- IAM-OPS-FR-BE-004: 시스템은 역할은 특정 기능 또는 책임 단위를 나타내며, 여러 권한의 집합으로 구성된다.
- IAM-OPS-FR-BE-005: 시스템은 역할에 여러 권한을 할당하거나 해제할 수 있어야 한다.
- IAM-OPS-FR-BE-006: 시스템은 역할의 활성/비활성 상태를 관리할 수 있어야 한다.
1.3 그룹(Group) 연동 관리
- IAM-OPS-FR-BE-007: 시스템은 Group 도메인에서 관리되는 그룹 정보를 참조할 수 있어야 한다.
- IAM-OPS-FR-BE-008: 시스템은 그룹(Group)과 역할(Role) 간의 관계를 관리할 수 있어야한다.
1.4 기능 접근 제어 결정
- IAM-OPS-FR-BE-009: 사용자의 최종 권한은 Permission(권한) 집합으로 결정되어야 한다.
- 그룹은 권한을 부여하는 경로 중 하나이며, 시스템은 그룹이 없는 사용자도 권한 평가가 가능해야 한다.
- 그룹 기반 권한 경로(예): Group -> Role -> Permission
1.5 관리자(Operation) 계정 정보 관리
- IAM-OPS-FR-BE-010: 시스템은 인가 평가 및 Role 프로비저닝 처리를 위해 필요한 사용자 식별자 기반 매핑 정보를 조회할 수 있어야 한다.
- 대상 사용자 유형: Operation User, Service Account
- 예:
operationUserId/serviceAccountId -> groupId(선택),operationUserId/serviceAccountId -> siteId(선택),operationUserId/serviceAccountId -> (roleId/permissionId)등
1.6 운영자/서비스 계정 Role 프로비저닝 (Auth-ops에서 분리)
- IAM-OPS-FR-BE-011: 시스템은 Operation User에 대해 특정 서비스(의료진 대시보드/CRM 대시보드)의 사용을 위한 Role을 IAM으로 부여(프로비저닝)할 수 있어야 하며, 이때 그룹ID를 필수로 할당해야 한다.
- IAM-OPS-FR-BE-012: 사이트 Scope 정책이 적용되는 서비스에서는 Role 부여(프로비저닝) 시 사이트ID를 추가 필수로 할당해야 한다.
- IAM-OPS-FR-BE-013: 시스템은 동일한 Operation User에 대해 동일 서비스 Role이 중복 부여되지 않도록 방지해야 한다.
- IAM-OPS-FR-BE-014: 시스템은 Service Account에 대해 특정 서비스(의료진 대시보드/CRM 대시보드)의 사용을 위한 Role을 IAM으로 부여(프로비저닝)할 수 있어야 하며, 이때 그룹ID를 필수로 할당해야 한다. (사이트 Scope 정책이 적용되는 경우 사이트ID도 필수)
2. 비기능 요구사항
2.1 보안
- IAM-OPS-NFR-003: 시스템은 SQL Injection 방지를 위해 Prepared Statement를 사용해야 한다.
3. 제약사항
3.1 권한 평가(Authorization) 제약
- IAM-OPS-CR-001: 시스템은 요청자에 대해 최종 권한을 Permission 집합으로 평가해야 한다.
- 그룹은 권한 부여 경로 중 하나이며, 그룹이 없는 사용자도 권한 평가가 가능해야 한다.
- IAM-OPS-CR-002: 시스템은 권한 평가 시 Site Scope 정책이 적용되는 경우 siteId 컨텍스트를 고려해야 한다. (siteId가 필수인 정책/리소스에 한함)
- IAM-OPS-CR-003: 시스템은 권한 평가 결과가 명시적으로 허용되지 않은 경우 기본적으로 거부(Deny-by-default)해야 한다.
- IAM-OPS-CR-004: 시스템은 플랫폼/서비스별로 권한 정책을 분리해서 관리할 수 있어야 한다. (예: admin API, 연구 기능 등)
3.2 Role 프로비저닝 제약
- IAM-OPS-CR-005: Role 프로비저닝은 대상 사용자(Operation User/Service Account)와 서비스 컨텍스트(대시보드/CRM) 단위로 수행되어야 한다.
- IAM-OPS-CR-006: 동일 사용자에 동일 서비스 Role이 중복 부여되지 않도록 방지해야 한다.
- IAM-OPS-CR-007: Site Scope가 적용되는 서비스 Role 프로비저닝에는 siteId가 포함되어야 한다.
3.3 레퍼런스: 기본 그룹 예시(정책이 아닌 참고 정보)
- medi.platform-admin: 플랫폼 전체 관리 범위 예시
- medi.site-admin: 사이트 관리 범위 예시
- medi.site-member: 사이트 구성원 범위 예시
- operators.admin: CRM 사이트 관리자 예시
- operators.support: CRM 사이트 구성원 예시
- (참고) 구체 그룹명/접근 경로(
/admin/*등)는 정책 저장소(권한 정책) 또는 운영 설정으로 관리하며, 본 문서에서는 “그룹은 권한 부여 경로 중 하나”라는 원칙과 평가/프로비저닝 제약을 우선한다.
변경 이력
| 버전 | 날짜 | 작성자 | 변경 내용 |
|---|---|---|---|
| 0.57.0 | 2025-12-15 | dalia@weltcorp.com | 최초 작성 |
| 0.58.0 | 2025-12-16 | mook@weltcorp.com | medi, crm 용 iam ops 작성 |
| 0.62.0 | 2025-12-29 | jeff@weltcorp.com | 운영자/서비스 계정 Role 프로비저닝 요구사항 추가(auth-ops에서 분리) |
| 0.62.1 | 2025-12-29 | jeff@weltcorp.com | 인증/계정삭제 요구사항을 auth-ops/operation-user로 이관, 요구사항 ID 재정렬 |