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

以编程方式在 AWS (EKS) 上部署 Defender for Containers 组件

本文介绍如何使用命令行工具和自动化方法在 Amazon EKS 群集上部署 Defender for Containers 组件。

小窍门

有关引导式门户体验,请参阅 通过门户启用所有组件

先决条件

网络要求

验证是否为公有云部署配置了以下终结点以进行出站访问。 配置它们以用于出站访问有助于确保 Defender 传感器可以连接到 Microsoft Defender for Cloud 以发送安全数据和事件。

注释

Azure 域 *.ods.opinsights.azure.com*.oms.opinsights.azure.com 不再需要用于出站访问。 有关详细信息,请查看弃用通知

Azure 域 Azure 政府域 由世纪互联运营的 Azure 域 港口
*.cloud.defender.microsoft.com N/A N/A 443

还需要验证启用了 Azure Arc 的 Kubernetes 网络要求

所需工具:

  • Azure CLI (版本 2.40.0 或更高版本)
  • AWS CLI 配置了适当的凭据
  • 已为 EKS 群集配置 kubectl

启用 Defender for Containers

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

连接到你的 AWS 帐户

在部署 Defender 传感器之前,请将 AWS 帐户连接到 Microsoft Defender for Cloud。 有关说明,请参阅 连接 AWS 帐户

将 EKS 群集连接到 Azure Arc

将 EKS 群集连接到 Azure Arc 以部署 Defender 传感器。 有关说明,请参阅 将现有 Kubernetes 群集连接到 Azure Arc

部署 Defender 传感器

将 AWS 帐户和 EKS 群集连接到 Azure Arc 后,部署 Defender 传感器扩展。

使用安装脚本进行部署

以下脚本安装 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>]

将占位符文本替换为你自己的值。 ARC_CLUSTER_RESOURCE_ID 是使用 Defender for Containers Arc 扩展的现有群集的可选参数。

获取安全连接器资源 ID

若要在 EKS 群集上安装 Helm 图表,需要群集所属帐户的安全连接器资源 ID。 运行以下 Azure 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>替换为您的值。

参数值

  • 对于公共预览版(0.9.x),使用 public 以替代 <RELEASE_TRAIN>
  • 对于 <VERSION>,请使用 latest 或特定语义版本
  • 对于 <DISTRIBUTION>,请使用 eks

注释

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

使用 Azure CLI 进行部署

或者,使用 Azure CLI 部署 Defender 传感器扩展:

az k8s-extension create \
    --name microsoft.azuredefender.kubernetes \
    --extension-type microsoft.azuredefender.kubernetes \
    --cluster-type connectedClusters \
    --cluster-name <cluster-name> \
    --resource-group <resource-group> \
    --configuration-settings \
        logAnalyticsWorkspaceResourceID="/subscriptions/<subscription-id>/resourceGroups/<rg>/providers/Microsoft.OperationalInsights/workspaces/<workspace-name>"

部署 Defender 传感器后,可以配置其他设置。 有关详细信息,请参阅 配置使用 Helm 部署的 Defender for Containers 传感器

部署 Azure Policy 扩展

部署 Azure Policy 扩展以在 EKS 群集上启用策略强制:

az k8s-extension create \
    --name azure-policy \
    --extension-type Microsoft.PolicyInsights \
    --cluster-type connectedClusters \
    --cluster-name <cluster-name> \
    --resource-group <resource-group>

后续步骤