K8s 감사

Jmnote (토론 | 기여)님의 2025년 9월 8일 (월) 03:02 판 (새 문서: == 개요 == ;k8s Auditing, k8s Audit ;k8s 감사하기, k8s 감사 * k8s 클러스터 내에서 발생하는 이벤트를 추적하고 기록하는 기능 * API 서버에 들어오...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

1 개요[ | ]

k8s Auditing, k8s Audit
k8s 감사하기, k8s 감사
  • k8s 클러스터 내에서 발생하는 이벤트를 추적하고 기록하는 기능
  • API 서버에 들어오는 요청(request)과 그 결과(response)를 감사 로그로 남겨, 보안 모니터링·문제 추적·규정 준수(Compliance)에 활용할 수 있다.
  • 감사는 kube-apiserver의 기능으로 동작하며, 정책(Policy)과 백엔드(Backend) 구성에 따라 어떤 이벤트를 기록하고 어디에 저장할지 결정된다.

2 동작 원리[ | ]

  • 사용자가 API 요청을 보낸다.
  • API 서버는 요청을 처리하기 전, 처리 중, 처리 후 단계(stage)에서 감사 이벤트를 생성한다.
  • 이벤트는 감사 정책(Audit Policy)에 정의된 규칙과 일치 여부를 평가받는다.
  • 일치하는 규칙에 따라 감사 레벨이 결정되고, 지정된 감사 백엔드로 전달된다.

3 감사 단계 (Audit Stage)[ | ]

  • RequestReceived – API 서버가 요청을 처음 수신했을 때
  • ResponseStarted – 응답 헤더를 클라이언트로 전송했을 때 (스트리밍 응답에 사용)
  • ResponseComplete – 요청 처리가 완료되어 전체 응답을 전송했을 때
  • Panic – 요청 처리 중 예외(panic)가 발생했을 때

4 감사 정책 (Audit Policy)[ | ]

  • 어떤 이벤트를 기록할지 정의하는 규칙 집합이다.
  • audit.k8s.io API 그룹에서 Policy 오브젝트 형태로 정의된다.
  • 규칙에 따라 None, Metadata, Request, RequestResponse 레벨 중 하나로 로그 기록 수준이 결정된다.
  • 자세한 내용은 K8s Audit Policy 문서를 참고.

5 감사 백엔드 (Audit Backend)[ | ]

  • 감사 이벤트를 저장하거나 전송하는 구성 요소
  • 기본적으로 두 가지 백엔드를 지원한다:
    • Log backend – 파일로 감사 이벤트를 기록
    • Webhook backend – 외부 HTTP 엔드포인트로 감사 이벤트를 전송
  • 필요에 따라 두 백엔드를 함께 사용할 수 있다.

6 구성[ | ]

  • kube-apiserver 실행 시 다음 플래그를 통해 감사 기능을 활성화한다:
    • --audit-policy-file: 감사 정책 파일 지정
    • --audit-log-path: 감사 로그 파일 경로 지정
    • --audit-webhook-config-file: 감사 이벤트를 전송할 웹훅 설정 지정
  • 정책 파일이 없으면 감사 이벤트는 기록되지 않는다.

7 활용 사례[ | ]

  • 보안 사고 발생 시 요청 내역 추적
  • 사용자·서비스 계정의 리소스 접근 행위 모니터링
  • 민감 리소스(Secret, ConfigMap 등)에 대한 변경 기록 수집
  • 규제 준수를 위한 운영 감사 로그 확보

8 같이 보기[ | ]

9 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}