Azure Kubernetes Serviceのセキュリティ更新まとめ:AKS管理者が確認すべき設定と影響範囲

Azure Kubernetes Service(AKS)のクラスターセキュリティを確認するなら、まず見るべきポイントは「AKS Automatic と AKS Standard で、誰がどこまで責任を持つか」です。2026年6月5日に更新された Microsoft Learn の公式情報では、AKS のセキュリティベストプラクティスが AKS Automatic と AKS Standard の両方を対象に整理され、認証・認可、API サーバー保護、Instance Metadata API へのアクセス制限、コンテナー権限、Kubernetes アップグレード、ノード更新の確認ポイントが明確になりました。(Microsoft Learn)

結論から言えば、今回の更新は「今すぐ全クラスターに破壊的変更が入る」という内容ではなく、運用責任の見直しを促すセキュリティガイダンスの更新です。特に AKS Standard を運用している管理者は、これまで明示的に設定してきたセキュリティ項目が維持されているかを棚卸しする必要があります。AKS Automatic を利用する場合も、事前構成されたベースラインに任せきりにせず、脅威検出、例外管理、ワークロード側の権限制御、アップグレード前検証は運用チームの責任として確認すべきです。

目次

Azure Kubernetes Service のセキュリティ更新で何が変わったのか

今回の公式ドキュメント更新で最も重要なのは、AKS のクラスターセキュリティベストプラクティスが AKS Automatic と AKS Standard の両方に適用される形で整理された点です。Microsoft Learn の該当ページでは、対象として AKS Automatic と AKS Standard が明記され、クラスター認証・認可、API サーバーのネットワーク強化、ポリシー、イメージ管理、システムノードプール、アップグレード責任の違いが比較されています。(Microsoft Learn)

GitHub 上の公式ドキュメント履歴では、2026年6月4日のコミットで「Adding AKS Automatic」として差分が記録され、1ファイルに対して 59行追加、51行削除の変更が行われています。ページ上の最終更新日は 2026年6月5日と表示されています。(GitHub)

実務上は、次のように捉えると分かりやすいです。

確認項目今回の見直しポイント管理者・開発者への影響
クラスターモードAKS Automatic と AKS Standard の責任分界が追加自社の運用モデルに応じて、誰が設定・監査するかを再確認する
認証・認可Microsoft Entra ID と Kubernetes RBAC の利用を重視個人単位ではなく、グループやロール単位で権限を管理する
API サーバー保護最小権限と監査性を重視管理者権限の過剰付与、広すぎる namespace 権限を見直す
Instance Metadata APIPod からのメタデータエンドポイント到達を制限NetworkPolicy の適用状況を確認する
コンテナー権限root 実行、特権昇格、不要な権限を避けるPod Security、AppArmor、seccomp、user namespaces を確認する
アップグレードKubernetes とノード OS の更新を継続的に行う本番前検証、PDB、メンテナンス時間、ノードプール単位の展開計画が必要

影響範囲は AKS Automatic と AKS Standard の両方

今回のガイダンスは AKS Automatic と AKS Standard の両方に関係します。ただし、影響の出方は同じではありません。

AKS Automatic は、サポートされる構成において、セキュリティやノード管理、スケーリングなどの一般的な設定を Azure 側がより多く事前構成するモードです。公式説明でも、AKS Automatic はクラスター設定、ノード管理、スケーリング、セキュリティ、AKS Well-Architected に沿った事前構成を Azure が扱うと説明されています。(Microsoft Learn)

一方、AKS Standard は構成の自由度が高い分、オペレーター側が明示的に設定・維持する範囲が広くなります。公式ドキュメントでも、AKS Automatic はより多くの事前構成された制御を含み、AKS Standard は直接構成できる範囲が広い代わりに、ベースライン設定と継続運用の責任が増えると整理されています。(Microsoft Learn)

AKS Automatic 利用者が誤解しやすい点

