AKS のネットワークポリシーが未構成

AKS にネットワークポリシーを適用し、必要な Pod 通信だけを許可します。

説明

AKS にネットワークポリシーを適用するエンジンがないと、Kubernetes の NetworkPolicy で Pod 間通信を制限できません。既定では Pod 間通信が許可されています。

想定される影響

不要な通信経路があると、侵害されたワークロードから他のサービスにアクセスされやすくなります。

対処方法

クラスターネットワークと互換性のあるエンジンを有効にし、必要な受信・送信通信を許可する NetworkPolicy を適用してください。許可と遮断の両方を確認してください。

例

この抜粋は Linux ノードで Azure NPM を構成する例です。対応する Kubernetes バージョンとノードサイズを指定してください。エンジンの有効化に加えてポリシーの適用が必要です。新規クラスターでは Microsoft が推奨する Cilium も検討してください。

変更前

bicep
param kubernetesVersion string
param nodeVmSize string

resource aksCluster1 'Microsoft.ContainerService/managedClusters@2020-02-01' = {
  name: 'aksCluster1'
  location: resourceGroup().location
  properties: {
    kubernetesVersion: kubernetesVersion
    dnsPrefix: 'dnsprefix'
    agentPoolProfiles: [
      {
        name: 'agentpool'
        count: 2
        vmSize: nodeVmSize
        osType: 'Linux'
      }
    ]
  }
}

変更後

bicep
param kubernetesVersion string
param nodeVmSize string

resource aksCluster1 'Microsoft.ContainerService/managedClusters@2020-02-01' = {
  name: 'aksCluster1'
  location: resourceGroup().location
  properties: {
    kubernetesVersion: kubernetesVersion
    dnsPrefix: 'dnsprefix'
    agentPoolProfiles: [
      {
        name: 'agentpool'
        count: 2
        vmSize: nodeVmSize
        osType: 'Linux'
      }
    ]
    networkProfile: {
      networkPlugin: 'azure'
      networkPolicy: 'azure'
    }
  }
}

参考資料