Azure Policy 未反映 Azure Kubernetes 集群中的命名空间排除

问题描述 投票:0回答:1

我在管理组级别分配了 Azure 安全基准。

Azure 安全基准有一项策略 (

/providers/Microsoft.Authorization/policyDefinitions/423dd1ba-798e-40e4-9c4d-b6902674b423
),要求 Kubernetes 集群禁用自动挂载 API 凭据。

我的订阅中有一个 Azure Kubernetes 集群,它是应用了 Azure 安全基准的上述管理组的一部分,并且我正在尝试覆盖命名空间排除以包含默认命名空间排除列表之外的其他命名空间。

我的排除命名空间列表如下:

[
  "kube-system",
  "gatekeeper-system",
  "azure-arc",
  "azuredefender",
  "mdc",
  "azure-extensions-usage-system",
  "ingress",
  "cert-manager",
  "external-dns",
  "external-secrets"
]

这与默认排除命名空间列表进行比较:

[
  "kube-system",
  "gatekeeper-system",
  "azure-arc",
  "azuredefender",
  "mdc",
  "azure-extensions-usage-system"
]

为了实现这一目标,我应用了以下政策分配:

resource "azurerm_resource_policy_assignment" "automounting_allowed_namespaces" {
  name                 = "automounting-allowed-namespaces"
  display_name         = "List of the allowed namespaces for automounting API credentials"
  policy_definition_id = "/providers/Microsoft.Authorization/policyDefinitions/423dd1ba-798e-40e4-9c4d-b6902674b423"
  resource_id          = var.k8s_cluster_id

  parameters = jsonencode({
    excludedNamespaces = {
      value = [
        "kube-system",
        "gatekeeper-system",
        "azure-arc",
        "azuredefender",
        "mdc",
        "azure-extensions-usage-system",
        "ingress",
        "cert-manager",
        "external-dns",
        "external-secrets"
      ]
    }
  })
}

enter image description here

尽管如此,我仍然在 Azure 策略中的受影响的组件下看到这些命名空间。我申请后等了4小时,是不是要24小时才能反映?

enter image description here

任何人都可以帮助我理解为什么会发生这种情况以及如何解决它?

更新:2024 年 5 月 14 日

如下所示,Kubernetes 集群应禁用自动挂载 API 凭据策略是 Azure 安全基准的一部分,我已直接在 AKS 资源上应用了相同的策略

enter image description here

AKS 中的 Defender 显示 26 个 PODS 受到影响,但不排除我想要使用在资源级别应用的策略排除的命名空间。

enter image description here

Defender for Cloud 显示与上述相同(26 个 PODS 受到影响)

enter image description here

Azure 安全基准合规性显示与上述相同(26 个 PODS 受到影响)

enter image description here

我在 AKS 资源级别分配的自定义策略分配排除了我想要的所有命名空间

enter image description here

我已在 AKS 资源级别分配自定义策略分配,它不会覆盖 Azure 安全基准并根据自定义策略排除命名空间吗?如果不是,实现此目的的唯一方法是更新 Azure 安全基准策略以排除命名空间?我无权更新 Azure 安全基准策略

azure kubernetes azure-policy microsoft365-defender azure-defender
1个回答
0
投票

根据博客文章 - https://www.stefanroth.net/2020/01/17/azure-policy-how-precedence-works/

如果您应用策略,它将继承到管理组、订阅和资源组等子元素。如果有更严格的政策,无论其应用的级别如何,它总是会获胜。这意味着,策略是否应用于管理组或资源组级别并不重要。如果政策不冲突,它们就会是互补的,这意味着它们会总结出效果。

© www.soinside.com 2019 - 2024. All rights reserved.