AKS Automatic は「セキュリティ運用が不要になるモード」ではありません。事前構成されたセキュリティベースラインがあっても、次の作業は利用者側に残ります。

  • Defender for Containers の有効化とアラート対応
  • アプリケーションごとの権限設計
  • namespace 単位の例外管理
  • デプロイ前の動作検証
  • アップグレードによるアプリケーション影響の確認
  • セキュリティポリシー違反時の調査と改善

特に本番環境では、「Automatic だから安全」と判断するのではなく、「Automatic が担う範囲」と「自社チームが担う範囲」を運用手順書に分けて書くことが重要です。

AKS Standard 利用者が確認すべき点

AKS Standard では、次の設定が暗黙的に安全になっているとは考えない方がよいです。

  • Microsoft Entra ID 統合が有効か
  • Kubernetes RBAC が適切に設計されているか
  • API サーバーへのアクセス元が制限されているか
  • NetworkPolicy が利用可能な構成になっているか
  • Pod が root や privileged で動いていないか
  • ノードイメージ更新と Kubernetes バージョン更新の計画があるか
  • 本番アップグレード前に検証環境でテストしているか

特に複数チームで namespace を共有している場合、権限の棚卸しは優先度が高い作業です。過去に一時的に付与した cluster-admin 権限や、退職・異動後も残っているグループ権限が、攻撃経路になることがあります。

まず確認すべきセキュリティ設定

AKS のセキュリティ確認は、範囲を広げすぎると手が止まりがちです。最初は、公式ガイダンスで重視されている項目に沿って、API サーバー、ID、Pod の外向き通信、コンテナー権限、ノード更新の順に確認すると進めやすくなります。

Microsoft Entra ID と Kubernetes RBAC で API サーバーを守る

AKS クラスターで最も重要な防御ポイントの一つが Kubernetes API サーバーです。公式ガイダンスでは、API サーバーへのアクセスを保護するため、Microsoft Entra ID と Kubernetes RBAC を統合し、Azure サブスクリプションと同じようにアクセス制御することが推奨されています。(Microsoft Learn)

実務では、次のような設計が基本です。

悪い例改善例
個人ユーザーに直接 cluster-admin を付与するMicrosoft Entra ID グループにロールを割り当てる
すべての開発者に全 namespace の編集権限を付与するチーム別 namespace に RoleBinding を設定する
障害対応用の強権限を常時付与する緊急時用グループを分け、利用履歴を監査する
権限付与の理由が記録されていない申請・承認・期限・棚卸し日を残す

たとえば、開発チーム A が team-a namespace だけを操作すればよい場合、クラスター全体の ClusterRoleBinding ではなく、namespace スコープの RoleBinding を使います。これにより、誤操作や侵害時の影響範囲を小さくできます。

Instance Metadata API への Pod からのアクセスを制限する

公式ガイダンスでは、すべてのユーザー namespace で NetworkPolicy を追加し、Pod からメタデータエンドポイントへの egress をブロックすることが推奨されています。AKS で NetworkPolicy を使うには、クラスター作成時に --network-policy azure などの指定が必要になる場合があります。(Microsoft Learn)

Instance Metadata API は、Azure リソースのメタデータや ID に関係する情報へ到達する経路になり得ます。アプリケーションの脆弱性を突かれて Pod 内から外向き通信を実行された場合、メタデータエンドポイントに到達できる構成はリスクになります。

確認すべき観点は次の通りです。

確認項目判断基準
NetworkPolicy が使える構成か使用中のネットワークプラグインとポリシーエンジンで egress 制御できるか
user namespace で既定拒否に近い設計か必要な宛先だけ許可しているか
169.254.169.254 への到達を制御しているかPod からメタデータエンドポイントへ不要にアクセスできないか
例外 namespace があるか例外理由、期限、所有者が記録されているか

失敗しやすいのは、「NetworkPolicy の YAML は用意したが、クラスター側で NetworkPolicy が有効になっていない」ケースです。既存クラスターでは、ポリシー適用前にネットワーク構成を必ず確認してください。

コンテナーの root 実行と特権昇格を避ける

