説明
Azure Policy アドオンは、割り当てたポリシーを AKS ワークロードに適用するために使います。有効にするだけですべての違反が拒否されるわけではなく、実際の動作は割り当て、効果、除外によって決まります。監査の効果は違反を記録しますが、デプロイは拒否しません。
想定される影響
- 必要なポリシーが適用されず、組織の基準を外れた構成がデプロイされる場合があります。
- 監査結果があるだけでデプロイが拒否されたと判断すると、運用判断を誤る場合があります。
対処方法
- Azure Policy を使うクラスターでは、現在の AzureRM の
azure_policy_enabled = trueを設定し、必要なポリシーを割り当ててください。他のポリシーエンジンを使う場合は、同じ要件を満たすことを確認してください。 - 監査・拒否の効果と除外範囲を確認し、正当なデプロイと禁止する構成をテストしてください。既存ワークロードへの影響を確認してから適用してください。
例
過去の AzureRM 2.x の addon_profile 形式でアドオンを比較する抜粋です。現在の AzureRM では azure_policy_enabled を使います。省略したノードプールや ID などの必須設定も必要です。
変更前
hcl
resource "azurerm_kubernetes_cluster" "example" {
name = "example-aks1"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
dns_prefix = "exampleaks1"
addon_profile {
azure_policy {
enabled = false
}
}
}
変更後
hcl
resource "azurerm_kubernetes_cluster" "example" {
name = "example-aks1"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
dns_prefix = "exampleaks1"
addon_profile {
azure_policy {
enabled = true
}
}
}
補足:
- 変更前: Azure Policy アドオンを無効にします。
- 変更後: アドオンを有効にします。実際の検査・拒否範囲は、別途割り当てるポリシーと効果によって決まります。