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

将 AWS 账户连接到到 Microsoft Defender for Cloud

工作负载通常跨多个云平台。 云安全服务必须执行相同的操作。 Microsoft Defender for Cloud 可帮助保护 Amazon Web Services (AWS) 中的工作负载,但需要设置它们与 Azure 订阅之间的连接。

在下方的屏幕截图中,可以看到 Defender for Cloud 的“概述”仪表板中显示了 AWS 帐户。

屏幕截图显示了 Defender for Cloud 的“概述”仪表板上列出的四个 AWS 项目。

你可以观看 Defender for Cloud 的实际应用视频系列中的 Defender for Cloud 中的新增 AWS 连接器视频来了解详细信息。

AWS 身份验证过程

Microsoft Defender for Cloud 和 AWS 之间使用联合身份验证。 与身份验证相关的所有资源都作为 CloudFormation 模板部署的一部分创建,包括:

  • 标识提供者 (OpenID Connect)

  • 具有联合主体(连接到标识提供者)的标识和访问管理 (IAM) 角色。

跨云身份验证过程的体系结构如下:

显示跨云身份验证过程的体系结构的示意图。

Microsoft Defender for Cloud CSPM 服务获取有效期为 1 小时的 Microsoft Entra 令牌,该令牌由 Microsoft Entra ID 使用 RS256 算法签名。

将 Microsoft Entra 令牌交换为 AWS 短生存期凭据,Defender for Cloud 的 CPSM 服务承担 CSPM IAM 角色(使用 Web 标识承担该角色)。

由于角色的主体是信任关系策略中定义的联合标识,因此 AWS 标识提供者通过包括以下步骤的过程针对 Microsoft Entra ID 验证 Microsoft Entra 令牌:

  • 受众验证

  • 令牌数字签名验证

  • 证书指纹

只有在满足信任关系中定义的验证条件之后,才会承担 Microsoft Defender for Cloud CSPM 角色。 为角色级别定义的条件用于在 AWS 中进行验证,并且仅允许 Microsoft Defender for Cloud CSPM 应用程序(已验证的受众)访问特定的角色(而不是任何其他 Microsoft 令牌)。

在 AWS 标识提供者验证 Microsoft Entra 令牌后,AWS STS 会将该令牌交换为 AWS 短生存期凭据,CSPM 服务使用这些凭据来扫描 AWS 帐户。

先决条件

要完成本文中的过程,需要:

  • 一个 Microsoft Azure 订阅。 如果没有 Azure 订阅,可以免费注册

  • 在 Azure 订阅上设置 Microsoft Defender for Cloud

  • 访问 AWS 账户。

  • 相关 Azure 订阅的参与者级别权限。

注意

AWS 连接器在国家政府云(Azure 政府、由世纪互联运营的 Microsoft Azure)中不可用。

本机连接器计划要求

每个计划都有自己的本机连接器要求。

Defender for Containers

如果选择 Microsoft Defender for Containers 计划,你需要:

  • 至少一个有权访问 EKS Kubernetes API 服务器的 Amazon EKS 群集。 如果需要创建新的 EKS 群集,请按照 Amazon EKS 入门 - eksctl 中的说明操作。
  • 在群集区域创建新 Amazon SQS 队列、Kinesis Data Firehose 传送流和 Amazon S3 存储桶的资源容量。

Defender for SQL

如果选择 Microsoft Defender for SQL 计划,你需要:

  • 已在订阅上启用 Microsoft Defender for SQL。 了解如何保护数据库
  • 一个活动的 AWS 帐户,该帐户具有运行 SQL Server 或 RDS Custom for SQL Server 的 EC2 实例。
  • 在 EC2 实例或 RDS Custom for SQL Server 上安装 Azure Arc for servers。

建议使用自动预配过程在所有现有和未来 EC2 实例上安装 Azure Arc。 若要启用 Azure Arc 自动预配,需要在相关 Azure 订阅上具有“所有者”权限

AWS Systems Manager (SSM) 使用 SSM 代理来处理自动预配。 某些 Amazon 计算机映像已经预安装了 SSM 代理。 如果 EC2 实例没有 SSM 代理,请按照 Amazon 中的以下说明进行安装:为混合和多云环境安装 SSM 代理 (Windows)

确保 SSM 代理具有托管策略 AmazonSSMManagedInstanceCore。 它将为 AWS Systems Manager 服务启用核心功能。

在已连接 Azure Arc 的计算机上启用以下其他扩展:

  • 用于终结点的 Microsoft Defender
  • 漏洞评估解决方案(TVM 或 Qualys)
  • 已连接 Azure Arc 的计算机上的 Log Analytics 代理或 Azure Monitor 代理