公式ガイダンスでは、コンテナーが実行できる操作を最小限にし、root アクセスや特権昇格を避けることが推奨されています。また、user namespaces によるホスト分離の改善、AppArmor や seccomp などの Linux セキュリティ機能の活用にも触れられています。(Microsoft Learn)

開発者が確認すべき代表的な項目は、次の通りです。

securityContext:
  runAsNonRoot: true
  allowPrivilegeEscalation: false
  readOnlyRootFilesystem: true
  capabilities:
    drop:
      - ALL

ただし、すべてのアプリケーションに同じ設定を機械的に入れればよいわけではありません。たとえば、一時ファイルを書き込むアプリケーションで readOnlyRootFilesystem: true を指定すると、起動に失敗することがあります。その場合は、書き込みが必要なパスだけ emptyDir などに逃がし、コンテナーイメージ全体を書き込み可能にしない設計にします。

脅威検出は Defender for Containers の有効化だけで終わらせない

Microsoft のガイダンスでは、Defender for Containers を有効化することで、クラスター構成の評価、セキュリティ推奨事項、脆弱性スキャン、Kubernetes ノードとクラスターへのリアルタイム保護とアラートを利用できると説明されています。(Microsoft Learn)

ただし、実務で重要なのは「有効化した後」です。アラートが出ても、誰が、どの優先度で、どこまで対応するかが決まっていなければ、セキュリティ効果は限定的です。

最低限、次の運用ルールを決めておきましょう。

運用項目決める内容
アラート確認毎営業日確認するのか、重大度 High 以上を即時通知するのか
対応責任インフラチーム、SRE、開発チームのどこが一次対応するのか
例外管理修正できない脆弱性をいつまで許容するのか
再発防止Dockerfile、Helm chart、CI/CD のどこを直すのか
監査証跡チケット、Pull Request、変更履歴をどう残すのか

特にコンテナー脆弱性は、ベースイメージの更新だけで解消する場合もあれば、アプリケーション依存パッケージの更新が必要な場合もあります。アラートを「インフラの問題」として放置せず、開発チームの修正フローに接続することが大切です。

Kubernetes とノードのアップグレードで確認すべきこと

AKS のセキュリティでは、アクセス制御だけでなく、Kubernetes とノード OS を更新し続ける運用が欠かせません。公式ガイダンスでは、AKS クラスターを最新の Kubernetes バージョンへ定期的にアップグレードし、ノードも更新することが推奨されています。(Microsoft Learn)

AKS は GA の Kubernetes マイナーバージョンについて、最新バージョン N と、その前の N-1、N-2 の合計3つをサポートする方針です。新しいマイナーバージョンが導入されると、古いマイナーバージョンは一定期間後にサポート対象外になります。(Microsoft Learn)

利用可能なアップグレードを確認する

Azure CLI を使う場合、まず現在のクラスターで利用可能なアップグレード先を確認します。

az aks get-upgrades \
  --resource-group myResourceGroup \
  --name myAKSCluster \
  --output table

アップグレード自体は、公式ガイダンスで示されている通り az aks upgrade を使います。AKS のアップグレード処理では、ノードを1台ずつ cordon/drain し、残りのノードへ Pod をスケジュールし、新しい OS と Kubernetes バージョンのノードを展開する流れになります。(Microsoft Learn)

az aks upgrade \
  --resource-group myResourceGroup \
  --name myAKSCluster \
  --kubernetes-version <KUBERNETES_VERSION>

本番環境では、いきなりこのコマンドを実行するのではなく、次の順序で進めるのが安全です。

手順実施内容失敗しやすいポイント
事前確認サポート対象バージョン、非推奨 API、リリースノートを確認Kubernetes API の廃止を見落とす
検証環境同じ Helm chart、Manifest、Ingress、CSI でテスト本番だけにある設定差分を見落とす
PDB 確認Pod Disruption Budget が適切か確認maxUnavailable=0 などで drain が進まない
容量確認surge ノード用のクォータ、IP、SKU 在庫を確認追加ノードを作れずアップグレード失敗
段階展開ノードプール単位、クラスター単位で順次更新全環境を同時に上げて障害範囲が広がる
監視エラー率、レイテンシ、Pod 再起動、HPA 動作を確認アップグレード完了だけを見て正常判断する

