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

将 AWS 帐户连接到 Microsoft Defender for Cloud

由于云工作负载通常跨多个云平台分布,因此云安全服务也需要如此。 Microsoft Defender for Cloud 可保护 Azure、Amazon Web Services (AWS) 和 Google Cloud Platform (GCP) 中的工作负载。

要保护基于 AWS 的资源,可以使用以下任一方式连接 AWS 帐户:

有关 Defender for Cloud 可为 AWS 资源提供的所有建议的参考列表,请参阅 AWS 资源的安全性建议 - 参考指南

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

Defender for Cloud 的“概述”仪表板上列出的四个 AWS 项目

可观看 Defender for Cloud 的实际应用视频系列中的该视频了解详细信息:

可用性

方面 详细信息
发布状态: 正式发布版 (GA)
定价: “CSPM 计划”是免费的。
Defender for SQL 计划采用与 Azure 资源相同的价格计费。
Defender for Containers 计划在预览期间免费。 此后,会按与 Azure 资源相同的价格对 AWS 进行计费。
对于使用已启用 Azure Arc 的服务器连接到 Azure 的每台 AWS 计算机,Defender for Servers 计划按与 Azure 计算机的 Microsoft Defender for Servers 计划相同的价格计费。 如果 AWS EC2 未部署 Azure Arc 代理,则不需要为该计算机付费。
所需角色和权限: 相关 Azure 订阅的参与者权限。
AWS 帐户上的管理员。
云: 商用云
国家(Azure 政府、Azure 中国世纪互联)

先决条件

本机云连接器需要:

  • 访问 AWS 账户。

  • 若要启用 Defender for Containers 计划,需要:

    • 至少一个有权访问 EKS K8s API 服务器的 Amazon EKS 群集。 如果需要创建新的 EKS 群集,请按照 Amazon EKS 入门 - eksctl 中的说明操作。
    • 在群集区域创建新 SQS 队列、Kinesis Fire Hose 传送流和 S3 存储桶的资源容量。
  • 若要启用 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。

        自动预配由 AWS Systems Manager (SSM) 通过 SSM 代理托管。 某些 Amazon 计算机映像 (AMIS) 已经预安装了 SSM 代理。 如果已预安装了 SSM 代理,AMI 在预安装了 SSM 代理的 AMI 中列出。 如果你的 EC2 实例没有 SSM 代理,则需要按照 Amazon 提供的以下相关说明之一进行安装:

      注意

      若要启用 Azure Arc 自动预配,你需要在相关 Azure 订阅上具有“所有者”权限。

    • 应在已连接 Arc 的计算机上启用其他扩展。

    • Log Analytics (LA) 代理在 Arc 计算机上,并确保所选工作区已安装安全解决方案。 LA 代理当前在订阅级别中配置。 同一订阅下的所有多云 AWS 帐户和 GCP 项目都将继承订阅设置。

      了解如何在订阅上配置自动预配

  • 若要启用 Defender for Servers 计划,需要满足以下条件:

    • 已在订阅上启用 Microsoft Defender for Servers。 在启用增强的安全功能中了解如何启用计划。

    • 一个具有 EC2 实例的有效 AWS 帐户。

    • 已在 EC2 实例上安装 Azure Arc for servers。

      注意

      若要启用 Azure Arc 自动预配,你需要在相关 Azure 订阅上具有所有者权限。

    • 应在已连接 Arc 的计算机上启用其他扩展。

      • 用于终结点的 Microsoft Defender

      • VA 解决方案 (TVM/Qualys)

      • Arc 计算机上的 Log Analytics (LA) 代理。 确保所选工作区已安装安全解决方案。

        LA 代理当前在订阅级别配置,因此,同一订阅下的所有多云帐户和项目(来自 AWS 和 GCP)都将继承与 LA 代理相关的订阅设置。

      了解如何在订阅上配置自动预配

      注意

      Defender for Servers 将标记分配给 AWS 资源,以管理自动预配过程。 必须将这些标签正确分配给资源,以便 Defender for Cloud 管理资源:AccountId、Cloud、InstanceId、MDFCSecurityConnector