确保所选 Log Analytics 工作区已安装安全解决方案。 目前已在“订阅”级别配置 Log Analytics 代理和 Azure Monitor 代理。 同一订阅下的所有 AWS 帐户和 Google Cloud Platform (GCP) 项目均继承 Log Analytics 代理和 Azure Monitor 代理的订阅设置。

详细了解 Defender for Cloud 的监视组件

适用于开源数据库的 Defender(预览版)

如果选择用于开源关系数据库的 Azure Defender,则需要:

区域可用性:所有公共 AWS 区域(不包括特拉维夫、米兰、雅加达、西班牙和巴林)。

适用于服务器的 Defender

如果选择 Microsoft Defender for Servers 计划,你需要:

  • 已在订阅上启用 Microsoft Defender for Servers。 在启用增强的安全功能中了解如何启用计划。
  • 一个具有 EC2 实例的有效 AWS 帐户。
  • 已在 EC2 实例上安装 Azure Arc for servers。

建议使用自动预配过程在所有现有和未来 EC2 实例上安装 Azure Arc。 若要启用 Azure Arc 自动预配,需要在相关 Azure 订阅上具有“所有者”权限

AWS Systems Manager 使用 SSM 代理进行自动预配。 某些 Amazon 计算机映像已经预安装了 SSM 代理。 如果你的 EC2 实例没有 SSM 代理,请按照 Amazon 提供的以下说明之一进行安装:

确保 SSM 代理具有托管策略 AmazonSSMManagedInstanceCore,它将为 AWS Systems Manager 服务启用核心功能。

必须在 EC2 计算机上拥有用于自动预配 Arc 代理的 SSM 代理。 如果 SSM 不存在或已从 EC2 中移除,则 Arc 预配将无法继续。

注意

作为在加入过程中运行的 CloudFormation 模板的一部分,自动化进程将在 CloudFormation 初始运行期间存在的所有 EC2 上创建,且每 30 天触发一次。 此计划扫描的目标是确保所有相关 EC2 具有带所需 IAM 策略的 IAM 配置文件,使 Defender for Cloud 能够访问、管理和提供相关的安全功能(包括 Arc 代理预配)。 扫描不适用于在运行 CloudFormation 后创建的 EC2。

若要在现有和将来的 EC2 实例上手动安装 Azure Arc,请使用 EC2 实例应连接到 Azure Arc 建议标识未安装 Azure Arc 的实例。

在已连接 Azure Arc 的计算机上启用以下其他扩展:

  • 用于终结点的 Microsoft Defender
  • 漏洞评估解决方案(TVM 或 Qualys)
  • 已连接 Azure Arc 的计算机上的 Log Analytics 代理或 Azure Monitor 代理

确保所选 Log Analytics 工作区已安装安全解决方案。 目前已在“订阅”级别配置 Log Analytics 代理和 Azure Monitor 代理。 同一订阅下的所有 AWS 帐户和 GCP 项目均继承 Log Analytics 代理和 Azure Monitor 代理的订阅设置。

详细了解 Defender for Cloud 的监视组件

注意

由于 Log Analytics 代理(也称为 MMA)将于 2024 年 8 月停用,因此当前依赖它的所有 Defender for Servers 功能和安全功能(包括本页所述的功能)都将在停用日之前通过 Microsoft Defender for Endpoint 集成无代理扫描提供。 有关当前依赖于 Log Analytics 代理的每个功能的路线图详细信息,请参阅此公告

Defender for Servers 将标记分配给 EC2 实例上的 Azure ARC 资源,以管理自动预配过程。 必须将这些标签正确分配给资源,以便 Defender for Cloud 管理它们:AccountIdCloudInstanceIdMDFCSecurityConnector

Defender CSPM

如果选择 Microsoft Defender CSPM 计划,你需要:

  • 一个 Microsoft Azure 订阅。 如果你没有 Azure 订阅,可以注册免费订阅
  • 必须在 Azure 订阅上启用 Microsoft Defender for Cloud
  • 连接 非 Azure 计算机AWS 帐户
  • 如果要访问 CSPM 计划提供的所有功能,订阅所有者必须启用该计划。
  • 若要启用 CIEM(云基础结构权利管理)功能,用于加入过程的 Entra ID 帐户必须对租户具有应用程序管理员或云应用程序管理员目录角色(或创建应用注册的等效管理员权限)。 只有在加入过程中才需要满足此要求。

详细了解如何启用 Defender CSPM

连接到你的 AWS 帐户