AKS のアップグレード推奨事項では、計画メンテナンス時間、max surge、PDB、node drain timeout、node soak time を組み合わせ、停止影響を抑えることが推奨されています。production では max surge 33% が推奨値として挙げられていますが、クォータやリージョン容量に制約がある場合は調整が必要です。(Microsoft Learn)

マイナーバージョンのスキップに注意する

Kubernetes のマイナーバージョンアップでは、複数バージョンをまとめて飛ばせないケースがあります。AKS の公式情報では、サポート対象クラスターのアップグレードで Kubernetes マイナーバージョンはスキップできないと説明されています。たとえば 1.27.x から 1.29.x へ直接上げるのではなく、1.28.x を経由する必要があります。(Microsoft Learn)

アップグレードを長期間放置すると、検証回数も作業リスクも増えます。月次または四半期ごとに「現在の Kubernetes バージョン」「サポート期限」「次の検証予定」を確認する運用にしておくと、緊急対応になりにくくなります。

ノードイメージと OS 更新の確認ポイント

AKS では Linux ノードに対し、ディストリビューションの更新チャネルを通じて毎晩セキュリティパッチが適用される一方、セキュリティパッチやカーネル更新で再起動が必要な場合でも、ワークロード影響を抑えるためノードは自動再起動されません。(Microsoft Learn)

また、ノード OS にパッチが入っても、クラスター内で新規ノードを作成する際に使われるノードイメージ自体は別途更新が必要です。公式情報では、Linux ノードイメージは週次、Windows ノードイメージは月次で更新されると説明されており、ノードイメージのアップグレードを定期的に行うことが推奨されています。(Microsoft Learn)

確認コマンドの例は次の通りです。

az aks nodepool get-upgrades \
  --resource-group $AKS_RESOURCE_GROUP \
  --cluster-name $AKS_CLUSTER \
  --nodepool-name $AKS_NODEPOOL

現在のノードイメージバージョンを確認するには、次のようにします。

az aks nodepool show \
  --resource-group $AKS_RESOURCE_GROUP \
  --cluster-name $AKS_CLUSTER \
  --name $AKS_NODEPOOL \
  --query nodeImageVersion

すべてのノードイメージを更新する場合は、Kubernetes バージョンを上げずに --node-image-only を使う方法があります。

az aks upgrade \
  --resource-group $AKS_RESOURCE_GROUP \
  --name $AKS_CLUSTER \
  --node-image-only \
  --yes

特定のノードプールだけを更新する場合は、次のようにします。

az aks nodepool upgrade \
  --resource-group $AKS_RESOURCE_GROUP \
  --cluster-name $AKS_CLUSTER \
  --name $AKS_NODEPOOL \
  --node-image-only

注意したいのは、ノードイメージ更新も通常のアプリケーション運用に影響し得る点です。DaemonSet、CSI ドライバー、監視エージェント、セキュリティエージェント、GPU ノードなど、ノードに依存するコンポーネントは特に事前検証が必要です。

管理者・開発者が今すぐ行うべきチェックリスト

今回の AKS セキュリティガイダンスを受けて、まずは次のチェックリストを使って現状を確認しましょう。

対象チェック項目優先度
クラスターモードAKS Automatic か AKS Standard かを一覧化している高
責任分界Azure 側、自社インフラ側、開発チーム側の責任を文書化している高
認証Microsoft Entra ID 統合を利用している高
認可Kubernetes RBAC を namespace 単位で最小権限にしている高
管理者権限cluster-admin の付与先と理由を説明できる高
API サーバーアクセス元、監査ログ、緊急時権限を管理している高
Metadata APIPod から 169.254.169.254 への不要な到達を制限している高
コンテナーroot 実行、privileged、特権昇格を避けている高
脅威検出Defender for Containers のアラート対応フローがある中
Kubernetes 更新現在のマイナーバージョンがサポート範囲内にある高
ノード更新ノードイメージ更新の頻度と担当者が決まっている高
本番展開PDB、max surge、メンテナンス時間を設定している中
監査例外設定に期限と所有者がある中