连接到你的 AWS 帐户

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

  1. 如果你有任何经典连接器,请将其删除

    同时使用经典连接器和本机连接器可能会生成重复的建议。

  2. 登录到 Azure 门户

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

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

    将 AWS 帐户连接到 Azure 订阅。

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

    添加 AWS 帐户向导的步骤 1:输入帐户详细信息。

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

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

    注意

    每个计划都有自己的权限要求,可能会产生费用。

    “选择计划”选项卡用于选择要为此 AWS 帐户启用的 Defender for Cloud 功能。

    重要

    若要显示建议的当前状态,CSPM 计划将每日多次查询 AWS 资源 API。 这些只读 API 调用不会产生费用,但如果已为读取事件启用痕迹,它们便会在 CloudTrail 中注册。 正如 AWS 文档中所述,保留一条痕迹不会产生额外费用。 如果要将数据从 AWS 中导出(例如导出到外部 SIEM),这一增加的调用量也可能增加引入成本。 在此类情况下,我们建议筛选掉来自 Cloud for Cloud 用户或角色 ARN: arn:aws:iam::[accountId]:role/CspmMonitorAws(这是默认的角色名称,请确认帐户上配置的角色名称)的只读调用。

  7. 默认情况下,“服务器”计划设置为“开”。 这是将 Defender for server 的覆盖范围扩展到 AWS EC2 所必需的。

    • (可选)选择“配置”,根据需要编辑配置。
  8. 默认情况下,“容器”计划设置为“开”。 这是使 Defender for Containers 保护 AWS EKS 群集所必需的。 确保已满足 Defender for Containers 计划的网络要求

    注意

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

    • (可选)选择“配置”,根据需要编辑配置。 如果选择禁用此配置,将禁用 Threat detection (control plane) 功能。 详细了解功能可用性
  9. 默认情况下,“数据库”计划设置为“开”。 需要将 Defender for SQL 的覆盖范围扩展到 AWS EC2 和 RDS Custom for SQL Server。

    • (可选)选择“配置”,根据需要编辑配置。 建议将其设置为默认配置。
  10. 选择“下一步: 配置访问权限”。

  11. 下载 CloudFormation 模板。

  12. 使用下载的 CloudFormation 模板,根据屏幕上的说明在 AWS 中创建堆栈。 如果要加入管理帐户,则需要以 Stack 和 StackSet 的形式运行 CloudFormation 模板。 将在加入后最多 24 小时为成员帐户创建连接器。

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

  14. 选择“创建” 。

Defender for Cloud 将立即开始扫描 AWS 资源,并将在几个小时内显示安全性建议。 有关 Defender for Cloud 可为 AWS 资源提供的所有建议的参考列表,请参阅 AWS 资源的安全性建议 - 参考指南

删除“经典”连接器

如果存在使用经典云连接器体验创建的现有连接器,请先删除它们:

  1. 登录到 Azure 门户

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

  3. 选择用于切换回经典连接器体验的选项。

    切换回 Defender for Cloud 中的经典云连接器体验。

  4. 对于每个连接器,选择行末尾的省略号按钮“...”,然后选择“删除”。

  5. 在 AWS 上,删除角色 ARN 或为集成创建的凭据。

可用性

方面 详细信息
发布状态: 正式发布版 (GA)
定价: 需要 Microsoft Defender for Servers 计划 2
所需角色和权限: 相关 Azure 订阅上的“所有者”角色
如果所有者提供服务主体详细信息,则参与者也可连接一个 AWS 帐户
云: 商用云
国家(Azure 政府、Azure 中国世纪互联)

连接到你的 AWS 帐户

按照以下步骤创建 AWS 云连接器。

步骤 1。 设置 AWS 安全中心:

  1. 若要查看针对多个区域的安全建议,请针对每个相关区域重复以下步骤。

    重要

    如果使用的是 AWS 管理帐户,请重复以下三个步骤,在所有相关区域中配置管理帐户和所有连接的成员帐户

    1. 启用 AWS Config
    2. 启用 AWS 安全中心
    3. 验证数据是否流向安全中心。 首次启用安全中心时,可能需要几个小时才能获得数据。

步骤 2. 在 AWS 中为 Defender for Cloud 设置身份验证

Defender for Cloud 可以通过两种方法向 AWS 进行身份验证:

  • 为 Defender for Cloud 创建 IAM 角色(推荐) - 此方法最安全
  • Defender for Cloud 的 AWS 用户 - 安全性相对较低的选项(如果不启用 IAM)

为 Defender for Cloud 创建 IAM 角色

  1. 在 Amazon Web Services 控制台中,在“安全性、标识与符合性”下选择“IAM”。& AWS 服务。

  2. 依次选择“角色”、“创建角色” 。

  3. 选择“另一个 AWS 帐户”。

  4. 输入以下详细信息:

    • 帐户 ID - 输入 Defender for Cloud 的 AWS 连接器页中显示的 Microsoft 帐户 ID (158177204117) 。
    • 需要外部 ID - 应选择
    • 外部 ID - 输入 Defender for Cloud 的 AWS 连接器页中显示的订阅 ID
  5. 选择“下一步” 。

  6. 在“附加权限策略”部分,选择以下 AWS 托管策略

    • SecurityAudit (arn:aws:iam::aws:policy/SecurityAudit)
    • AmazonSSMAutomationRole (arn:aws:iam::aws:policy/service-role/AmazonSSMAutomationRole)
    • AWSSecurityHubReadOnlyAccess (arn:aws:iam::aws:policy/AWSSecurityHubReadOnlyAccess)
  7. 选择性地添加标记。 将标记添加到用户不会影响连接。

  8. 选择“下一步” 。

  9. 在“角色”列表中,选择创建的角色

  10. 保存 Amazon 资源名称 (ARN) 待稍后使用。

