

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 로깅 모범 사례
<a name="logging-best-practices"></a>

## 로깅 수준
<a name="logging-levels"></a>

과도한 양의 데이터를 기록하지 않도록 주의합니다. 로그에는 유용하고 실행 가능한 데이터가 기록되어야 합니다. 과도한 로깅은 성능에 부정적인 영향을 줄 수 있으며 로깅 저장과 처리 비용도 증가할 수 있습니다. 또한 문제와 보안 이벤트가 감지되지 않을 수도 있습니다.

HTTP 응답 상태 코드를 로깅하면 상당한 양의 로그 데이터, 특히 200레벨(성공) 및 300레벨(리디렉션) 상태 코드가 생성될 수 있습니다. 400수준(클라이언트측 오류) 및 500수준(서버측 오류) 상태 코드만 로깅하는 것을 고려하는 것이 좋습니다.

애플리케이션 로깅 프레임워크는 **정보**, **디버그**, **오류** 등 다양한 수준의 로깅을 제공합니다. 개발 환경의 경우 개발자를 돕기 위해 **정보**와 **디버그** 등의 자세한 로깅을 사용할 수 있습니다. 그러나 과도한 로깅 데이터를 생성할 수 있으므로 프로덕션 환경에서는 **정보** 및 **디버그** 수준을 비활성화하는 것이 좋습니다.

## 주의 및 제외
<a name="cautions-exclusions"></a>
+ 로깅하는 데이터가 법적으로 허용되는지 확인하세요(특히 조직이 운영되는 관할 구역에서).
+ 알려진 사용자(예: 다른 내부 시스템), 신뢰할 수 있는 타사, 검색 엔진 로봇, 가동 시간 또는 프로세스 모니터, 기타 원격 모니터링 시스템의 이벤트를 제외하지 마세요. 그러나 기록된 데이터에 이들 각 항목에 대한 분류 플래그를 포함할 수 있습니다. 애플리케이션에서 생성되는 로그 파일은 애플리케이션에서 처리하는 민감한 데이터를 볼 권한이 없는 타사 로그 모니터링 솔루션 또는 외부 서비스 제공업체 등에서 사용할 수 있다는 점을 고려하세요.
+ 다음 속성은 로그에 직접 기록되어서는 안 됩니다. 다음 항목을 제거, 마스킹, 삭제, 해시 또는 암호화하세요.
  + 애플리케이션 소스 코드
  + 세션 식별 값(세션별 이벤트를 추적해야 하는 경우 해시된 값으로 바꾸는 것이 좋음)
  + 액세스 토큰
  + 민감한 개인 데이터 및 일부 형태의 개인 식별 정보(PII)(예: 건강 정보 또는 정부가 발행한 신분증)
  + 인증 암호
  + 데이터베이스 연결 문자열
  + 암호화 키 및 기타 기본 시크릿
  + 은행 계좌 또는 결제 카드 소유자 데이터
  + 로깅 시스템이 저장할 수 있는 보다 높은 보안 등급의 데이터
  + 상업적으로 민감한 정보
  + 해당 관할 구역에서 수집이 불법인 정보
  + 사용자가 수집을 거부했거나 수집에 명시적으로 동의하지 않은 정보
  + 수집 동의가 만료된 정보

## 특수 데이터 유형
<a name="special-data-types"></a>

경우에 따라 다음과 같은 데이터가 로그에 기록될 수도 있습니다. 조사 및 문제 해결 목적으로 유용할 수 있지만 시스템에 대한 민감한 정보가 노출될 수 있습니다. 이벤트가 기록되기 전에 다음과 같은 데이터 유형을 익명화, 해시 또는 암호화해야 할 수 있습니다.
+ 파일 경로
+ 내부 네트워크 이름 및 주소
+ 개인 이름, 전화번호, 이메일 주소 등 민감하지 않은 개인 데이터

로그에 개인의 실제 신원이 필요하지 않거나 너무 위험하다고 간주되는 경우 데이터 익명화를 사용하세요.

## 액세스 및 변경 관리
<a name="change-management"></a>
+ 관리자가 아닌 사용자는 특히 규정 준수 요구 사항을 충족하는 데 필요한 이벤트 로깅을 비활성화할 수 없어야 합니다.
+ 관리자만 로깅 서비스를 일시 중지 또는 중지하거나 구성을 수정할 수 있어야 합니다.
+ 로깅 서비스에 로그 파일 무결성 검증 기능이 있는 경우 해당 기능을 활성화하세요. 이렇게 하면 로그 파일의 수정, 삭제 또는 위조를 감지하는 데 도움이 됩니다. 의이 기능에 대한 자세한 내용은이 가이드[CloudTrail 사용](cloudtrail.md#using-cloudtrail)의 섹션을 AWS 서비스참조하세요.
+ 변경 사항 로깅은 승인된 알고리즘을 기반으로 애플리케이션에 의해 자동으로 수행되는 것과 같이 애플리케이션에 내장된 것이거나 구성 데이터를 변경하거나 소스 코드를 수정하는 경우와 같이 승인된 변경 관리 프로세스를 따라야 합니다.