次の方法で共有


Kubernetes 監査イベントを監視する

> 適用対象: Azure Local バージョン 23H2、AKS enabled by Azure Arc on VMware (プレビュー)

Kubernetes コントロール プレーン ログの Kubernetes 監査ログにアクセスできます。 AKS クラスターのコントロール プレーンのログは、Azure Monitor のリソース ログとして実装されています。 リソース ログは、診断設定を作成して 1 つ以上の場所にルーティングするまでは収集および格納されません。 通常、これらは Log Analytics ワークスペースに送信されます。このワークスペースには、Container Insights のほとんどのデータが格納されます。

診断設定の作成

診断設定を作成する前に、AKS クラスターからのログ収集を有効にする Arc K8S 拡張機能をインストールします。

次のコマンドを実行して、Arc K8S 拡張機能をインストールします。

az k8s-extension create -g <resouerce-group-name> -c <cluster-name> --cluster-type connectedClusters --extension-type Microsoft.AKSArc.AzureMonitor --name "aksarc-azuremonitor" --auto-upgrade true

拡張機能が正常にインストールされたら、Azure Monitor の Diagnostic 設定 の指示に従って、Azure portal、Azure CLI、または PowerShell を使用して診断設定を作成します。 このプロセス中に、収集するログのカテゴリを指定できます。 AKS Arc のカテゴリは、 Azure Monitor リファレンスに一覧表示されます。

コマンドの例は次のとおりです。

az monitor diagnostic-settings create –name <Diagnostics_Setting_Name> --resource <Cluster_Resource_ID> --logs "[{category:kube-audit,enabled:true},{category:kube-audit-admin,enabled:true},{category:kube-apiserver,enabled:true},{category:kube-controller-manager,enabled:true},{category:kube-scheduler,enabled:true},{category:cluster-autoscaler,enabled:true},{category:cloud-controller-manager,enabled:true},{category:guard,enabled:true},{category:csi-aksarcdisk-controller,enabled:true},{category:csi-aksarcsmb-controller,enabled:true},{category:csi-aksarcnfs-controller,enabled:true}]" --workspace <LA_Workspace_ID>

診断設定を示すポータル ブレードのスクリーンショット。

AKS では、リソース ログに対して Azure 診断 モードまたはリソース固有モードがサポートされています。 このモードでは、データの送信先となる Log Analytics ワークスペース内のテーブルを指定します。 Azure Diagnostics モードではすべてのデータが AzureDiagnostics テーブルに送信されますがリソース固有モードでは、次のセクションのログ カテゴリ テーブルに示すように、 ArcK8SAuditArcK8SAuditAdmin、および ArcK8SControlPlane にデータが送信されます。

設定を保存した後、Log Analytics ワークスペースまたはその他のサポートされている宛先にイベントが表示されるまでに 1 時間かかることがあります。 有効にしたログ カテゴリに基づいて分析情報を抽出する KQL クエリを記述できます。

ログのカテゴリ

カテゴリ 説明 テーブル (リソース固有モード)
kube-apiserver API サーバーからのログ。 ArcK8SControlPlane。
kube-audit get、list、create、update、delete、patch、post を含む、各監査イベントの監査ログ データ。 ArcK8SAudit
kube-audit-admin kube-audit ログ カテゴリのサブセット。 ログから get および list の監査イベントを除外することで、ログの数を大幅に削減します。 ArcK8SAuditAdmin
kube-controller-manager Kubernetes と Azure コントロール プレーンの間で発生する可能性がある問題を、より詳しく把握できます。 一般的な例は、AKS クラスターに Azure と対話するためのアクセス許可がない場合です。 ArcK8SControlPlane
kube-scheduler スケジューラからのログ。 ArcK8SControlPlane。
cluster-autoscaler 予想できないことのある AKS クラスターのスケールアップまたはスケールダウンの理由を理解できます。 この情報は、クラスターで興味深いことが発生した可能性がある時間間隔を関連付けるのにも役立ちます。 ArcK8SControlPlane
cloud-controller-manager Kubernetes クラウド コントローラー マネージャーの cloud-node-manager コンポーネントのログ。 ArcK8SControlPlane
guard マネージド Microsoft Entra ID と Azure RBAC 監査。 マネージド Microsoft Entra ID の場合、このカテゴリにはトークンの入力とユーザー情報の出力が含まれます。Azure RBAC の場合は、アクセス レビューの送受信が含まれます。 ArcK8SControlPlane
csi-aksarcdisk-controller AKS Arc CSI ストレージ ドライバーからのログ。 ArcK8SControlPlane。
csi-aksarcsmb-controller AKS Arc SMB CSI ストレージ ドライバーからのログ。 ArcK8SControlPlane。
csi-aksarcnfs-controller AKS Arc NFS CSI ストレージ ドライバーからのログ。 ArcK8SControlPlane。

診断設定を削除して無効にする

診断設定は、Azure portal、PowerShell、または Azure CLI を使用して削除できます。

az monitor diagnostic-settings delete –name <diagnostics-setting-name> --resource <resource-name> -g <resource-group-name>

設定が正常に削除されたら、Azure CLI を使用して拡張機能を削除できます。

az k8s-extension delete -g <resouerce-group-name> -c <cluster-name> --cluster-type connectedClusters --name "hybridaks-observability"

次のステップ

Kubernetes オブジェクト イベントを監視する