監査ログの記録

このトピックでは、Tanzu Kubernetes Grid 2.1 での監査ログについて説明します。

概要

Tanzu Kubernetes Grid では、次の監査ログにアクセスできます。

  • Kubernetes API サーバからの監査ログ。後述の「Kubernetes 監査ログ」を参照してください。
  • auditd を使用して収集される、クラスタ内の各ノードのシステム監査ログ。後述の「ノードのシステム監査ログ」を参照してください。

Kubernetes 監査ログ

Kubernetes 監査ログは、Kubernetes API サーバへの要求を記録します。

監査ログは、スーパーバイザーおよび展開するワークロード クラスタに対してデフォルトで有効になっています。

スタンドアローン管理クラスタまたはワークロード クラスタで、それが展開する Kubernetes の監査を有効にするには、クラスタを展開する前に ENABLE_AUDIT_LOGGING 変数を true に設定します。

重要

Kubernetes 監査を有効にすると、ログの量が非常に多くなる可能性があります。この量を処理するために、VMware では Fluent Bit などのログ フォワーダを使用することをお勧めします。手順については、「ログ転送のための Fluent Bit のインストール」を参照してください。

監査ログに含まれる内容を制御するには、以下で説明するように、監査ポリシー ファイルを kube-apiserver に渡します。

Kubernetes 監査ログの場所

デフォルトでは、クラスタの監査ログ エントリは、制御プレーン ノード上の次の場所に書き込まれます。

  • スタンドアローン管理クラスタとそのワークロード クラスタ/var/log/kubernetes/audit.log
  • スーパーバイザー/var/log/vmware/audit/kube-apiserver.log
  • スーパーバイザーが展開したワークロード クラスタ/var/log/kubernetes/kube-apiserver.log

これらの場所をカスタマイズするには、監査ログ構成で --audit-log-path を設定します。

クラスタに Fluent Bit を展開すると、ユーザーのログ出力先にログが転送されます。

Kubernetes 監査ログのポリシーと構成

ログに記録される内容をきめ細かく制御するには、監査ポリシー ファイルを作成し、--audit-policy-file フラグを使用して kube-apiserver に渡します。

クラスタの監査ログ構成(監査ログの場所を含む)は、次の場所で確認できます。

  • スタンドアローン管理クラスタとそのワークロード クラスタ

    • 制御プレーン ノード上の /etc/kubernetes/audit-policy.yaml
    • ブートストラップ マシン上の ~/.config/tanzu/tkg/providers/ytt/03_customizations/audit-logging/audit_logging.yaml
  • スーパーバイザーとそのワークロード クラスタ:制御プレーン ノード上の /etc/kubernetes/manifest/kube-apiserver.yaml にある Kube API サーバ設定。例:

    • スーパーバイザー

        - kube-apiserver
      [...]
        - --audit-log-maxage=30
        - --audit-log-maxbackup=10
        - --audit-log-maxsize=100
        - --audit-log-path=/var/log/vmware/audit/kube-apiserver.log
        - --audit-policy-file=/etc/vmware/wcp/audit-policy.yaml
      
    • ワークロード クラスタ

        - kube-apiserver
      [...]
        - --audit-log-maxage=30
        - --audit-log-maxbackup=10
        - --audit-log-maxsize=100
        - --audit-log-path=/var/log/kubernetes/kube-apiserver.log
        - --audit-policy-file=/etc/kubernetes/extra-config/audit-policy.yaml
      

ノードのシステム監査ログ

スタンドアローン管理クラスタまたはワークロード クラスタを展開すると、クラスタ上の auditd がデフォルトで有効になります。クラスタ内の各ノードのシステム監査ログにアクセスするには、/var/log/audit/audit.log に移動します。

クラスタに Fluent Bit を展開すると、ユーザーのログ出力先にこれらの監査ログが転送されます。手順については、「ログ転送のための Fluent Bit のインストール」を参照してください。

check-circle-line exclamation-circle-line close-line
Scroll to top icon