본문으로 건너뛰기

IAM 권한 목록 (Permissions)

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.readTimeMachine 설정 조회 (캐시 등)
timemachine.config.updateTimeMachine 설정 수정

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. 변경 이력

버전날짜작성자변경 내용
0.1.02025-04-17bok@weltcorp.com최초 생성