Cloud 감사 로그

개요

AWS용 GKE는 Cloud API 및 Kubernetes 클러스터 수준에서 감사 로깅을 지원합니다. 이 문서에서는 Kubernetes 클러스터 감사 로깅에 대한 정보를 제공합니다. Cloud API 감사 로깅은 Cloud API 감사 로깅 정보를 참조하세요.

AWS용 GKE는 클러스터의 Kubernetes API 서버로 전송된 호출을 시간순으로 기록하는 Kubernetes 감사 로깅을 사용합니다. 감사 로그는 의심스러운 API 요청을 조사하고 통계를 수집하는 데 유용합니다.

클러스터 버전 1.23 이상에서는 AWS용 GKE가 기본적으로 Google Cloud 프로젝트에 Cloud 감사 로그를 작성합니다. Cloud 감사 로그에 기록하면 다음과 같은 이점이 있습니다.

  • 모든 GKE 클러스터의 감사 로그를 중앙화할 수 있습니다.
  • Cloud 감사 로그에 기록된 로그 항목은 변경할 수 없습니다.
  • Cloud 감사 로그 항목은 400일 동안 보관됩니다.
  • Cloud 감사 로그는 Anthos 요금에 포함되어 있습니다.

제한사항

AWS용 GKE의 Cloud 감사 로그의 현재 버전에는 몇 가지 제한사항이 있습니다.

  • 데이터 액세스(get, list, watch requests) 로깅은 지원되지 않습니다.

  • Kubernetes 감사 정책은 수정할 수 없습니다.

  • Cloud 감사 로그의 복원력은 확장 네트워크 중단에 대해 우수하지 않습니다. 로그 항목을 Google Cloud로 내보낼 수 없으면 10G 디스크 버퍼에 캐시됩니다. 버퍼가 채워지면 후속 항목이 삭제됩니다.

시작하기 전에

Cloud 감사 로그를 사용 설정하려면 컨트롤 플레인 서브넷에서 servicecontrol.googleapis.com에 대한 아웃바운드 액세스를 추가해야 합니다.

감사 정책

Cloud 감사 로그 동작은 정적으로 구성된 Kubernetes 감사 로깅 정책에 따라 결정됩니다. 이 정책 변경은 현재 지원되지 않지만 향후 출시 버전에서 지원될 것입니다.

Cloud 감사 로그 액세스

Google Cloud 콘솔 또는 Google Cloud CLI를 사용하여 Cloud 감사 로그에 액세스할 수 있습니다.

콘솔

  1. Google Cloud 콘솔의 Logging 메뉴에서 로그 탐색기 페이지로 이동합니다.

    로그 페이지로 이동

  2. 쿼리 표시 전환 버튼을 클릭합니다.

  3. 텍스트 상자에 다음 필터를 입력합니다.

    resource.type="k8s_cluster"
    logName="projects/PROJECT_ID/logs/externalaudit.googleapis.com%2Factivity"
    

    화면이 다음과 같이 표시됩니다.

    쿼리 표시가 사용 설정되어 있고 쿼리가 채워진 로그 탐색기

  4. 쿼리 실행을 클릭하여 이 프로젝트에 로그인하도록 구성된 AWS용 GKE 클러스터의 감사 로그를 모두 표시합니다.

gcloud

프로젝트의 관리자 활동 로그에서 k8s_cluster 리소스 유형에 적용되는 처음 두 로그 항목이 나열됩니다.

gcloud logging read \
    'logName="projects/PROJECT_ID/logs/externalaudit.googleapis.com%2Factivity"
    AND resource.type="k8s_cluster" ' \
    --limit 2 \
    --freshness 300d

여기서 PROJECT_ID는 프로젝트 ID입니다.

출력에 두 로그 항목이 표시됩니다. 각 로그 항목에서 logName 필드의 값은 projects/PROJECT_ID/logs/externalaudit.googleapis.com%2Factivity이고 protoPayload.serviceNamegkemulticloud.googleapis.com과 동일합니다.