본문으로 건너뛰기

Role-Permission 할당

1. 개요

이 문서는 시스템 내 각 역할(Role)에 할당된 구체적인 권한(Permission) 목록을 정의합니다. 역할과 권한의 정의는 각각 roles.mdpermissions.md 문서를 참조하세요.

2. 역할별 권한 목록

환자 역할 (Patient Roles)

2.1 roles/healthcare.patientUser (환자 사용자)

  • 프로필 관리: user.profile.read, user.profile.update
  • 약관 조회: user.agreement.read
  • 수면 기록 관리: sleep.log.create, sleep.log.read, sleep.log.update
  • 수면 목표 관리: sleep.goal.read, sleep.goal.update
  • 수면 rTIB 조회: sleep.rtib.read
  • 수면 리포트 조회: sleep.report.read
  • 수면 영향 요인 조회: sleep.factor.read
  • 수면 탐구 컨텐츠 조회: learning.lesson_bundle.read,
  • 사용자 수면 탐구 학습 상태 관리: learning.lesson_status.read, learning.lesson_status.update
  • 퀴즈 조회: learning.quiz_bundle.read
  • 사용자 퀴즈 답변 관리: learning.quiz_response.create, learning.quiz_response.read, learning.quiz_response.update
  • 이완요법 컨텐츠 조회: relaxation.content.read
  • 사용자 이완요법 컨텐츠 진행상태 관리: relaxation.content_completion.read, relaxation.content_completion.update
  • 설문 조회: questionnaire.questionnaire.read
  • 사용자 설문 답변 생성/입력: questionnaire.question_response.create

2.2 roles/healthcare.patientViewer (환자 뷰어)

  • user.profile.read
  • sleep.log.read
  • sleep.goal.read
  • sleep.rtib.read
  • sleep.report.read
  • sleep.factor.read

2.3 roles/healthcare.postTreatmentViewer (치료 완료 환자 뷰어)

  • 프로필 조회: user.profile.read
  • 약관 조회: user.agreement.read
  • 수면 기록 조회: sleep.log.read
  • 수면 리포트 조회: sleep.report.read
  • 수면 탐구 컨텐츠 조회: learning.lesson_bundle.read,
  • 사용자 수면 탐구 학습 상태 조회: learning.lesson_status.read
  • 이완요법 컨텐츠 조회: relaxation.content.read
  • 사용자 이완요법 컨텐츠 진행상태 조회: relaxation.content_completion.read

의료진 역할 (Medical Roles)

2.4 roles/healthcare.clinicianAdmin (임상의 관리자)

  • user.account.read (담당 환자 범위)
  • user.profile.read (담당 환자 범위)
  • sleep.log.read (담당 환자 범위)
  • sleep.report.read (담당 환자 범위)
  • sleep.rtib.read (담당 환자 범위)
  • sleep.goal.update (담당 환자 범위)
  • sleep.therapy.prescribe (담당 환자 범위)

2.5 roles/healthcare.providerViewer (의료 제공자 뷰어)

  • user.account.read (담당 환자 범위)
  • user.profile.read (담당 환자 범위)
  • sleep.log.read (담당 환자 범위)
  • sleep.report.read (담당 환자 범위)
  • sleep.rtib.read (담당 환자 범위)

임상시험 관련 역할 (Clinical Trial Roles)

2.6 roles/clinical.coordinatorUser (임상시험 코디네이터)

  • user.account.read (피험자 범위)
  • user.profile.read (피험자 범위)
  • sleep.log.read (피험자 범위, CRF 데이터 관련)

2.7 roles/clinical.monitorViewer (임상시험 모니터)

  • trial.data.read.anonymized

2.8 roles/clinical.researchAdmin (연구 책임자)

  • user.account.read (전체 피험자 범위, 익명화 옵션)
  • user.profile.read (전체 피험자 범위, 익명화 옵션)
  • sleep.log.read (전체 피험자 범위, 익명화 옵션)
  • analytics.trial.read

시스템 및 데이터 관리 역할 (System & Data Management)

2.9 roles/admin.systemAdmin (시스템 관리자)

  • 모든 시스템 권한 (*)

2.10 roles/data.managerUser (데이터 관리자)

  • data.management.read
  • data.management.export
  • data.management.validate
  • data.anonymized.generate

2.11 roles/data.analystViewer (데이터 분석가)

  • analytics.data.read.anonymized
  • analytics.report.read
  • analytics.report.generate

2.12 roles/development.engineerViewer (개발자)

  • system.log.read
  • config.read
  • development.environment.access

비즈니스 및 고객 지원 역할 (Business & Support)

2.13 roles/product.managerUser (제품 관리자)

  • analytics.usage.read
  • analytics.feedback.read
  • analytics.report.read
  • product.backlog.manage

2.14 roles/crm.managerAdmin (CRM 관리자)

  • crm.customer.read
  • crm.customer.update
  • crm.ticket.manage
  • crm.campaign.manage

2.15 roles/regulatory.specialistUser (규제 담당자)

  • regulatory.document.read
  • regulatory.document.update
  • regulatory.report.generate

2.16 roles/support.agentUser (고객 지원 담당자)

  • crm.ticket.read
  • crm.ticket.update
  • support.faq.read
  • user.account.recover

참고: 위 목록은 초기 정의이며, 시스템 개발 및 정책 구체화에 따라 변경될 수 있습니다. 특히 '범위(Scope)'가 필요한 권한(예: 담당 환자, 피험자)은 권한 문자열 자체보다는 실제 인가 로직에서 처리됩니다.

3. 변경 이력

버전날짜작성자변경 내용
0.1.02025-04-17bok@weltcorp.com최초 문서 생성 및 초기 권한 할당
0.2.02025-05-01bok@weltcorp.com역할 세분화에 따른 권한 할당 업데이트