1. 개요
이 문서는 애플리케이션 시스템 전체에서 사용되는 모든 권한(Permission) 목록을 정의하고 관리합니다. 새로운 권한이 추가되거나 기존 권한이 변경/삭제될 경우, 반드시 이 문서를 업데이트해야 합니다. 이 문서는 권한 체계의 중앙 레지스트리 역할을 수행합니다.
2. 명명 규칙
권한 이름은 다음 형식을 따르는 것을 원칙으로 합니다:
{domain}.{resource}.{action}
- domain: 권한이 속한 주요 도메인 (예:
user, iam, timemachine, billing, sleep 등, 소문자 사용)
- resource: 권한이 적용되는 대상 리소스 (예:
account, profile, role, permission, time, log, goal 등, 소문자 사용)
- action: 리소스에 대해 수행할 수 있는 작업 (예:
read, create, update, delete, assign, set, manage, deactivate 등, 소문자 사용)
3. 권한 목록
3.1 User Domain Permissions
| 권한 (Permission) | 설명 |
|---|
user.account.read | 사용자 계정 정보 조회 |
user.account.create | 사용자 계정 생성 (내부 시스템용) |
user.account.update | 사용자 계정 정보 수정 (일반 정보) |
user.account.deactivate | 사용자 계정 비활성화 |
user.account.manage_status | 사용자 계정 상태 관리 (잠금, 정지 등) |
user.service_account.create | 서비스 계정 생성 |
user.service_account.read | 서비스 계정 정보 조회 |
user.service_account.manage | 서비스 계정 관리 (키 발급 등) |
user.profile.read | 사용자 프로필 정보 조회 |
user.profile.update | 사용자 프로필 정보 수정 |
user.agreement.create | 사용자 약관 정보 생성 |
user.agreement.read | 사용자 약관 정보 조회 |
user.agreement.update | 사용자 약관 정보 업데이트 |
3.2 IAM Domain Permissions
| 권한 (Permission) | 설명 |
|---|
iam.role.read | 역할 정보 및 할당된 권한 조회 |
iam.role.create | 역할 생성 |
iam.role.update | 역할 수정 (이름, 설명, 권한 추가/제거) |
iam.role.delete | 역할 삭제 |
iam.permission.read | 시스템에 정의된 모든 권한 목록 조회 |
iam.assignment.read | 사용자/그룹의 역할 할당 정보 조회 |
iam.assignment.update | 사용자/그룹에 역할 할당 또는 해제 |
iam.group.read | 그룹 정보 조회 |
iam.group.create | 그룹 생성 |
iam.group.update | 그룹 정보 수정 (이름, 설명) |
iam.group.delete | 그룹 삭제 |
iam.group.manage_members | 그룹 멤버 추가/제거 |
3.3 TimeMachine Domain Permissions
| 권한 (Permission) | 설명 |
|---|
timemachine.time.set | 사용자의 가상 시간 설정/변경 |
timemachine.time.read | 사용자의 가상 시간 정보 조회 |
timemachine.config.read | TimeMachine 설정 조회 (캐시 등) |
timemachine.config.update | TimeMachine 설정 수정 |
3.4 Sleep Domain Permissions
| 권한 (Permission) | 설명 |
|---|
sleep.log.create | 일일 수면 기록 생성/입력 |
sleep.log.read | 자신의 수면 기록 조회 |
sleep.log.update | 자신의 당일 수면 기록 수정 |
sleep.goal.read | 자신의 수면 목표 조회 |
sleep.goal.update | 자신의 목표 기상 시간 수정 (rTIB 처방 후) |
sleep.rtib.read | 자신의 rTIB 처방 정보 조회 |
sleep.report.read | 자신의 수면 리포트/요약 조회 |
sleep.factor.read | 수면 영향 요인 목록 조회 |
sleep.factor.manage | (관리자) 수면 영향 요인 관리 |
3.5 Learning Domain Permissions
| 권한 (Permission) | 설명 |
|---|
learning.lesson_bundle.create | 수면탐구 컨텐츠 생성 |
learning.lesson_bundle.read | 수면탐구 컨텐츠 조회 |
learning.lesson_bundle.update | 수면탐구 컨텐츠 업데이트 |
learning.lesson_bundle.delete | 수면탐구 컨텐츠 삭제 |
learning.lesson_status.create | 자신의 학습 진행 상태 생성 |
learning.lesson_status.read | 자신의 학습 진행 상태 조회 |
learning.lesson_status.update | 자신의 학습 진행 상태 업데이트 |
learning.quiz_bundle.create | 퀴즈 생성 |
learning.quiz_bundle.read | 퀴즈 조회 |
learning.quiz_bundle.update | 퀴즈 업데이트 |
learning.quiz_bundle.delete | 퀴즈 삭제 |
learning.quiz_response.create | 자신의 퀴즈 답변 생성/입력 |
learning.quiz_response.read | 자신의 퀴즈 답변 조회 |
learning.quiz_response.update | 자신의 퀴즈 답변 업데이트 |
3.6 Relaxation Domain Permissions
| 권한 (Permission) | 설명 |
|---|
relaxation.content.create | 자신의 이완요법 컨텐츠 생성 |
relaxation.content.read | 자신의 이완요법 컨텐츠 조회 |
relaxation.content.update | 자신의 이완요법 컨텐츠 업데이트 |
relaxation.content.delete | 자신의 이완요법 컨텐츠 삭제 |
relaxation.content_completion.create | 자신의 이완요법 진행 상태 생성 |
relaxation.content_completion.read | 자신의 이완요법 진행 상태 조회 |
relaxation.content_completion.update | 자신의 이완요법 진행 상태 업데이트 |
3.7 Questionnaire Domain Permissions
| 권한 (Permission) | 설명 |
|---|
questionnaire.questionnaire.create | 설문 생성 |
questionnaire.questionnaire.read | 설문 조회 |
questionnaire.questionnaire.update | 설문 업데이트 |
questionnaire.questionnaire.delete | 설문 삭제 |
questionnaire.question_response.create | 자신의 설문 답변 생성/입력 |
questionnaire.question_response.read | 자신의 설문 답변 조회 |
questionnaire.question_response.update | 자신의 설문 답변 업데이트 |
3.8 Health Domain Permissions
| 권한 (Permission) | 설명 |
|---|
health.data.read | 외부 건강 데이터 조회 (민감 데이터 동의 필요) |
health.data.sync | 외부 건강 데이터 동기화 |
health.connection.create | 외부 건강 플랫폼 연결 생성 |
health.connection.read | 외부 건강 플랫폼 연결 정보 조회 |
health.connection.delete | 외부 건강 플랫폼 연결 해제 |
3.9 Content Domain Permissions
| 권한 (Permission) | 설명 |
|---|
content.article.read | 일반 컨텐츠/아티클 조회 |
content.media.read | 미디어 컨텐츠 조회 |
참고: 위 목록은 시스템 개발 과정에서 지속적으로 업데이트되어야 합니다.
4. 변경 이력