若要使用本机连接器将 AWS 连接到 Defender for Cloud,请执行以下操作:

  1. 登录到 Azure 门户

  2. 导航到“Defender for Cloud”>“环境设置”。

  3. 选择“添加环境”>“Amazon Web Services” 。

    屏幕截图显示了将 AWS 帐户连接到 Azure 订阅。

  4. 输入 AWS 帐户的详细信息(包括连接器资源的存储位置)。

    屏幕截图显示了用于输入 AWS 帐户的帐户详细信息的选项卡。

    AWS 区域下拉列表允许你选择 Defender for Cloud 对其进行 API 调用的区域。 从下拉列表中取消选择的每个区域都意味着 Defender for Cloud 不会对这些区域进行 API 调用。

  5. 选择 1 到 24 小时之间的扫描间隔。

    一些数据收集器以固定的扫描间隔运行,不受自定义间隔配置的影响。 下表显示了每个排除的数据收集器的固定扫描间隔:

    数据收集器名称 扫描间隔
    EC2Instance
    ECRImage
    ECRRepository
    RDSDBInstance
    S3Bucket
    S3BucketTags
    S3Region
    EKSCluster
    EKSClusterName
    EKSNodegroup
    EKSNodegroupName
    AutoScalingAutoScalingGroup
    1 小时
    EcsClusterArn
    EcsService
    EcsServiceArn
    EcsTaskDefinition
    EcsTaskDefinitionArn
    EcsTaskDefinitionTags
    AwsPolicyVersion
    LocalPolicyVersion
    AwsEntitiesForPolicy
    LocalEntitiesForPolicy
    BucketEncryption
    BucketPolicy
    S3PublicAccessBlockConfiguration
    BucketVersioning
    S3LifecycleConfiguration
    BucketPolicyStatus
    S3ReplicationConfiguration
    S3AccessControlList
    S3BucketLoggingConfig
    PublicAccessBlockConfiguration
    12 小时

注意

(可选)选择“管理帐户”以创建管理帐户的连接器。 然后将为每个在提供的管理帐户下发现的成员帐户创建连接器。 还为所有新加入的帐户启用自动预配。

(可选)使用 AWS 区域下拉菜单选择要扫描的特定 AWS 区域。 默认情况下,选择所有区域。

选择 Defender 计划

在向导的此部分中,选择要启用的 Defender for Cloud 计划。

  1. 然后选择“下一步: 选择计划”。

    “选择计划”选项卡用于选择要为此 AWS 帐户启用的 Defender for Cloud 功能。 每个计划都有自己的权限要求,可能会产生费用

    屏幕截图显示了用于为 AWS 帐户选择计划的选项卡。

    重要

    若要显示建议的当前状态,Microsoft Defender 云安全态势管理计划将每日多次查询 AWS 资源 API。 这些只读 API 调用不会产生费用,但如果已为读取事件启用痕迹,它们便会在 CloudTrail 中注册。

    正如 AWS 文档中所述,保留一条痕迹不会产生额外费用。 如果要将数据从 AWS 中导出(例如导出到外部 SIEM 系统),这一增加的调用量也可能增加引入成本。 在这种情况下,建议筛选掉来自 Defender for Cloud 用户或 ARN 角色的只读调用:arn:aws:iam::[accountId]:role/CspmMonitorAws。 (此名称是默认角色名称。请确认在帐户上配置的角色名称。)

  2. 默认情况下,“服务器”计划设置为“开”。 此设置是将 Defender for Servers 覆盖范围扩展到 AWS EC2 所必需的。 请确保已满足 Azure Arc 的网络要求

    可以选择“配置”,根据需要编辑配置。

    注意

    不复存在的 EC2 实例或 GCP 虚拟机的相应 Azure Arc 服务器(以及状态为“已断开连接”或“已过期”的相应 Azure Arc 服务器)将在 7 天后被移除。 此过程会移除不相关的 Azure Arc 实体,确保仅显示与现有实例相关的 Azure Arc 服务器。

  3. 默认情况下,“容器”计划设置为“开”。 此设置是使 Defender for Containers 保护 AWS EKS 群集所必需的。 确保已满足 Defender for Containers 计划的网络要求

    注意

    应安装已启用 Azure Arc 的 Kubernetes、适用于 Defender 传感器的 Azure Arc 扩展和适用于 Kubernetes 的 Azure Policy。 使用专用 Defender for Cloud 建议以部署扩展(和 Azure Arc,如有必要),请参阅保护 Amazon Elastic Kubernetes 服务群集中的说明。

    可以选择“配置”,根据需要编辑配置。 如果选择关闭此配置,同时也会禁用威胁检测(控制平面)功能。 详细了解功能可用性

  4. 默认情况下,“数据库”计划设置为“开”。 此设置是将 Defender for SQL 的覆盖范围扩展到 AWS EC2 和 RDS Custom for SQL Server 以及 RDS 上的开源关系数据库的必要项。

    (可选)选择“配置”,根据需要编辑配置。 建议将其设置为默认配置。

  5. 选择“配置访问”并选择以下内容:

    a. 选择部署类型:

    • 默认访问权限:允许 Defender for Cloud 扫描资源并自动包含将来的功能。
    • 最低特权访问权限:仅向 Defender for Cloud 授予当前访问所选计划需要具有的权限。 如果你选择最低特权访问权限,则会收到有关在连接器运行状况部分获取完整功能所需的任何新角色和权限的通知。

    b. 选择部署方法:“AWS CloudFormation”或“Terraform”。

    屏幕截图显示了部署选项和配置访问权限的说明。

    注意

    如果选择“管理帐户”来创建管理帐户的连接器,则要使用 Terraform 加入的选项卡在 UI 中不可见,但仍可以使用 Terraform 加入,这与“使用 Terraform 将 AWS/GCP 环境加入 Microsoft Defender for Cloud - Microsoft 社区中心”中所述的内容类似

  6. 按照所选部署方法的屏幕说明完成 AWS 上的必需依赖项。 如果要加入管理帐户,你需要以 Stack 和 StackSet 的形式运行 CloudFormation 模板。 将在加入后最多 24 小时为成员帐户创建连接器。

  7. 选择“下一步: 审阅并生成”。

  8. 选择“创建” 。