最初から完璧なセキュリティ運用を作る必要はありません。まずは「クラスター一覧」「権限一覧」「バージョン一覧」「例外一覧」の4つを作るだけでも、リスクの見える化が進みます。

移行・展開時に注意すべきポイント

AKS Standard から AKS Automatic への移行や、新規クラスターで AKS Automatic を検討する場合は、単純に「管理が楽になるか」だけで判断しない方がよいです。見るべき観点は、セキュリティベースライン、拡張性、既存ネットワーク設計、監査要件、運用チームのスキルです。

AKS Automatic を選びやすいケース

AKS Automatic は、クラスター運用の標準化を進めたい組織や、AKS のベストプラクティスに沿った既定構成を活用したいチームに向いています。たとえば、アプリケーション開発チームが Kubernetes の低レイヤー運用に多くの時間を割けない場合、AKS Automatic の事前構成は有力な選択肢になります。

ただし、すべての既存要件に合うとは限りません。ネットワーク、ポリシー、セキュリティツール、ノード構成に強いカスタマイズ要件がある場合は、AKS Standard の方が適していることもあります。

AKS Standard を継続すべきケース

AKS Standard は、細かなネットワーク制御、特殊なノードプール、既存のセキュリティ基準、組織独自の運用フローを維持したい場合に向いています。その代わり、責任範囲は広くなります。

特に次のような環境では、AKS Standard の設定を継続的に監査する仕組みが必要です。

  • 金融、医療、公共系など監査要件が厳しい
  • 複数テナントが同じクラスターを使う
  • GPU ノードや Windows ノードを使っている
  • 独自の CNI、Ingress、Service Mesh、セキュリティエージェントを組み込んでいる
  • 本番クラスターが複数リージョンに分散している

よくある失敗と回避策

AKS のセキュリティ運用では、設定そのものよりも「継続運用」でつまずくことが多くあります。

よくある失敗原因回避策
cluster-admin が増え続ける緊急対応後に権限を戻していない期限付き権限、月次棚卸し、承認フローを導入する
NetworkPolicy が効いていないクラスター側のネットワークポリシー設定を確認していない作成前後でポリシーエンジンと通信テストを確認する
アップグレードが失敗するPDB、クォータ、IP 枯渇を見落としている事前検証と pre-upgrade validation の結果を確認する
ノード更新を後回しにするKubernetes バージョン更新と混同しているノードイメージ更新を別タスクとして管理する
AKS Automatic に任せきりにする責任分界を誤解しているアラート対応、例外管理、ワークロード設定は自社責任と明記する
開発環境だけで判断する本番固有の負荷、PDB、外部接続が反映されていない本番相当の検証環境か段階展開を用意する

特に注意したいのは、セキュリティ設定を「一度入れたら終わり」にしないことです。AKS は Kubernetes、ノード OS、Azure 側の機能、アプリケーション依存関係が継続的に変わるため、定期的な見直しを前提に運用する必要があります。

まとめ:AKS のセキュリティ対策は「責任分界」と「継続更新」から始める

今回更新された Azure Kubernetes Service の公式セキュリティベストプラクティスでは、AKS Automatic と AKS Standard の違いを踏まえた運用責任の整理が重要なテーマになっています。AKS Automatic は事前構成されたセキュリティベースラインを活用できますが、脅威検出、例外管理、ワークロード権限、アップグレード検証まで自動で完結するわけではありません。AKS Standard は柔軟に構成できる一方で、認証・認可、ネットワーク、ポリシー、ノード更新、アップグレード計画を管理者が明示的に維持する必要があります。

次に取るべき行動は、まず自社の AKS クラスターを一覧化し、クラスターモード、Kubernetes バージョン、ノードイメージ、RBAC、NetworkPolicy、Defender for Containers、例外設定を確認することです。そのうえで、AKS Automatic と AKS Standard のどちらであっても、セキュリティを「初期設定」ではなく「継続的な運用品質」として管理する体制を作りましょう。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次