감사로그¶
이 페이지에서 찾을 수 있는 것
감사로그 / 감사 / 로그 / 변경 이력 / 사용자 활동 / audit log / 조회 이력 / 결제 변경 / 차트 변경 / 데이터 추적
시스템 내 모든 중요한 사용자 활동(차트 작성/수정·결제·환불·예약 등)을 감사로그 형태로 자동 기록하는 페이지입니다. 보안·회계·규정 준수의 핵심 자료.
주소:
/settings/logs
화면 구성¶
| 영역 | 위치 | 내용 |
|---|---|---|
| 상단 필터 | 화면 위 | 기간 / 사용자 / 리소스 유형 / 액션 종류 / 검색어 |
| 메인 표 | 가운데 | 시각·사용자·IP·리소스·액션·설명·이전값·새값 |
| 상세 패널 | 행 클릭 시 | 변경 전후 데이터 diff (JSON) |
| 엑셀 | 표 우측 | 다운로드 |
리소스 유형¶
| 리소스 | 의미 |
|---|---|
| patient | 환자 정보 (등록·수정·조회) |
| progress_note | 차트 (작성·수정·삭제) |
| payment | 결제 (등록·취소·환불) |
| patient_reservation | 예약 (등록·변경·취소) |
| lead | 신청자 (CRM 콜·예약) |
| user | 사용자 계정 (로그인·권한 변경) |
액션 종류¶
- create: 신규 등록
- update: 수정
- delete: 삭제 (또는 soft delete)
- view: 조회 (민감 정보)
- export: 엑셀/PDF 다운로드
- login/logout: 로그인/로그아웃
자주 쓰는 동작¶
시나리오 1 — 차트 변경 추적¶
- 리소스 유형 =
progress_note - 특정 차트 ID 검색
- 변경 시간순 정렬
- 누가·언제·무엇을 바꿨는지 확인
시나리오 2 — 결제 환불 이력 검증¶
- 리소스 유형 =
payment - 액션 =
delete또는update(환불 처리) - 사용자 + 시각 필터로 특정 직원 활동 추적
시나리오 3 — 보안 사고 조사¶
- 사용자 = 의심 계정
- 액션 =
view(대량 환자 조회 패턴) - IP 주소 + 시각 확인 → 비정상 패턴 발견
시나리오 4 — 정기 회계 감사 자료¶
- 리소스 유형 =
payment - 기간 = 정산 대상 월
- 엑셀 다운로드 → 회계팀 전달
- 결제·환불 모든 트랜잭션 보고
시나리오 5 — 사용자 로그인 추적¶
- 액션 =
login - 사용자 또는 IP 필터
- 마지막 로그인 시간·위치 확인 (보안 사고 조사용)
권한별 차이¶
| Level | 사용 가능 |
|---|---|
| 1 (시스템 관리자) | ✅ 전체 + 엑셀 다운로드 |
| 2 (부원장) | 보기 + 본인 부서 활동 |
| 3~4 | ⚠️ 본인 활동만 (마이페이지) |
자주 발생하는 문제 / FAQ¶
Q1. 감사로그를 삭제할 수 있나요? A. 불가. 감사 정책상 모든 로그는 보존됩니다. 규정 준수 + 보안.
Q2. 너무 많아서 검색이 느려요. A. 기간 필터 좁히기 (1주 이하 권장) + 리소스 유형/사용자로 좁혀서 검색.
Q3. 비밀번호 같은 민감 정보도 로그에 남나요? A. 비밀번호는 해시 처리되어 평문이 안 남음. 환자 SSN/주민번호 등 민감 정보도 마스킹 처리 (audit middleware의 sanitizeData).
Q4. resource_id가 "Out of range" 에러로 일부 누락된 것 같아요. A. 알려진 이슈 (audit_logs.resource_id INT 컬럼에 patient_uid 14자리 들어가는 경우). 운영팀 문의 — 별도 처리 중.
Q5. IP 주소가 내부 IP만 보여요. A. 정상. nginx 프록시 통과 후라 X-Forwarded-For 헤더 기반. 외부 접속 IP는 별도 필드 확인.