你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 Helm 安装 Defender for Containers 传感器

本文介绍如何使用 Helm 在 AKS、EKS 和 GKE 群集上安装和配置 Microsoft Defender for Containers 传感器。 你将了解先决条件、为容器启用 Defender,以及针对不同环境的分步部署说明。

一般先决条件

确保满足 Defender for Containers 传感器的所有先决条件要求,如 Defender 传感器网络要求中所述。

步骤 1:为容器启用 Defender

如果尚未启用 Defender for Containers 计划,请执行以下步骤:

  1. 在 Azure 门户中,转到 Microsoft Defender for Cloud,然后选择要在其中安装 Helm 图表的群集的订阅。 在 EKS 和 GKE 中,选择具有这些群集的环境(具有群集的 EKS 或 GKE 帐户的安全连接器)。

  2. 云工作负荷保护平台(CWPP)下,找到 容器 计划,并将开关设置为 “打开”。

    显示如何启用容器计划的屏幕截图。

  3. 容器 计划旁边,选择 “设置”。

    显示如何选择“设置”按钮的屏幕截图。

  4. “设置和监视 ”窗格中,确保以下切换设置为 “开”:

    • Defender 传感器
    • 安全发现
    • 注册表访问

    截图显示如何验证已启用的正确开关。

现在,你已准备好使用 Helm 安装 Defender for Containers 传感器。

步骤 2:安装传感器 Helm 图表

仅适用于 AKS 自动设置

为 AKS Automatic 运行以下命令:

# Update Azure CLI to the latest version 
az upgrade 

# If you don't have the AKS preview extension installed yet 
az extension add --name aks-preview 

# Update the AKS extension specifically 
az extension update --name aks-preview

安装先决条件

  • Helm >= 3.8 (OCI 支持为 GA)

  • 目标群集(AKS)或安全连接器(EKS 或 GKE)的资源组所有者角色

  • 目标群集的 Azure 资源 ID

    注释

    使用以下命令生成已给定 <SUBSCRIPTION_ID><RESOURCE_GROUP> 的 AKS 集群 Azure 资源 ID 的列表:

    az aks list \
    --subscription <SUBSCRIPTION_ID> \
    --resource-group <RESOURCE_GROUP> \
    --query "[].id" \
    -o tsv
    

AKS

在安装传感器之前,请删除任何 冲突的策略。 这些策略分配会导致在群集上部署正式版传感器。 可以在 Policy - Microsoft Azure 中找到订阅的策略定义列表。 冲突策略的 ID 为 64def556-fbad-4622-930e-72d1d5589bf5。

运行以下脚本以使用 Azure CLI 将其删除:

delete_conflicting_policies.sh

使用以下命令运行脚本:

delete_conflicting_policies.sh <CLUSTER_AZURE_RESOURCE_ID>

注释

此脚本移除了用于设置正式版 Defender for Containers 的资源组和订阅级别策略,这可能会影响除了你正在配置的群集之外的其他群集。

以下脚本安装 Defender for Containers 传感器(如果存在)并删除任何现有部署:

install_defender_sensor_aks.sh

使用以下命令运行脚本:

install_defender_sensor_aks.sh <CLUSTER_AZURE_RESOURCE_ID> <RELEASE_TRAIN> <VERSION>

在以下命令中,将占位符文本<CLUSTER_AZURE_RESOURCE_ID><RELEASE_TRAIN><VERSION>替换为自己的值。 将“public”用于公共预览版(0.9.x)。 对于 <VERSION>,请使用“latest”或特定语义版本。

注释

此脚本设置新的 kubeconfig 上下文,并可能在 Azure 帐户中创建 Log Analytics 工作区。

EKS/GKE

以下脚本安装 Defender for Containers 传感器(如果存在)并删除任何现有部署:

install_defender_sensor_mc.sh

将 kubeconfig 上下文设置为目标群集,并使用以下命令运行脚本:

install_defender_sensor_mc.sh <SECURITY_CONNECTOR_AZURE_RESOURCE_ID> <RELEASE_TRAIN> <VERSION> <DISTRIBUTION> [<ARC_CLUSTER_RESOURCE_ID>]

在以下命令中,将占位符文本 <SECURITY_CONNECTOR_AZURE_RESOURCE_ID><RELEASE_TRAIN><VERSION><DISTRIBUTION>以及 <ARC_CLUSTER_RESOURCE_ID> 替换为自己的值。 请注意,ARC_CLUSTER_RESOURCE_ID 是一个可选参数,仅应用于以下情况:使用 Defender for Containers arc 扩展的现有群集希望通过 Helm 预配传感器,或使用 arc 群集希望通过 Helm 预配传感器。
对于 <SECURITY_CONNECTOR_AZURE_RESOURCE_ID>

  • 为 AWS 或 GCP 帐户设置安全连接器

    注释

    若要在 EKS 或 GKE 群集上安装 Helm 图表,请确保群集帐户已连接到 Microsoft Defender for Cloud。 请参阅 连接 AWS 帐户连接 GCP 项目

  • 获取其 Azure 资源 ID

    注释

    若要在 EKS 或 GKE 群集上安装 Helm 图表,需要群集所属的帐户的安全连接器资源 ID。 运行 az resource show CLI 命令以获取此值。

    例如:

    az resource show \
     --name <connector-name> \
     --resource-group <resource-group-name> \
     --resource-type "Microsoft.Security/securityConnectors" \
     --subscription <subscription-id> \
     --query id -o tsv
    

    在此示例中,将占位符文本<connector-name><resource-group-name><subscription-id>替换为您的值。

将“public”用于公共预览版(0.9.x)。 对于 <VERSION>,请使用“latest”或特定语义版本。 对于 <DISTRIBUTION>,请使用 eksgke

注释

此脚本可能会在 Azure 帐户中创建 Log Analytics 工作区。

运行以下命令来检查安装是否成功:

helm list --namespace mdc

状态字段应 已部署

封闭式部署的安全规则

可以定义安全规则来控制允许部署到 Kubernetes 群集中的内容。 这些规则使你能够基于安全条件阻止或审核容器映像,例如存在过多漏洞的映像。

访问安全规则

  1. 导航到 Microsoft Defender for Cloud (MDC) 仪表板
  2. 在左侧导航窗格中,选择“ 环境设置”。
  3. 选择 “安全规则 ”磁贴。

配置漏洞评估规则

  1. 在“安全规则”页中,导航到“封闭部署”部分下的漏洞评估
  2. 根据需要创建或编辑安全规则。

重要

对于 Helm 安装:

  • 订阅支持警告:创建规则时,所选订阅可能标记为“不支持封闭式部署”。之所以发生这种情况,是因为你使用 Helm 而不是通过仪表板的自动安装安装了 Defender for Containers 组件。
  • 跳过自动安装:如果提示您在安全规则编辑窗口的第三个选项卡中启用门控(gating),请确保按下跳过。 此选项启用自动安装功能,这与现有的 Helm 部署冲突。

显示安全规则编辑窗口的第三个选项卡的屏幕截图。

配置传感器的现有建议

注释

在使用 Helm 设置传感器时,忽略现有建议。

对于 AKS

Azure Kubernetes 服务群集应已启用 Defender 配置文件 - Microsoft Azure

Azure 门户的屏幕截图,其中显示了 AKS 的 Defender 配置文件建议。屏幕截图突出显示了启用 Defender 配置文件的建议。

对于多云

已启用 Azure Arc 的 Kubernetes 群集应安装 Defender 扩展 - Microsoft Azure

Azure 门户的屏幕截图,其中显示了已启用 Arc 的 Kubernetes 群集的 Defender 扩展建议。屏幕截图突出显示了安装 Defender 扩展的建议。

升级基于 Helm 的现有部署

运行以下命令以更新基于 Helm 的现有部署:

helm upgrade microsoft-defender-for-containers-sensor \
oci://mcr.microsoft.com/azuredefender/microsoft-defender-for-containers-sensor \
--devel \
--reuse-values