以前のバージョンの GKE On-Prem のドキュメントを表示しています。最新のドキュメントをご覧ください

監査ログ

このページでは、Kubernetes apiserver の監査ログにアクセスする方法について説明します。

概要

各 GKE On-Prem クラスタには Kubernetes 監査ロギングがあり、クラスタの Kubernetes API サーバーへの呼び出しを時系列で記録します。監査ログは、不審な API リクエストの調査や統計情報の収集に役立ちます。

各 API サーバーからの監査ログは永続ディスクにダンプされるため、VM の再起動/アップグレードによってログが消えるることはありません。GKE On-Prem では 10 GB までの監査ログが保持されます。

Kubernetes 監査ログへのアクセス

監査ログにアクセスできるのは管理クラスタのみです。

  1. 以下にクラスタで実行されている Kubernetes API サーバーを表示します。

    kubectl get pods --all-namespaces -l component=kube-apiserver
    
  2. API サーバーの監査ログをダウンロードします。

    kubectl cp -n [NAMESPACE] [APISERVER_POD_NAME]:/var/log/kube-audit/kube-apiserver-audit.log /tmp/kubeaudit.log
    

    このコマンドは、最新のログファイルを取得します。このログファイルには、管理クラスタの場合は最大 1 GB、ユーザー クラスタの場合は最大 850 GB が含まれます。

    古い監査記録は別のファイルに保存されます。これらのファイルを表示するには:

    kubectl exec -n [NAMESPACE] [APISERVER_POD_NAME] -- ls /var/log/kube-audit -la
    

    各監査ログのファイル名には、ファイルがローテーションされた日時を示すタイムスタンプがあります。ファイルには、その日時までの監査ログが含まれています。

監査ポリシー

監査ログの動作は、静的に構成された Kubernetes 監査ログポリシーによって決まります。このポリシーの変更は現在サポートされていません。