Group 도메인 요구사항 명세서
1. 기능 요구사항
1.1 그룹(Group) 생명주기 관리
백엔드 요구사항
- GRP-FR-BE-BE-001: 그룹을 생성, 조회, 수정, 삭제할 수 있어야 한다. (CRUD)
- GRP-FR-BE-BE-002: 그룹은 이름, 설명, 상태(활성/비활성) 등의 메타데이터를 가져야 한다. (CRUD)
- GRP-FR-BE-BE-003: 그룹의 활성/비활성 상태를 관리할 수 있어야 한다. (상태 관리)
- GRP-FR-BE-BE-004: 그룹 변경 이력을 관리할 수 있어야 한다. (상태 관리)
- GRP-FR-BE-BE-005: 그룹 생성, 수정, 삭제에 대한 감사 로그를 기록해야 한다. ([Audit 도메인] 의존, 상태 관리)
- GRP-FR-BE-BE-006: 그룹의 버전 관리를 지원해야 한다. (버전 관리)
- GRP-FR-BE-BE-007: 그룹 템플릿을 관리하여 신규 그룹 생성을 용이하게 해야 한다. (템플릿 관리)
1.2 그룹 유형 및 분류 관리
백엔드 요구사항
- GRP-FR-BE-BE-008: 그룹 유형을 정의하고 관리할 수 있어야 한다. (그룹 유형 관리)
- 환자 그룹 (Patient Groups): 치료 대상 환자들을 분류하는 그룹
patients.general: 일반 치료 환자 그룹patients.limited-access: 제한 접근 환자 그룹patients.sample: 체험/데모 환자 그룹patients.guest: 약관 동의만으로 온보딩한 게스트 사용자 그룹 (지역별 세분화patients.guest.{region})patients.clinic-a,patients.clinic-b: 클리닉별 환자 그룹
- 내부 운영자 그룹 (Operation Groups): 내부 직원들을 분류하는 그룹
operators.admin: 시스템 관리자 그룹operators.clinician: 의료진 그룹operators.researcher: 연구진 그룹operators.support: 고객 지원팀 그룹
- 테스터 그룹 (Tester Groups): 테스트 및 QA 관련 그룹
testers.internal: 내부 테스터 그룹testers.beta: 베타 테스터 그룹
- 지역별 그룹 (Location-based Groups): 국가별 치료 과정 및 규제 준수를 위한 그룹
patients.kr: 한국 지역 환자 그룹 (K-FDA 규제, 한국어 콘텐츠)patients.de: 독일 지역 환자 그룹 (EMA/BfArM 규제, 독일어 콘텐츠)patients.us: 미국 지역 환자 그룹 (FDA 규제, 영어 콘텐츠)patients.jp: 일본 지역 환자 그룹 (PMDA 규제, 일본어 콘텐츠)operators.kr,operators.de,operators.us: 지역별 운영진 그룹trials.{country}.{trial-id}: 지역별 임상시험 그룹
- 환자 그룹 (Patient Groups): 치료 대상 환자들을 분류하는 그룹
- GRP-FR-BE-009: 그룹별 목적과 특성을 정의하고 관리할 수 있어야 한다. (그룹 특성 관리)
- GRP-FR-BE-010: 사용자 유형별 그룹을 구분하여 관리해야 한다:
- 고객(환자) 그룹: 치료 대상자들의 분류 및 관리
- 내부 운영자 그룹: 조직 내 역할별 직원 분류 및 관리
1.3 그룹 역할 및 권한 관리
백엔드 요구사항
- GRP-FR-BE-011: 그룹에 역할(Role)을 할당하여 그룹 멤버에게 권한을 부여할 수 있어야 한다. ([IAM 도메인] 연동, 그룹-역할 할당)
- GRP-FR-BE-012: 그룹에 할당된 역할 정보를 조회하고 변경할 수 있어야 한다. (그룹-역할 할당)
- GRP-FR-BE-013: 그룹-역할 할당 이력을 추적하고 관리할 수 있어야 한다. (할당 이력 관리)
- GRP-FR-BE-014: 역할 변경 시 해당 그룹 멤버들에게 미치는 영향을 분석할 수 있어야 한다. (영향도 분석)
- GRP-FR-BE-015: 그룹-역할 할당 변경에 대한 감사 로그를 기록해야 한다. ([Audit 도메인] 의존, 할당 관리)
- GRP-FR-BE-016: 그룹별 역할 할당 권한을 관리할 수 있어야 한다. (할당 권한 관리)
1.4 사용자-그룹 할당 관리
백엔드 요구사항
- GRP-FR-BE-017: 사용자를 그룹에 할당하거나 해제할 수 있어야 한다. ([User 도메인] 연동, 사용자-그룹 관계)
- GRP-FR-BE-018: 사용자는 하나 이상의 그룹에 속해야 한다. (사용자-그룹 관계, [User 도메인] 의존)
- GRP-FR-BE-019: 특정 그룹에 속한 사용자 목록을 조회할 수 있어야 한다. (그룹 멤버 조회)
- GRP-FR-BE-020: 특정 사용자가 속한 그룹 목록을 조회할 수 있어야 한다. (사용자 그룹 조회)
- GRP-FR-BE-021: 사용자-그룹 할당 이력을 추적하고 관리할 수 있어야 한다. (할당 이력 관리)
- GRP-FR-BE-022: 그룹 멤버십 변경에 대한 감사 로그를 기록해야 한다. ([Audit 도메인] 의존, 멤버십 관리)
- GRP-FR-BE-023: 사용자 유형에 따라 적절한 그룹 할당 규칙을 적용해야 한다:
- 고객(환자) 사용자: 'private' 스키마의 사용자 정보와 연결
- 내부 운영자 사용자: 'operation' 스키마의 사용자 정보와 연결
- GRP-FR-BE-054: 시스템은 게스트 사용자 그룹 할당과 전환을 자동화해야 한다.
- 게스트 계정 생성 시
patients.guest.{region}그룹에 자동 편성해야 한다. - 게스트가 정규 사용자로 전환될 때 신규 그룹 할당 규칙을 적용하고, 이전 게스트 멤버십을 종료 이력에 기록해야 한다.
- 게스트 그룹 멤버십 변경 이벤트는 IAM과 Plan 도메인에 전달되어 권한 및 플랜 재계산을 트리거해야 한다.
- 게스트 계정 생성 시
1.5 그룹 계층 구조 관리
백엔드 요구사항
- GRP-FR-BE-024: 그룹 간 계층 구조(부모-자식 관계)를 정의하고 관리할 수 있어야 한다. (계층 구조 관리)
- GRP-FR-BE-025: 그룹 계층에서 순환 참조를 방지해야 한다. (순환 참조 방지)
- GRP-FR-BE-026: 부모 그룹의 설정이 자식 그룹에 상속되도록 지원해야 한다. (상속 관리)
- GRP-FR-BE-027: 계층 구조 변경 시 영향도를 분석할 수 있어야 한다. (영향도 분석)
- GRP-FR-BE-028: 그룹 트리 구조를 효율적으로 조회할 수 있어야 한다. (트리 조회 최적화)
- GRP-FR-BE-029: 그룹 계층 구조 변경에 대한 감사 로그를 기록해야 한다. ([Audit 도메인] 의존, 계층 관리)
1.6 그룹 권한 및 정책 관리
백엔드 요구사항
- GRP-FR-BE-030: 그룹별 접근 권한을 정의하고 관리할 수 있어야 한다. ([IAM 도메인] 연동, 권한 관리)
- GRP-FR-BE-031: 그룹 관리 권한을 계층적으로 부여할 수 있어야 한다. (권한 위임)
- GRP-FR-BE-032: 그룹별 리소스 할당량을 정의하고 관리할 수 있어야 한다. (리소스 관리)
- GRP-FR-BE-033: 그룹별 정책을 적용할 수 있어야 한다. (정책 적용)
- GRP-FR-BE-034: 그룹 권한 변경에 대한 감사 로그를 기록해야 한다. ([Audit 도메인] 의존, 권한 관리)
1.7 그룹 템플릿 및 프리셋 관리
백엔드 요구사항
- GRP-FR-BE-035: 그룹 템플릿을 생성하고 관리할 수 있어야 한다. (템플릿 관리)
- GRP-FR-BE-036: 템플릿을 사용하여 신규 그룹을 빠르게 생성할 수 있어야 한다. (템플릿 기반 생성)
- GRP-FR-BE-037: 그룹 프리셋(사전 정의된 설정)을 관리할 수 있어야 한다. (프리셋 관리)
- GRP-FR-BE-038: 템플릿 버전 관리를 지원해야 한다. (템플릿 버전 관리)
- GRP-FR-BE-039: 템플릿 사용 통계를 수집하고 분석할 수 있어야 한다. (템플릿 분석)
1.8 동적 그룹 관리
백엔드 요구사항
- GRP-FR-BE-040: 조건 기반 동적 그룹을 정의하고 관리할 수 있어야 한다. (동적 그룹)
- GRP-FR-BE-041: 사용자 속성 변경 시 자동으로 그룹 멤버십을 업데이트해야 한다. (자동 멤버십 관리)
- GRP-FR-BE-042: 동적 그룹 규칙을 검증하고 테스트할 수 있어야 한다. (규칙 검증)
- GRP-FR-BE-043: 동적 그룹 변경 이력을 추적할 수 있어야 한다. (동적 그룹 이력)
1.9 조직 연동 및 통합
백엔드 요구사항
- GRP-FR-BE-044: 외부 조직도 시스템과 연동할 수 있어야 한다. (외부 연동)
- GRP-FR-BE-045: LDAP/Active Directory와 그룹 정보를 동기화할 수 있어야 한다. (LDAP 연동)
- GRP-FR-BE-046: 조직 구조 변경 시 그룹 구조를 자동으로 업데이트해야 한다. (조직 동기화)
- GRP-FR-BE-047: 다중 테넌트 환경에서 그룹을 격리하여 관리할 수 있어야 한다. (테넌트 격리)
1.10 그룹 모니터링 및 분석
백엔드 요구사항
- GRP-FR-BE-048: 그룹별 사용 통계를 수집하고 분석할 수 있어야 한다. (사용량 분석)
- GRP-FR-BE-049: 그룹 멤버 활동 패턴을 분석할 수 있어야 한다. (활동 분석)
- GRP-FR-BE-050: 그룹 성능 지표를 모니터링할 수 있어야 한다. (성능 모니터링)
- GRP-FR-BE-051: 그룹 최적화 추천을 제공할 수 있어야 한다. (최적화 추천)
- GRP-FR-BE-052: 그룹별 비용 분석을 지원해야 한다. ([Billing 도메인] 연동, 비용 분석)
1.11 지역별 그룹 관리 (Location-based Groups)
백엔드 요구사항
- GRP-FR-BE-053: 지역별 그룹을 생성하고 관리할 수 있어야 한다. (지역별 그룹 관리)
- 국가 코드(ISO 3166-1 alpha-2) 기반 그룹 명명 규칙을 지원해야 한다.
- 지역별 그룹의 메타데이터(언어, 시간대, 규제 기관 등)를 관리할 수 있어야 한다.
- 지역별 규제 준수를 자동화할 수 있어야 한다. (규제 자동화)
- 그룹별 규제 프로파일을 정의하고 관리할 수 있어야 한다.
- 사용자의 지역별 그룹에 따라 해당 규제를 자동 적용해야 한다.
- GDPR, HIPAA, 개인정보보호법 등 지역별 데이터 보호 규정을 준수해야 한다.
- 지역별 콘텐츠 관리 및 제공을 지원해야 한다. (지역화 콘텐츠)
- 그룹별 언어 설정에 따른 콘텐츠 필터링을 지원해야 한다.
- 동일한 치료 플랜에 대해 지역별로 다른 콘텐츠를 제공할 수 있어야 한다.
- 지역별 문화적 맥락을 반영한 콘텐츠 매핑을 관리할 수 있어야 한다.
- 지역별 치료 프로토콜 차별화를 지원해야 한다. (프로토콜 지역화)
- 동일한 치료 목표에 대해 지역별 의료 관행을 반영한 프로토콜을 적용할 수 있어야 한다.
- 지역별 임상 가이드라인에 따른 치료 과정 변형을 지원해야 한다.
- 지역별 전문가 네트워크와의 연동을 관리할 수 있어야 한다.
- 지역별 데이터 거버넌스를 지원해야 한다. (데이터 거버넌스)
- 그룹별 데이터 저장 위치 및 백업 정책을 관리할 수 있어야 한다.
- 지역별 데이터 이전 제한 및 보관 기간을 자동 적용해야 한다.
- 교차 지역 데이터 접근에 대한 제어 및 감사를 수행해야 한다.
- 지역별 감사 및 보고를 지원해야 한다. (지역별 감사)
- 지역별 규제 기관에 대한 감사 보고서를 자동 생성할 수 있어야 한다.
- 지역별 데이터 처리 활동 기록을 관리할 수 있어야 한다.
- 교차 지역 데이터 이전에 대한 추적 및 보고를 지원해야 한다.
2. 비기능 요구사항
2.1 보안
접근 제어
- GRP-NFR-001: 모든 그룹 관리 API 요청은 인증 및 인가를 거쳐야 한다.
- GRP-NFR-002: 그룹 정보 접근은 역할 기반 접근 제어(RBAC)를 통해 제어되어야 한다.
- GRP-NFR-003: 그룹별 민감 정보는 암호화하여 저장해야 한다.
- GRP-NFR-004: 그룹 데이터의 무결성을 보장해야 한다.
데이터 보안
- GRP-NFR-005: 그룹 설정 정보는 암호화하여 저장해야 한다.
- GRP-NFR-006: 그룹 멤버십 정보는 개인정보 보호 규정을 준수해야 한다.
- GRP-NFR-007: 그룹 변경 이력은 변조 방지를 위해 해시 체인으로 관리해야 한다.
- GRP-NFR-008: 그룹 정보에 대한 모든 접근 및 변경은 감사 로그로 기록되어야 한다.
API 보안
- GRP-NFR-009: 그룹 관리 API는 입력값 검증을 통해 Injection 공격을 방지해야 한다.
- GRP-NFR-010: 그룹 조회 API는 Rate Limiting을 적용해야 한다.
- GRP-NFR-011: 그룹 변경 API는 추가적인 보안 검증을 수행해야 한다.
- GRP-NFR-012: 대량 그룹 조작 시 추가 인증을 요구해야 한다.
지역별 보안
- GRP-NFR-013: 지역별 그룹 데이터는 해당 지역의 데이터 보호 규정에 따라 암호화되어야 한다.
- GRP-NFR-014: 교차 지역 데이터 접근은 추가적인 인증 및 승인 프로세스를 거쳐야 한다.
- GRP-NFR-015: 지역별 그룹 정보 접근은 지리적 IP 제한을 적용할 수 있어야 한다.
- GRP-NFR-016: 지역별 데이터 이전에 대한 모든 활동은 감사 로그로 기록되어야 한다.
- GRP-NFR-017: 규제 준수를 위한 자동화된 보안 정책 검증을 수행해야 한다.
2.2 성능
응답 시간
- GRP-NFR-018: 그룹 조회 API 평균 응답 시간: < 50ms
- GRP-NFR-019: 그룹 목록 조회 API 평균 응답 시간: < 100ms
- GRP-NFR-020: 그룹 생성/수정 API 평균 응답 시간: < 200ms
- GRP-NFR-021: 그룹 삭제 API 평균 응답 시간: < 300ms
- GRP-NFR-022: 그룹 멤버 조회 API 평균 응답 시간: < 150ms
- GRP-NFR-023: 그룹 계층 구조 조회 API 평균 응답 시간: < 200ms
처리량
- GRP-NFR-024: 초당 최소 3000건의 그룹 조회 요청을 처리할 수 있어야 한다.
- GRP-NFR-025: 초당 최소 500건의 그룹 멤버 조회 요청을 처리할 수 있어야 한다.
- GRP-NFR-026: 초당 최소 100건의 그룹 수정 요청을 처리할 수 있어야 한다.
- GRP-NFR-027: 초당 최소 50건의 그룹 생성 요청을 처리할 수 있어야 한다.
- GRP-NFR-028: 초당 최소 200건의 사용자-그룹 할당 요청을 처리할 수 있어야 한다.
캐싱 전략
- GRP-NFR-029: 그룹 정보를 캐싱하여 조회 성능을 향상시켜야 한다.
- GRP-NFR-030: 그룹-역할 관계 정보를 캐싱해야 한다.
- GRP-NFR-031: 그룹 멤버 목록을 캐싱해야 한다.
- GRP-NFR-032: 그룹 계층 구조를 캐싱해야 한다.
- GRP-NFR-033: 캐시 데이터의 일관성을 유지하기 위한 적절한 무효화 전략을 사용해야 한다.
2.3 가용성
서비스 가용성
- GRP-NFR-034: 그룹 서비스 가용성은 99.99% 이상이어야 한다.
- GRP-NFR-035: 장애 발생 시 5분 이내 자동 복구를 시도해야 한다.
- GRP-NFR-036: 무중단 배포를 지원해야 한다.
데이터 가용성
- GRP-NFR-037: 중요한 그룹 데이터는 실시간으로 백업되어야 한다.
- GRP-NFR-038: 그룹 데이터 복구 계획을 수립하고 정기적으로 테스트해야 한다.
- GRP-NFR-039: 데이터베이스는 다중 가용 영역에 걸쳐 복제되어야 한다.
2.4 확장성
수평적 확장
- GRP-NFR-040: Stateless 아키텍처를 지향하여 서비스 인스턴스를 쉽게 확장할 수 있어야 한다.
- GRP-NFR-041: 로드 밸런서를 통해 트래픽을 분산 처리할 수 있어야 한다.
기능 확장성
- GRP-NFR-042: 새로운 그룹 유형을 쉽게 추가할 수 있어야 한다.
- GRP-NFR-043: 그룹별 사용자 정의 속성을 추가할 수 있도록 확장 가능해야 한다.
- GRP-NFR-044: 외부 시스템과의 연동이 용이해야 한다.
- GRP-NFR-045: 그룹 관련 새로운 비즈니스 규칙을 쉽게 적용할 수 있어야 한다.
2.5 사용자 유형별 그룹 관리
- GRP-NFR-046: 모든 그룹 설정을 관리할 수 있어야 한다. (System Admin)
- GRP-NFR-047: 모든 그룹의 상태를 관리할 수 있어야 한다. (System Admin)
- GRP-NFR-048: 그룹 생성, 수정, 삭제가 가능해야 한다. (System Admin)
- GRP-NFR-049: API 호출 제한 없이 사용할 수 있어야 한다. (System Admin)
- GRP-NFR-050: 할당된 범위 내 그룹의 상태를 관리할 수 있어야 한다. (Group Admin)
- GRP-NFR-051: 그룹 정보를 조회하고 수정할 수 있어야 한다. (Group Admin)
- GRP-NFR-052: 그룹 멤버를 관리할 수 있어야 한다. (Group Admin)
- GRP-NFR-053: 시간당 최대 10,000 요청으로 제한되어야 한다. (Group Admin)
- GRP-NFR-054: 그룹 정보를 조회할 수 있어야 한다. (Service Account)
- GRP-NFR-055: 그룹 멤버 정보를 조회할 수 있어야 한다. (Service Account)
- GRP-NFR-056: 시간당 최대 100,000 요청으로 제한되어야 한다. (Service Account)
- GRP-NFR-057: 자신이 속한 그룹 정보만 조회할 수 있어야 한다. (Regular User)
- GRP-NFR-058: 시간당 최대 100 요청으로 제한되어야 한다. (Regular User)
3. 제약사항
3.1 데이터 제약사항
그룹 데이터
- GRP-CR-001: 그룹 이름은 시스템 내에서 고유해야 한다.
- GRP-CR-002: 그룹 식별자는 생성 후 변경할 수 없다.
- GRP-CR-003: 하나의 그룹에 속할 수 있는 사용자의 최대 개수는 10,000명으로 제한한다.
- GRP-CR-004: 그룹 설명의 최대 길이는 1000자로 제한한다.
- GRP-CR-005: 그룹 계층 구조의 최대 깊이는 5단계로 제한한다.
그룹-역할 관계 데이터
- GRP-CR-006: 하나의 그룹은 여러 개의 역할을 가질 수 있다.
- GRP-CR-007: 그룹-역할 관계 변경 시 즉시 반영되어야 한다.
- GRP-CR-008: 그룹-역할 관계의 메타데이터 최대 크기는 2KB로 제한한다.
사용자-그룹 관계 데이터
- GRP-CR-009: 한 명의 사용자는 최대 20개의 그룹에 속할 수 있다.
- GRP-CR-010: 사용자는 최소 1개 이상의 그룹에 속해야 한다.
- GRP-CR-011: 사용자-그룹 관계의 메타데이터 최대 크기는 1KB로 제한한다.
3.2 API 호출 제한
System Admin 제한사항
- GRP-CR-012: Rate Limit: 무제한
- GRP-CR-013: 권한 검증 결과 캐시의 TTL은 1분으로 설정한다.
- GRP-CR-014: 최대 동시 요청 수는 무제한이다.
Group Admin 제한사항
- GRP-CR-015: Rate Limit: 시간당 10,000 요청으로 제한한다.
- GRP-CR-016: 권한 검증 결과 캐시의 TTL은 5분으로 설정한다.
- GRP-CR-017: 최대 동시 요청 수는 100개로 제한한다.
Service Account 제한사항
- GRP-CR-018: Rate Limit: 시간당 100,000 요청으로 제한한다.
- GRP-CR-019: 권한 검증 결과 캐시의 TTL은 10분으로 설정한다.
- GRP-CR-020: 최대 동시 요청 수는 200개로 제한한다.
Regular User 제한사항
- GRP-CR-021: Rate Limit: 시간당 100 요청으로 제한한다.
- GRP-CR-022: 권한 검증 결과 캐시의 TTL은 30분으로 설정한다.
- GRP-CR-023: 최대 동시 요청 수는 10개로 제한한다.
3.3 데이터 저장 제약
- GRP-CR-024: 그룹 정보는 'group' 스키마에 저장해야 한다.
- GRP-CR-025: 사용자-그룹 관계 정보는 사용자 유형에 따라 'private' 또는 'operation' 스키마에 저장해야 한다.
- GRP-CR-026: 그룹 변경 이력은 'group' 스키마에 저장해야 한다.
- GRP-CR-027: 그룹 템플릿 및 프리셋 정보는 'group' 스키마에 저장해야 한다.
- GRP-CR-028: 민감 정보는 항상 암호화되어 저장되어야 한다.
3.4 비즈니스 제약
- GRP-CR-029: 그룹 삭제 시 해당 그룹에 속한 사용자들을 다른 그룹으로 이전해야 한다.
- GRP-CR-030: 그룹 역할 변경 시 영향을 받는 사용자들에게 사전 통지해야 한다.
- GRP-CR-031: 그룹 계층 구조 변경 시 하위 그룹들의 동의를 받아야 한다.
3.5 지역별 그룹 제약사항
지역별 그룹 데이터 제약
- GRP-CR-032: 지역별 그룹 이름은 ISO 3166-1 alpha-2 국가 코드를 포함해야 한다.
- GRP-CR-033: 사용자는 동일한 사용자 유형(환자, 운영자 등) 내에서 하나의 지역별 그룹에만 속할 수 있다.
- GRP-CR-034: 지역별 그룹 간 사용자 이전 시 데이터 이전 승인 절차를 거쳐야 한다.
- GRP-CR-035: 지역별 그룹의 메타데이터 최대 크기는 5KB로 제한한다.
지역별 규제 제약
- GRP-CR-036: 지역별 그룹은 해당 지역의 데이터 보호 규정을 위반할 수 없다.
- GRP-CR-037: 교차 지역 데이터 접근은 양쪽 지역의 규제를 모두 준수해야 한다.
- GRP-CR-038: 지역별 데이터 보관 기간은 해당 지역의 법적 요구사항을 따라야 한다.
- GRP-CR-039: 민감한 의료 데이터는 지역 경계를 넘어 이전될 수 없다.
지역별 콘텐츠 제약
- GRP-CR-040: 동일한 치료 플랜은 모든 지역에서 동일한 구조를 유지해야 한다.
- GRP-CR-041: 지역별 콘텐츠 변형은 원본 콘텐츠의 의료적 효과를 보장해야 한다.
- GRP-CR-042: 지역별 콘텐츠 매핑 정보의 최대 크기는 10KB로 제한한다.
지역별 성능 제약
- GRP-CR-043: 지역 내 사용자의 그룹 정보 조회 응답 시간: < 30ms
- GRP-CR-044: 교차 지역 그룹 정보 조회 응답 시간: < 100ms
- GRP-CR-045: 지역별 그룹 생성 시 규제 검증 시간: < 500ms
4. 가정사항
4.1 시스템 환경
- GRP-AR-001: 시스템은 마이크로서비스 아키텍처 기반으로 구축된다.
- GRP-AR-002: 시스템은 클라우드 환경(예: GCP)에서 운영된다.
- GRP-AR-003: Event-driven 아키텍처를 통해 다른 도메인과 통신한다.
4.2 사용자 환경
- GRP-AR-004: 관리자는 별도의 관리 콘솔을 통해 그룹을 관리한다.
- GRP-AR-005: 일반 사용자는 자신의 그룹 정보를 조회할 수 있다.
- GRP-AR-006: 서비스 계정은 다른 시스템과의 연동을 위해 그룹 정보 API를 호출한다.
4.3 비즈니스 환경
- GRP-AR-007: 그룹 구조는 조직 구조 변화에 따라 동적으로 변경될 수 있다.
- GRP-AR-008: 그룹 변경은 사용자에게 영향을 최소화하는 방향으로 수행된다.
- GRP-AR-009: 그룹 기반 권한 관리가 시스템의 핵심 보안 메커니즘이다.
4.4 조직 환경
- GRP-AR-010: 조직은 계층적 구조를 가질 수 있다.
- GRP-AR-011: 외부 조직도 시스템과 연동될 가능성이 있다.
- GRP-AR-012: 그룹 구조는 비즈니스 요구사항에 따라 지속적으로 진화한다.
5. 의존성
5.1 내부 의존성
- GRP-DR-001: User 도메인: 사용자 정보 참조, 사용자-그룹 할당 관리
- GRP-DR-002: IAM 도메인: 그룹 기반 권한 부여, 그룹별 역할 매핑
- GRP-DR-003: Audit 도메인: 그룹 변경, 멤버십 변경 등 주요 작업에 대한 감사 로그 기록
- GRP-DR-004: Billing 도메인: 그룹별 비용 분석, 리소스 사용량 추적
- GRP-DR-005: Analytics 도메인: 그룹 사용량 분석, 그룹 성능 지표 수집
5.2 외부 의존성
- GRP-DR-006: LDAP/Active Directory: 조직 구조 동기화를 위한 디렉터리 서비스
- GRP-DR-007: 조직도 시스템: 외부 조직 구조 연동을 위한 HR 시스템
- GRP-DR-008: 알림 시스템: 그룹 변경, 멤버십 변경 등의 이벤트 알림 전송
- GRP-DR-009: 워크플로우 엔진: 그룹 승인 프로세스 처리를 위한 외부 워크플로우 시스템
5.3 지역별 그룹 의존성
내부 의존성
- GRP-DR-010: Localization 도메인: 지역별 콘텐츠 번역 및 문화적 적응을 위한 의존성
- GRP-DR-011: Compliance 도메인: 지역별 규제 준수 검증 및 정책 적용을 위한 의존성
- GRP-DR-012: Content 도메인: 지역별 치료 콘텐츠 매핑 및 제공을 위한 의존성
- GRP-DR-013: Analytics 도메인: 지역별 사용자 행동 분석 및 효과 측정을 위한 의존성
외부 의존성
- GRP-DR-014: 규제 기관 API: 각 지역 의료기기 규제 기관 (K-FDA, EMA, FDA, PMDA 등)과의 연동
- GRP-DR-015: 지역별 인증 시스템: 지역별 의료진 자격 인증 시스템과의 연동
- GRP-DR-016: 번역 서비스: 자동 번역 및 의료 용어 번역을 위한 외부 서비스
- GRP-DR-017: 지역별 결제 시스템: 지역별 결제 및 보험 청구 시스템과의 연동
- GRP-DR-018: 데이터 보호 감사 도구: GDPR, HIPAA 등 규제 준수 감사를 위한 외부 도구
6. GDPR 컴플라이언스 (개인정보 보호)
6.1 그룹 멤버십과 개인정보
백엔드 요구사항
- GRP-FR-BE-043: 시스템은 그룹 멤버십 정보를 개인정보로 관리해야 한다.
- 그룹 소속 정보 암호화
- 그룹별 개인정보 처리 범위 정의
- 그룹 이전 시 데이터 이전 동의
- 그룹 삭제 시 멤버 정보 처리
- GRP-FR-BE-044: 시스템은 지역별 그룹의 개인정보 처리를 분리해야 한다.
- 지역별 데이터 저장소 분리
- 교차 지역 접근 제한
- 지역별 규제 준수 (GDPR, HIPAA, K-FDA)
- 데이터 이전 제한
6.2 그룹 데이터 주체 권리
백엔드 요구사항
- GRP-FR-BE-045: 시스템은 그룹 관련 데이터 주체 권리를 보장해야 한다.
- 그룹 멤버십 열람권
- 그룹 소속 정정권
- 그룹 탈퇴권
- 그룹 데이터 이동권
7. ISO27001 정보보호 관리
7.1 그룹 접근 통제
백엔드 요구사항
- GRP-FR-BE-046: 시스템은 그룹 기반 접근 통제를 강화해야 한다.
- 그룹별 리소스 접근 제한
- 그룹 관리자 권한 제어
- 그룹 간 격리
- 그룹 계층 기반 권한 상속
- GRP-FR-BE-047: 시스템은 그룹 변경을 안전하게 관리해야 한다.
- 그룹 변경 승인 프로세스
- 변경 영향 분석
- 롤백 메커니즘
- 변경 알림
7.2 그룹 데이터 보안
백엔드 요구사항
- GRP-FR-BE-048: 시스템은 그룹 데이터 무결성을 보장해야 한다.
- 그룹 정보 변조 방지
- 멤버십 정보 일관성
- 그룹 이력 추적
- 감사 로그 기록
7.3 MAO 티어/동의/라우팅 연계
백엔드 요구사항
- GRP-FR-BE-061: 시스템은
tier(anonymous/guest/member)별 기본 그룹(anonymous, guest-consented-min, member)을 자동 매핑하고 IAM에 전달해야 한다(누락 시 anonymous). - GRP-FR-BE-062: guest→member 승격 시 기존 게스트 그룹 멤버십을 해제하고 member 그룹으로 이관하며, 관련 이벤트를 발행해야 한다.
- GRP-FR-BE-063: anonymous/guest 그룹은 짧은 보존 정책을 적용해야 한다(anonymous 1일, guest 7일, member 영속)이며
data_persistence클레임에 따라 TTL을 설정해야 한다. - GRP-FR-BE-064: 그룹 멤버십 이벤트에
tier/consent_version을 포함하여 MAO/Chat/IAM이 라우팅/정책 평가에 활용할 수 있어야 한다. - GRP-FR-BE-065: anonymous/guest는 PII/PHI/저장형 컨텍스트 그룹에 배정되지 않아야 하며, FAQ/정보성 그룹만 허용한다.
변경 이력
| 버전 | 날짜 | 작성자 | 변경 내용 |
|---|---|---|---|
| 0.1.0 | 2025-04-27 | bok@weltcorp.com | 최초 문서 생성 (IAM 및 User 도메인에서 Group 관련 요구사항 분리) |
| 0.1.0 | 2025-07-16 | bok@weltcorp.com | Group-Plan 독립성 확보 - 그룹-플랜 연결 제거, 그룹-역할 직접 관리로 변경 |
| 0.2.0 | 2025-07-17 | bok@weltcorp.com | 지역별 그룹 관리 요구사항 추가: 국가별 치료 과정 차이, 규제 준수, 콘텐츠 지역화를 위한 포괄적 요구사항 정의 |
| 0.3.0 | 2025-08-07 | bok@weltcorp.com | 요구사항 ID 체계 적용 - GRP 도메인 코드 적용 (GRP-FR-BE-xxx, GRP-NFR-xxx, GRP-CR-xxx, GRP-AR-xxx, GRP-DR-xxx) |
| 0.4.0 | 2025-08-12 | bok@weltcorp.com | GDPR 및 ISO27001 컴플라이언스 요구사항 추가 (섹션 6, 7) - 그룹 멤버십 개인정보, 그룹 기반 접근 통제 |
| 0.5.0 | 2025-10-27 | bok@weltcorp.com | 게스트 그룹 유형 및 멤버십 전환 자동화 요구사항 추가 (1.2, 1.4절) |
| 0.6.0 | 2025-11-26 | bok@weltcorp.com | 기본 그룹 매핑 누락 시 anonymous, 보존 TTL(anon 1일/guest 7일), PII/PHI 그룹 배정 금지 확정 |
| 0.6.0 | 2025-11-26 | bok@weltcorp.com | MAO 라우팅을 위한 tier 기반 기본 그룹 매핑, 승격 시 그룹 이관 및 데이터 보존/TLL 정책 요구사항 추가 |