以编程方式在 Azure 上部署 Defender for Containers (AKS)

本文介绍在 Azure Kubernetes 服务 (AKS) 群集上以编程方式部署 Microsoft Defender for Containers 的方法。

小窍门

有关引导式门户体验,请参阅 通过门户启用 Defender for Containers

先决条件

网络要求

Defender 传感器必须连接到 Microsoft Defender for Cloud 才能发送安全数据和事件。 确保所需的终结点已配置为支持出站访问。

连接要求

Defender 传感器需要连接到:

  • Microsoft Defender for Cloud (用于发送安全数据和事件)

默认情况下,AKS 群集具有不受限制的出站(出口)Internet 访问权限。

对于具有受限出口的群集,必须允许特定的 FQDN 以便 Microsoft Defender for Containers 能够正常工作。 请参阅 AKS 出站网络文档中有关所需端点的 Microsoft Defender for Containers - 必需的 FQDN/应用程序规则

如果群集中的事件传出需要使用 Azure Monitor 专用链接范围 (AMPLS),则必须:

  1. 使用容器洞察和 Log Analytics 工作区定义群集

  2. 将群集的 Log Analytics 工作区定义为 AMPLS 中的资源

  3. 在 AMPLS 中创建虚拟网络专用终结点,以下是步骤:

    • 群集的虚拟网络
    • Log Analytics 资源

    虚拟网络专用终结点与专用 DNS 区域集成。

有关说明,请参阅 创建 Azure Monitor 专用链接范围

此外,请确保具备:

  • Azure CLI 2.40.0 或更高版本
  • 适当的 RBAC 权限(贡献者或安全管理员)

启用 Defender for Containers 计划

若要在订阅上启用 Defender for Containers 计划,请参阅 “启用 Microsoft Defender for Cloud”。 可以通过 Azure 门户、REST API 或 Azure Policy 启用计划。

部署 Defender 传感器

启用 Defender for Containers 计划时,Defender 传感器默认会自动部署在 AKS 群集上。

如果禁用自动预配,或者需要手动部署传感器,请使用以下方法之一。

将 Defender 传感器部署到特定的 AKS 群集:

az aks update \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --enable-defender

若要使用自定义 Log Analytics 工作区进行部署,请执行以下作:

az aks update \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --enable-defender \
    --defender-config logAnalyticsWorkspaceResourceId=/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}

部署 Azure Policy 加载项

使用适用于 AKS 的 Azure Policy 加载项,可以集中、一致的方式在群集上应用大规模强制措施和安全措施。

若要启用 Azure Policy 加载项,请执行以下作:

az aks enable-addons \
    --addons azure-policy \
    --name myAKSCluster \
    --resource-group myResourceGroup

使用建议部署组件

还可以使用 Defender for Cloud 建议手动部署功能:

传感器 建议
适用于 Kubernetes 的 Defender 传感器 Azure Kubernetes 服务群集应启用 Defender 配置文件
适用于 Kubernetes 的 Azure Policy 代理 Azure Kubernetes 服务群集应安装适用于 Kubernetes 的 Azure Policy 加载项
适用于已启用 Azure Arc 的 Kubernetes 的 Azure Policy 代理 已启用 Azure Arc 的 Kubernetes 群集应已安装 Azure Policy 扩展

后续步骤