工作负载通常跨越多个云平台,因此云安全服务也必须同样执行。 Microsoft Defender for Cloud 可帮助保护 Amazon Web Services (AWS) 中的工作负载,但需要设置它们与 Azure 订阅之间的连接。
在下方的屏幕截图中,可以看到 Defender for Cloud 的“概述”仪表板中显示了 AWS 帐户。
你可以观看 Defender for Cloud 的实际应用视频系列中的 Defender for Cloud 中的新增 AWS 连接器视频来了解详细信息。
AWS 身份验证过程
Defender for Cloud 和 AWS 使用联合身份验证。 与身份验证相关的所有资源都是作为 CloudFormation 模板部署的一部分创建的,包括:
- 标识提供者(OpenID Connect)
- 具有联合主体(连接到标识提供者)的身份和访问管理 (IAM) 角色
跨云的身份验证过程的体系结构包括:
Defender for Cloud CSPM 服务使用 RS256 算法通过 Entra ID 签名,获取有效期为 1 小时的 Entra 令牌。
将 Entra 令牌交换为 AWS 短生存期凭据,Defender for Cloud 的 CSPM 服务承担 CSPM IAM 角色(使用 Web 标识承担该角色)。
由于角色主体是在信任关系策略中定义的联合身份,因此 AWS 身份提供者通过一个流程对 Entra 标记进行验证,该流程包括:
- 受众验证
- 令牌数字签名验证
- 证书指纹
只有在满足信任关系中定义的验证条件之后,才会承担 Defender for Cloud CSPM 角色。 为角色级别定义的条件用于在 AWS 中进行验证,并且仅允许 Microsoft Defender for Cloud CSPM 应用程序(已验证的受众)访问特定的角色(而不是任何其他 Microsoft 令牌)。
在 Entra 令牌被 AWS 身份提供者验证后,AWS STS 将该令牌兑换为用于 CSPM 服务扫描 AWS 账户的 AWS 短期凭证。
先决条件
要完成本文中的过程,需要:
一个 Microsoft Azure 订阅。 如果没有 Azure 订阅,可以免费注册。
在 Azure 订阅上设置 Microsoft Defender for Cloud。
访问 AWS 账户。
相关 Azure 订阅的参与者级别权限。
如果 Defender for CSPM 中启用了 CIEM,则启用连接器的用户还需要获得租户的安全管理员角色和 Application.ReadWrite.All 权限。
注意
AWS连接器在国家政府云服务(Azure政府云服务,由世纪互联运营的Microsoft Azure)上不可用。
本机连接器计划要求
每个计划都有自己的本机连接器要求。
如果选择 Microsoft Defender for Containers 计划,你需要:
- 至少一个有权访问 EKS Kubernetes API 服务器的 Amazon EKS 群集。 如果需要创建新的 EKS 群集,请按照 Amazon EKS 入门 - eksctl 中的说明操作。
- 在群集区域创建新 Amazon SQS 队列、
Kinesis Data Firehose
传送流和 Amazon S3 存储桶的资源容量。
连接到你的 AWS 帐户
重要
如果 AWS 帐户已连接到 Microsoft Sentinel,则无法将其连接到 Defender for Cloud。 若要确保连接器正常工作,请按照有关 将 Sentinel 连接的 AWS 帐户连接到 Defender for Cloud 的说明进行作。
若要使用本机连接器将 AWS 连接到 Defender for Cloud,请执行以下操作:
登录到 Azure 门户。
导航到“Defender for Cloud”“环境设置”。
选择“添加环境”“Amazon Web Services” 。
输入 AWS 帐户的详细信息(包括连接器资源的存储位置)。
AWS 区域下拉列表允许你选择 Defender for Cloud 对其进行 API 调用的区域。 从下拉列表中取消选择的每个区域都意味着 Defender for Cloud 不会对这些区域进行 API 调用。
选择一个间隔以便每 4、6、12 或 24 小时扫描一次 AWS 环境。
某些数据收集器使用固定扫描间隔运行,不受自定义间隔配置的影响。 下表显示了每个排除的数据收集器的固定扫描间隔:
数据收集器名称 扫描间隔 EC2Instance
ECRImage
ECRRepository
RDSDBInstance
S3Bucket
S3BucketTags
S3Region
EKSCluster
EKSClusterName
EKSNodegroup
EKSNodegroupName
AutoScalingAutoScalingGroup1 小时 EcsClusterArn
EcsService
EcsServiceArn
EcsTaskDefinition
EcsTaskDefinitionArn
EcsTaskDefinitionTags
AwsPolicyVersion
LocalPolicyVersion
AwsEntitiesForPolicy
LocalEntitiesForPolicy
BucketEncryption
BucketPolicy
S3PublicAccessBlockConfiguration
BucketVersioning
S3LifecycleConfiguration
BucketPolicyStatus
S3ReplicationConfiguration
S3AccessControlList
S3BucketLoggingConfig
公共访问阻止配置12 小时 注意
(可选)选择“管理帐户”以创建管理帐户的连接器。 然后将为每个在提供的管理帐户下发现的成员帐户创建连接器。 还将为所有新载入的帐户启用自动预配。
(可选)使用 AWS 区域下拉菜单选择要扫描的特定 AWS 区域。 默认情况下,选择所有区域。
接下来,查看并选择 Defender for Cloud 计划以为此 AWS 帐户启用。
选择 Defender 计划
在向导的此部分中,选择要启用的 Defender for Cloud 计划。
然后选择“下一步: 选择计划”。
“选择计划”选项卡用于选择要为此 AWS 帐户启用的 Defender for Cloud 功能。 每个计划都有自己的权限要求,可能会产生费用。
重要
若要显示建议的当前状态,Microsoft Defender 云安全态势管理计划将每日多次查询 AWS 资源 API。 这些只读 API 调用不会产生任何费用,但如果为读取事件启用跟踪,则会在 CloudTrail 中注册这些调用。
AWS 的文档 说明,保留一条线索不会产生额外的费用。 如果要将数据从 AWS 中导出(例如导出到外部 SIEM 系统),这一增加的调用量也可能增加引入成本。 在这种情况下,建议筛选掉来自 Defender for Cloud 用户或 ARN 角色的只读调用:
arn:aws:iam::[accountId]:role/CspmMonitorAws
。 (此名称是默认角色名称。请确认在帐户上配置的角色名称。)默认情况下,“服务器”计划设置为“开”。 此设置是将 Defender for Servers 覆盖范围扩展到 AWS EC2 所必需的。 请确保已满足 Azure Arc 的网络要求。
可以选择“配置”,根据需要编辑配置。
注意
EC2 实例或 GCP 虚拟机的相应 Azure Arc 服务器(以及状态为 “断开连接”或“已过期”的相应 Azure Arc 服务器)将在七天后删除。 此过程会移除不相关的 Azure Arc 实体,确保仅显示与现有实例相关的 Azure Arc 服务器。
默认情况下,“容器”计划设置为“开”。 此设置是使 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 服务群集中的说明。
可以选择“配置”,根据需要编辑配置。 如果选择关闭此配置,同时也会禁用威胁检测(控制平面)功能。 详细了解功能可用性。
默认情况下,“数据库”计划设置为“开”。 此设置是将 Defender for SQL 的覆盖范围扩展到 AWS EC2 和 RDS Custom for SQL Server 以及 RDS 上的开源关系数据库的必要项。
(可选)选择“配置”,根据需要编辑配置。 建议将其设置为默认配置。
选择“配置访问”并选择以下内容:
a。 选择部署类型:
- 默认访问权限:允许 Defender for Cloud 扫描资源并自动包含将来的功能。
- 最低特权访问权限:仅向 Defender for Cloud 授予当前访问所选计划需要具有的权限。 如果选择最小特权权限,则会收到有关获取连接器运行状况完整功能所需的任何新角色和权限的通知。
b. 选择部署方法:“AWS CloudFormation”或“Terraform”。
注意
如果选择“管理帐户”来创建管理帐户的连接器,则要使用 Terraform 加入的选项卡在 UI 中不可见,但仍可以使用 Terraform 加入,这与使用 Terraform 将 AWS/GCP 环境加入 Microsoft Defender for Cloud - Microsoft 社区中心中所述的内容类似。
按照所选部署方法的屏幕说明完成 AWS 上的必需依赖项。 如果要加入管理帐户,你需要以 Stack 和 StackSet 的形式运行 CloudFormation 模板。 将在加入后最多 24 小时为成员帐户创建连接器。
选择“下一步: 审阅并生成”。
选择“创建” 。
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 资源类型。
与 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 提供的多云体验的一部分:
- 向工作负载所有者分配访问权限。
- 使用 Defender for Cloud 保护所有资源。
- 设置本地计算机和 GCP 项目。
- 获取有关加入 AWS 帐户的常见问题解答。
- 对多云连接器进行故障排除。