为 Defender for Cloud 创建 AWS 用户

  1. 打开“用户”选项卡,然后选择“添加用户”。

  2. 在“详细信息”步骤中,输入 Defender for Cloud 的用户名,并确保为“AWS 访问类型”选择“编程访问” 。

  3. 选择“下一步: 权限”。

  4. 选择“直接附加现有策略”并应用以下策略:

    • SecurityAudit
    • AmazonSSMAutomationRole
    • AWSSecurityHubReadOnlyAccess
  5. 在完成时选择“下一步: 标记”。 选择性地添加标记。 将标记添加到用户不会影响连接。

  6. 选择“查看”。

  7. 保存自动生成的访问密钥 ID 和机密访问密钥 CSV 文件以供稍后使用。

  8. 查看摘要,然后选择“创建用户”。

步骤 3. 配置 SSM 代理

跨 AWS 资源自动执行任务需要使用 AWS Systems Manager。 如果 EC2 实例没有 SSM 代理,请按照 Amazon 的相关说明进行操作:

步骤 4. 完成 Azure Arc 先决条件

  1. 确保注册适当的 Azure 资源提供程序

    • Microsoft.HybridCompute
    • Microsoft.GuestConfiguration
  2. 为大规模加入创建服务主体。 在你要用于完成加入过程的订阅上,以所有者身份按照为大规模加入创建服务主体中的说明创建一个服务主体用于 Azure Arc 加入过程。

步骤 5。 将 AWS 连接到 Defender for Cloud

  1. 在 Defender for Cloud 的菜单中,打开“环境设置”,然后选择切换回经典连接器体验的选项。

    切换回 Defender for Cloud 中的经典云连接器体验。

  2. 选择“添加 AWS 帐户”。 Defender for Cloud“多云连接器”页面上的“添加 AWS 帐户”按钮

  3. 在“AWS 身份验证”选项卡中配置选项:

    1. 在“显示名称”中输入连接器的显示名称。
    2. 确认订阅是正确的。 这是将要包含连接器和 AWS 安全中心建议的订阅。
    3. 根据身份验证选项,在步骤 2:在 AWS 中为 Defender for Cloud 设置身份验证中选择:
  4. 选择“下一步” 。

  5. 在“Azure Arc 配置”选项卡中配置选项:

    Defender for Cloud 在连接的 AWS 帐户中发现 EC2 实例,并使用 SSM 将其加入 Azure Arc。

    提示

    有关受支持的操作系统的列表,请参阅常见问题解答中的哪些操作系统支持我的 EC2 实例?

    1. 选择要在所选订阅中将所发现的 AWS EC2 加入到其中的资源组和 Azure 区域。

    2. 在“服务主体 ID”和“服务主体客户端机密”中输入 Azure Arc 的相应信息,如此处的创建服务主体以用于大规模载入中所述

    3. 如果计算机是通过代理服务器连接到 internet 的,请指定计算机用来与代理服务器通信的代理服务器 IP 地址或名称以及端口号。 按格式 http://<proxyURL>:<proxyport> 输入相应值

    4. 选择“查看 + 创建” 。

      查看摘要信息

      “标记”部分会列出将自动为每个载入的 EC2 创建的所有 Azure 标记及其相关详细信息,以便于在 Azure 中轻松识别它。

      请参阅使用标记整理 Azure 资源和管理层次结构,详细了解 Azure 标记。

步骤 6。 确认

成功创建连接器并正确配置 AWS 安全中心后:

  • Defender for Cloud 扫描要使用 AWS EC2 实例的环境,将其加入 Azure Arc,以便能够安装 Log Analytics 代理、提供威胁防护和安全建议。
  • Defender for Cloud 服务每隔 6 小时扫描一次新的 AWS EC2 实例,并根据配置将其加入。
  • Defender for Cloud 的法规合规性仪表板中会显示 AWS CIS 标准。
  • 如果启用了安全中心策略,加入过程完成 5-10 分钟后,Defender for Cloud 门户和合规性仪表板中会显示建议。

Defender for Cloud“建议”页中的 AWS 资源和建议

监视 AWS 资源

正如前面的屏幕截图所示,Defender for Cloud 的安全建议页会显示 AWS 资源。 可以使用环境筛选器体验 Defender for Cloud 的多云功能:同时查看 Azure、AWS 和 GCP 资源的建议。

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

“资产清单”页面的资源类型筛选器,其中显示了 AWS 选项

常见问题解答 - Defender for Cloud 中的 AWS

哪些操作系统支持我的 EC2 实例?

有关预安装了 SSM 代理的 AMI 列表,请参阅 AWS 文档中的此页

对于其他操作系统,应使用以下说明手动安装 SSM 代理:

对于 CSPM 计划,需要哪些 IAM 权限才能发现 AWS 资源?

需要以下 IAM 权限才能发现 AWS 资源:

DataCollector AWS 权限
API Gateway apigateway:GET
应用程序自动缩放 application-autoscaling:Describe*
自动缩放 autoscaling-plans:Describe*
autoscaling:Describe*
证书管理器 acm-pca:Describe*
acm-pca:List*
acm:Describe* <br>acm:List*
CloudFormation cloudformation:Describe*
cloudformation:List*
CloudFront cloudfront:DescribeFunction
cloudfront:GetDistribution
cloudfront:GetDistributionConfig
cloudfront:List*
CloudTrail cloudtrail:Describe*
cloudtrail:GetEventSelectors
cloudtrail:List*
cloudtrail:LookupEvents
CloudWatch cloudwatch:Describe*
cloudwatch:List*
CloudWatch 日志 logs:DescribeLogGroups
logs:DescribeMetricFilters
CodeBuild codebuild:DescribeCodeCoverages
codebuild:DescribeTestCases
codebuild:List*
配置服务 config:Describe*
config:List*
DMS - 数据库迁移服务 dms:Describe*
dms:List*
DAX dax:Describe*
DynamoDB dynamodb:Describe*
dynamodb:List*
Ec2 ec2:Describe*
ec2:GetEbsEncryptionByDefault
ECR ecr:Describe*
ecr:List*
ECS ecs:Describe*
ecs:List*
EFS elasticfilesystem:Describe*
EKS eks:Describe*
eks:List*
Elastic Beanstalk elasticbeanstalk:Describe*
elasticbeanstalk:List*
ELB - 弹性负载均衡 (v1/2) elasticloadbalancing:Describe*
弹性搜索 es:Describe*
es:List*
EMR - 弹性映射减少 elasticmapreduce:Describe*
elasticmapreduce:GetBlockPublicAccessConfiguration
elasticmapreduce:List*
elasticmapreduce:View*
GuardDute guardduty:DescribeOrganizationConfiguration
guardduty:DescribePublishingDestination
guardduty:List*
IAM iam:Generate*
iam:Get*
iam:List*
iam:Simulate*
KMS kms:Describe*
kms:List*
LAMDBA lambda:GetPolicy
lambda:List*
网络防火墙 network-firewall:DescribeFirewall
network-firewall:DescribeFirewallPolicy
network-firewall:DescribeLoggingConfiguration
network-firewall:DescribeResourcePolicy
network-firewall:DescribeRuleGroup
network-firewall:DescribeRuleGroupMetadata
network-firewall:ListFirewallPolicies
network-firewall:ListFirewalls
network-firewall:ListRuleGroups
network-firewall:ListTagsForResource
RDS rds:Describe*
rds:List*
RedShift redshift:Describe*
S3 和 S3Control s3:DescribeJob
s3:GetEncryptionConfiguration
s3:GetBucketPublicAccessBlock
s3:GetBucketTagging
s3:GetBucketLogging
s3:GetBucketAcl
s3:GetBucketLocation
s3:GetBucketPolicy
s3:GetReplicationConfiguration
s3:GetAccountPublicAccessBlock
s3:GetObjectAcl
s3:GetObjectTagging
s3:List*
SageMaker sagemaker:Describe*
sagemaker:GetSearchSuggestions
sagemaker:List*
sagemaker:Search
机密管理器 secretsmanager:Describe*
secretsmanager:List*
简单通知服务 - SNS sns:Check*
sns:List*
SSM ssm:Describe*
ssm:List*
SQS sqs:List*
sqs:Receive*
STS sts:GetCallerIdentity
WAF waf-regional:Get*
waf-regional:List*
waf:List*
wafv2:CheckCapacity
wafv2:Describe*
wafv2:List*

了解更多

可查看以下博客:

后续步骤

连接 AWS 帐户是 Microsoft Defender for Cloud 提供的多云体验的一部分。 有关相关信息,请参阅以下页面: