Role-Permission 할당
1. 개요
이 문서는 시스템 내 각 역할(Role)에 할당된 구체적인 권한(Permission) 목록을 정의합니다. 역할과 권한의 정의는 각각 roles.md와 permissions.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.readsleep.log.readsleep.goal.readsleep.rtib.readsleep.report.readsleep.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.readdata.management.exportdata.management.validatedata.anonymized.generate
2.11 roles/data.analystViewer (데이터 분석가)
analytics.data.read.anonymizedanalytics.report.readanalytics.report.generate
2.12 roles/development.engineerViewer (개발자)
system.log.readconfig.readdevelopment.environment.access
비즈니스 및 고객 지원 역할 (Business & Support)
2.13 roles/product.managerUser (제품 관리자)
analytics.usage.readanalytics.feedback.readanalytics.report.readproduct.backlog.manage
2.14 roles/crm.managerAdmin (CRM 관리자)
crm.customer.readcrm.customer.updatecrm.ticket.managecrm.campaign.manage
2.15 roles/regulatory.specialistUser (규제 담당자)
regulatory.document.readregulatory.document.updateregulatory.report.generate
2.16 roles/support.agentUser (고객 지원 담당자)
crm.ticket.readcrm.ticket.updatesupport.faq.readuser.account.recover
참고: 위 목록은 초기 정의이며, 시스템 개발 및 정책 구체화에 따라 변경될 수 있습니다. 특히 '범위(Scope)'가 필요한 권한(예: 담당 환자, 피험자)은 권한 문자열 자체보다는 실제 인가 로직에서 처리됩니다.
3. 변경 이력
| 버전 | 날짜 | 작성자 | 변경 내용 |
|---|---|---|---|
| 0.1.0 | 2025-04-17 | bok@weltcorp.com | 최초 문서 생성 및 초기 권한 할당 |
| 0.2.0 | 2025-05-01 | bok@weltcorp.com | 역할 세분화에 따른 권한 할당 업데이트 |