Defender for Cloud 立即开始扫描 AWS 资源。 安全建议将在几个小时内显示。

将 CloudFormation 模板部署到 AWS 帐户

在将 AWS 帐户连接到 Microsoft Defender for Cloud 的过程中,将一个 CloudFormation 模板部署到 AWS 帐户。 此模板将创建连接所需的所有资源。

使用堆栈(如果你有管理帐户,则使用堆栈集)部署该 CloudFormation 模板。 部署此模板时,堆栈创建向导将提供以下选项。

屏幕截图显示了堆栈创建向导以及模板来源选项。

  • Amazon S3 URL:使用你自己的安全配置将下载的 CloudFormation 模板上传到你自己的 S3 存储桶。 在 AWS 部署向导中输入 S3 存储桶的 URL。

  • 上传模板文件:AWS 会自动创建一个 S3 存储桶,CloudFormation 模板将保存到其中。 S3 存储桶的自动化存在错误的安全配置,这导致出现 S3 buckets should require requests to use Secure Socket Layer 建议。 可以通过应用以下策略来修正此建议:

    { 
      "Id": "ExamplePolicy", 
      "Version": "2012-10-17", 
      "Statement": [ 
        { 
          "Sid": "AllowSSLRequestsOnly", 
          "Action": "s3:*", 
          "Effect": "Deny", 
          "Resource": [ 
            "<S3_Bucket ARN>", 
            "<S3_Bucket ARN>/*" 
          ], 
          "Condition": { 
            "Bool": { 
              "aws:SecureTransport": "false" 
            } 
          }, 
          "Principal": "*" 
        } 
      ] 
    } 
    

    注意

    在加入 AWS 管理帐户时运行 CloudFormation StackSets,可能会遇到以下错误消息:You must enable organizations access to operate a service managed stack set

    此错误表示你尚未为 AWS 组织启用受信任的访问

    若要修正此错误消息,CloudFormation StackSets 页面会提示你可选择用于启用受信任访问的按钮。 启用受信任的访问后,必须再次运行 CloudFormation Stack。

监视 AWS 资源

Defender for Cloud 中的安全建议页显示你的 AWS 资源。 你可以使用环境筛选器来享受 Defender for Cloud 中的多云功能。

若要按资源类型查看资源的所有活动建议,可使用 Defender for Cloud 的“资产清单”页,并筛选到所需的 AWS 资源类型。

资产清单页的资源类型筛选器中 AWS 选项的屏幕截图。

与 Microsoft Defender XDR 集成

启用 Defender for Cloud 时,其安全警报会自动集成到 Microsoft Defender 门户中。 无需执行进一步的步骤。

Microsoft Defender for Cloud 与 Microsoft Defender XDR 之间的集成可将云环境引入到 Microsoft Defender XDR 中。 通过将 Defender for Cloud 的警报和云关联集成到 Microsoft Defender XDR 中,SOC 团队现在可以从单个界面访问所有安全信息。

详细了解 Defender for Cloud 在 Microsoft Defender XDR 中的警报

了解详细信息

请查看以下博客:

清理资源

对于本文,无需清理任何资源。

后续步骤

连接 AWS 帐户是 Microsoft Defender for Cloud 提供的多云体验的一部分: