IAM 역할 목록 (Roles)
1. 개요
이 문서는 불면증 디지털 치료제 시스템 전체에서 사용되는 모든 역할(Role) 목록을 정의하고 관리합니다. 새로운 역할이 추가되거나 기존 역할이 변경/삭제될 경우, 반드시 이 문서를 업데이트해야 합니다. 역할은 권한(Permission)들의 논리적인 묶음이며, 사용자 또는 그룹에 할당되어 최종 접근 권한을 결정하는 데 사용됩니다.
2. 역할 목록
환자 관련 역할 (Patient Roles)
2.1 roles/healthcare.patientUser (환자 사용자)
- 설명: 모든 환자 기능에 대한 전체 접근 권한을 가진 환자 역할.
- 권한/주요 작업:
- 프로필 관리:
healthcare.userProfiles.get,healthcare.userProfiles.update - 수면 기록:
healthcare.sleepLogs.create,healthcare.sleepLogs.get,healthcare.sleepLogs.update - 수면 목표:
healthcare.sleepGoals.get,healthcare.sleepGoals.update - 수면 리포트:
healthcare.rtibPrescriptions.get,healthcare.sleepReports.get,healthcare.sleepFactors.get
- 프로필 관리:
- 제한:
- 다른 환자의 데이터 접근 불가.
- 시스템 설정 및 관리 기능 접근 불가.
- 접근 범위: 모바일 앱 내 개인 데이터 및 치료 콘텐츠.
2.2 roles/healthcare.patientViewer (환자 뷰어)
- 설명: 치료 기간 만료 또는 데모 목적으로 읽기 전용 권한만 가진 환자 역할.
- 권한/주요 작업:
- 프로필 조회:
healthcare.userProfiles.get - 수면 기록 조회:
healthcare.sleepLogs.get - 수면 목표 조회:
healthcare.sleepGoals.get - 수면 리포트 조회:
healthcare.rtibPrescriptions.get,healthcare.sleepReports.get,healthcare.sleepFactors.get
- 프로필 조회:
- 제한:
- 데이터 생성 및 수정 불가.
- 다른 환자의 데이터 접근 불가.
- 시스템 설정 및 관리 기능 접근 불가.
- 접근 범위: 모바일 앱 내 개인 데이터 및 치료 콘텐츠 (읽기 전용).
2.3 roles/healthcare.postTreatmentViewer (치료 완료 환자 뷰어)
- 설명: 치료 기간 만료 또는 데모 목적으로 읽기 전용 권한만 가진 환자 역할.
- 제한:
- 데이터 생성 및 수정 불가.
- 다른 환자의 데이터 접근 불가.
- 시스템 설정 및 관리 기능 접근 불가.
- 접근 범위: 모바일 앱 내 개인 데이터 및 치료 콘텐츠 (읽기 전용).
의료진 관련 역할 (Medical Roles)
2.3 roles/healthcare.clinicianAdmin (임상의 관리자)
- 설명: 환자 진단, 처방, 치료 계획 수립 등 모든 의학적 의사 결정 권한을 가진 역할.
- 권한/주요 작업:
- Web Dashboard에서 담당 환자 목록 조회:
healthcare.userAccounts.get - 환자 프로필 및 정보 조회:
healthcare.userProfiles.get - 환자의 수면 데이터 조회:
healthcare.sleepLogs.get - 환자의 수면 리포트 조회:
healthcare.sleepReports.get - 처방 정보 조회 및 관리:
healthcare.rtibPrescriptions.get,healthcare.sleepGoals.update,healthcare.therapies.prescribe - 환자별 치료 계획 수정 및 처방(CBT-I 모듈 조정, 처방전 작성 등).
- 환자와의 메시지 커뮤니케이션(보안 채널).
- 진단서 작성 및 발급.
- 이상사례(SAE) 진단 및 공식 보고.
- Web Dashboard에서 담당 환자 목록 조회:
- 제한:
- 담당 환자가 아닌 다른 환자의 데이터 접근 불가.
- 시스템 관리 및 CRM 데이터 접근 불가.
- 접근 범위: Web Dashboard 내 담당 환자 데이터와 의학적 의사 결정 관련 도구.
2.4 roles/healthcare.providerViewer (의료 제공자 뷰어)
- 설명: 제한된 환자 데이터 조회 권한을 가진 의료 서비스 제공자 역할.
- 권한/주요 작업:
- Web Dashboard에서 담당 환자 목록 조회:
healthcare.userAccounts.get - 환자 프로필 및 정보 조회:
healthcare.userProfiles.get - 환자의 수면 데이터 조회:
healthcare.sleepLogs.get - 환자의 수면 리포트 조회:
healthcare.sleepReports.get - 처방 정보 조회:
healthcare.rtibPrescriptions.get - 기본적인 환자 데이터 기록 입력.
- 환자와의 제한된 메시지 커뮤니케이션.
- 이상사례(SAE) 초기 기록(의사 확인 필요).
- Web Dashboard에서 담당 환자 목록 조회:
- 제한:
- 처방 및 진단 권한 없음.
- 담당 환자가 아닌 다른 환자의 데이터 접근 불가.
- 치료 계획 직접 수정 불가(의사 승인 필요).
- 시스템 관리 및 CRM 데이터 접근 불가.
- 접근 범위: Web Dashboard 내 담당 환자 기본 데이터.
임상시험 관련 역할 (Clinical Trial Roles)
2.5 roles/clinical.coordinatorUser (임상시험 코디네이터)
- 설명: 임상시험 운영 지원 및 피험자 데이터 관리를 위한 기본 역할.
- 권한/주요 작업:
- 환자 조회:
healthcare.userAccounts.get,healthcare.userProfiles.get - 데이터 조회:
healthcare.sleepLogs.get - Web Dashboard에서 피험자 모집 및 등록.
- 피험자의 동의서(ICF) 관리 및 확인.
- CRF(증례기록서) 데이터 입력 및 검토.
- 환자 조회:
- 제한:
- 환자의 치료 콘텐츠 수정 권한 없음.
- CRM Dashboard 접근 불가.
- 접근 범위: Web Dashboard 내 피험자 데이터 및 CRF 관련 기능.
2.6 roles/clinical.monitorViewer (임상시험 모니터)
- 설명: 임상시험의 품질 관리 및 규제 준수 감독을 위한 기본 역할.
- 권한/주요 작업:
- 익명화된 데이터 조회:
clinical.trialData.getAnonymized - Web Dashboard에서 시험 데이터 검토(익명화된 데이터).
- CRF와 원본 데이터(Source Data) 대조.
- GCP 및 프로토콜 준수 여부 확인.
- 익명화된 데이터 조회:
- 제한:
- 환자 식별 정보 접근 불가(익명화 데이터만 조회).
- 시스템 설정 변경 권한 없음.
- 접근 범위: Web Dashboard 내 감사 및 모니터링 데이터.
2.7 roles/clinical.researchAdmin (연구 책임자)
- 설명: 임상시험의 과학적 수행과 윤리적 책임을 총괄하는 기본 역할.
- 권한/주요 작업:
- 환자 조회:
healthcare.userAccounts.get,healthcare.userProfiles.get - 데이터 조회:
healthcare.sleepLogs.get - 집계 데이터:
analytics.trialReports.get - Web Dashboard에서 전체 피험자 데이터 조회(익명화 옵션 포함).
- 프로토콜 설계 및 수정 승인.
- 임상시험 결과 검토 및 보고서 승인.
- 환자 조회:
- 제한:
- 시스템 관리 및 CRM 기능 접근 불가.
- 접근 범위: Web Dashboard 내 임상시험 전반 데이터.
시스템 및 데이터 관리 역할 (System & Data Management)
2.8 roles/admin.systemAdmin (시스템 관리자)
- 설명: 시스템의 기술적 운영 및 보안 관리를 위한 모든 권한을 가진 역할.
- 권한/주요 작업:
- 모든 시스템 권한 보유.
- 사용자 계정 생성, 수정, 삭제(App, Web, CRM).
- 데이터베이스 및 서버 관리.
- 시스템 로그 모니터링 및 보안 감사.
- 백업 및 복구 작업 수행.
- 권한(Role) 할당 및 정책 관리.
- 제한:
- 환자 데이터 직접 조회 불가(보안 정책 준수).
- 임상 데이터 수정 권한 없음.
- 접근 범위: 시스템 전반(데이터베이스, 서버, 권한 설정).
2.9 roles/data.managerUser (데이터 관리자)
- 설명: 임상시험 및 환자 데이터의 품질과 무결성 관리를 위한 기본 역할.
- 권한/주요 작업:
- EDC(전자 데이터 수집) 시스템 관리.
- 데이터 검증 및 정제.
- 익명화된 데이터셋 생성 및 분석 준비.
- 데이터 내보내기 및 보고서 생성.
- 제한:
- 환자 식별 정보 접근 불가.
- 치료 콘텐츠 수정 권한 없음.
- 접근 범위: Web Dashboard 및 EDC 시스템 내 데이터 관리 기능.
2.10 roles/data.analystViewer (데이터 분석가)
- 설명: 서비스 개선 및 효과 측정을 위한 데이터 분석 기본 역할.
- 권한/주요 작업:
- 익명화 데이터:
analytics.data.getAnonymized - 집계 데이터:
analytics.reports.get - 사용자 행동 패턴, 서비스 효과, KPI 등 분석.
- 익명화/집계된 데이터 접근 및 분석 (별도 분석 플랫폼/웨어하우스 권장).
- 분석 결과 리포트 작성 및 공유.
- 익명화 데이터:
- 제한:
- 개인 식별 정보(PII) 및 민감 임상 정보 직접 접근 불가 원칙.
- 운영 DB 직접 접근 최소화.
- 접근 범위: 분석 플랫폼, 집계 데이터, 분석 리포트 등.
2.11 roles/development.engineerViewer (개발자)
- 설명: 시스템 개발, 유지보수, 버그 수정, 배포 등을 담당하는 기본 역할.
- 권한/주요 작업:
- 로그 조회:
system.logs.get - 설정 조회:
system.configs.get - 개발/스테이징 환경 데이터 접근 및 시스템 테스트.
- 운영 환경 시스템 로그 조회 (PII 마스킹 필수).
- 코드 배포 및 버전 관리.
- 로그 조회:
- 제한:
- 운영 환경의 실제 환자/임상 데이터 직접 접근 원칙적 금지 (예외 시 엄격한 승인 필요).
- PII/민감 정보 직접 접근 불가.
- 접근 범위: 개발/스테이징 환경, 소스 코드, 마스킹된 운영 로그, 설정 정보 등.
비즈니스 및 고객 지원 역할 (Business & Support)
2.12 roles/product.managerUser (제품 관리자)
- 설명: 제품 로드맵 관리, 기능 기획, 사용자 피드백 분석 등을 담당하는 기본 역할.
- 권한/주요 작업:
- 사용자 피드백 분석.
- 서비스 사용 통계 및 기능별 성능 지표 확인.
- 집계된 데이터 및 분석 리포트 조회.
- 제품 백로그 및 로드맵 관리.
- 제한:
- 개별 환자 데이터 직접 접근 불가.
- 시스템 설정 변경 권한 없음.
- 접근 범위: 분석 대시보드, 사용자 피드백 채널, 집계 리포트 등.
2.13 roles/crm.managerAdmin (CRM 관리자)
- 설명: 고객 관계 관리 및 마케팅 데이터 관리 기본 역할.
- 권한/주요 작업:
- CRM 데이터:
crm.customers.get,crm.customers.update - 티켓 관리:
crm.tickets.manage - CRM Dashboard에서 고객(의료기관, 파트너) 데이터 관리.
- 고객 문의 및 지원 티켓 관리.
- 마케팅 캠페인 데이터 분석 및 보고.
- CRM 데이터:
- 제한:
- 환자 데이터 및 임상시험 데이터 접근 불가.
- 시스템 설정 변경 권한 없음.
- 접근 범위: CRM Dashboard 내 고객 데이터.
2.14 roles/regulatory.specialistUser (규제 담당자)
- 설명: 규제 기관(식약처, FDA 등)과의 커뮤니케이션 및 문서 관리 기본 역할.
- 권한/주요 작업:
- Web Dashboard에서 규제 관련 문서(TMFs) 관리.
- 규제 제출용 데이터 보고서 생성.
- 임상시험 허가 관련 문서 검토 및 제출.
- 제한:
- 환자 데이터 직접 수정 권한 없음.
- CRM 및 시스템 관리 기능 접근 불가.
- 접근 범위: Web Dashboard 내 규제 문서 및 보고서.
2.15 roles/support.agentUser (고객 지원 담당자)
- 설명: 사용자(환자, 의료진)의 기술 및 서비스 문의 처리 기본 역할.
- 권한/주요 작업:
- 티켓 관리:
crm.tickets.get,crm.tickets.update - 지원 도구:
support.faqs.get - CRM Dashboard에서 문의 티켓 생성 및 응답.
- 사용자 가이드 및 FAQ 제공.
- 계정 복구 및 기본 문제 해결.
- 티켓 관리:
- 제한:
- 환자 데이터 및 임상 데이터 접근 불가.
- 시스템 설정 변경 권한 없음.
- 접근 범위: CRM Dashboard 내 지원 티켓 및 사용자 문의.
3. 추가 고려사항
- 보안: 모든 역할은 SSO(싱글 사인온), 다중 인증(MFA), 역할 기반 액세스 제어(RBAC)를 통해 보안 유지.
- 규제 준수: 데이터 접근은 HIPAA, GDPR, KGCP 등 규제 요구사항 준수.
- 데이터 익명화/접근 통제: CRA, 데이터 관리자, 데이터 분석가, 개발자, PM 등은 개인 식별 정보(PII) 및 민감 데이터 접근에 대한 엄격한 통제 및 원칙(익명화, 집계) 적용.
- 로그 관리: 모든 데이터 접근 및 수정은 시스템 로그로 기록.
- 확장성: 새로운 역할 추가 시 시스템 관리자가 RBAC 정책을 통해 유연하게 설정 가능.
4. 변경 이력
| 버전 | 날짜 | 작성자 | 변경 내용 |
|---|---|---|---|
| 0.1.0 | 2025-04-17 | bok@weltcorp.com | 최초 문서 생성 및 기본 역할 정의 |
| 0.2.0 | 2025-05-01 | bok@weltcorp.com | GCP IAM 스타일로 역할 이름 변경 |
| 0.3.0 | 2025-05-01 | bok@weltcorp.com | 의사(Clinician)와 의료 제공자(Healthcare Provider) 역할 명확히 구분 |
| 0.4.0 | 2025-05-10 | bok@weltcorp.com | 역할 세분화 적용 (GCP IAM 스타일 강화, 권한 수준별 역할 분류) |
| 0.5.0 | 2025-05-15 | bok@weltcorp.com | 정확한 GCP IAM 명명 규칙 준수로 역할 ID 및 권한 형식 변경 |
| 0.6.0 | 2025-10-21 | jeff@weltcorp.com | 치료 완료 환자 뷰어 역할 정의 |