Cloud Audit Logs
概要
GKE on Azure は、Cloud API と Kubernetes クラスタの両方のレベルで監査ロギングをサポートします。このドキュメントでは、Kubernetes クラスタ監査ロギングについて説明します。Cloud API 監査ロギングについては、Cloud API 監査ロギングの情報をご覧ください。
GKE on Azure は、Kubernetes Audit Logging を使用して、クラスタの Kubernetes API サーバーへの呼び出しを時系列で記録します。監査ログは、不審な API リクエストの調査や統計情報の収集に役立ちます。
クラスタ バージョン 1.23 以降では、GKE on Azure はデフォルトで Google Cloud プロジェクトの Cloud Audit Logs を書き込みます。Cloud Audit Logs の書き出しには、次の利点があります。
- すべての GKE クラスタの監査ログを一元化できます。
- Cloud Audit Logs に書き込まれるログエントリは不変です。
- Cloud Audit Logs エントリは 400 日間保持されます。
- Cloud Audit Logs は Anthos の料金に含まれています。
制限事項
GKE on Azure の Cloud Audit Logs の現在のバージョンには、いくつかの制限があります。
データアクセス(取得、リスト出力、監視リクエスト)ロギングはサポートされていません。
Kubernetes 監査ポリシーの変更はサポートされていません。
Cloud Audit Logs は、ネットワークの長い停止に対処できません。ログエントリが Google Cloud にエクスポートできない場合は、10G のディスク バッファにキャッシュ保存します。そのバッファがいっぱいになると、後続のエントリは破棄されます。
監査ポリシー
Cloud Audit Logs の動作は、静的に構成された Kubernetes 監査ロギング ポリシーによって決定されます。現在、このポリシー変更はサポートされていませんが、将来はサポートされる予定です。
Cloud Audit Logs へのアクセス
Cloud Audit Logs には、Google Cloud コンソールや Google Cloud CLI からアクセスできます。
Console
Google Cloud コンソールで、[ロギング] メニューの [ログ エクスプローラ] ページに移動します。
[クエリを表示] トグルスイッチをクリックします。toggle_off
テキスト ボックスに次のフィルタを入力します。
resource.type="k8s_cluster" logName="projects/PROJECT_ID/logs/externalaudit.googleapis.com%2Factivity"
画面は次のようになります。
[クエリを実行] をクリックして、このプロジェクトにログインするように構成された GKE on Azure クラスタからのすべての監査ログを表示します。
gcloud
プロジェクトの管理アクティビティ ログで k8s_cluster
リソースタイプに該当するログエントリの最初の 2 つを一覧表示します。
gcloud logging read \ 'logName="projects/PROJECT_ID/logs/externalaudit.googleapis.com%2Factivity" AND resource.type="k8s_cluster" ' \ --limit 2 \ --freshness 300d
ここで、PROJECT_ID はプロジェクト ID です。
出力には 2 つのログエントリが表示されます。各ログエントリについて、logName
フィールドは projects/PROJECT_ID/logs/externalaudit.googleapis.com%2Factivity
値を持ち、protoPayload.serviceName
は gkemulticloud.googleapis.com
と等しくなる点に注意してください。