Security Hub CSPM 控件适用于 CloudFormation - AWSSecurity Hub

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Security Hub CSPM 控件适用于 CloudFormation

这些 Security Hub CSPM 控件用于评估AWS CloudFormation服务和资源。

这些控件可能并非全部可用AWS 区域。有关更多信息,请参阅 按地区划分的控件可用性

[CloudFormation.1] CloudFormation 堆栈应与简单通知服务 (SNS) 集成 Simple Notification Service

重要

Security Hub CSPM 于 2024 年 4 月取消了该控制权。有关更多信息,请参阅 Security Hub CSPM 控件的更改日志

相关要求:NIST.800-53.r5 SI-4(12)、NIST.800-53.r5 SI-4(5)。

分类:检测 > 检测服务 > 应用程序监控

严重性:

资源类型:AWS::CloudFormation::Stack

AWS Config 规则:cloudformation-stack-notification-check

计划类型:已触发变更

参数:

此控件检查 Amazon Simple Notification Service 通知是否与 CloudFormation 堆栈集成。如果没有与 CloudFormation 堆栈相关联的 SNS 通知,则该堆栈的控制将失败。

在堆栈中配置 SNS 通知有助于立即将 CloudFormation 堆栈中发生的任何事件或更改通知利益相关者。

修复

要集成堆 CloudFormation 栈和 SNS 主题,请参阅AWS CloudFormation用户指南中的直接更新堆栈

[CloudFormation.2] 应 CloudFormation 标记堆栈

类别:识别 > 清单 > 标记

严重性:

资源类型:AWS::CloudFormation::Stack

AWS Config规则:tagged-cloudformation-stack(自定义 Security Hub CSPM 规则)

计划类型:已触发变更

参数:

参数 说明 Type 允许的自定义值 Security Hub CSPM 默认值
requiredTagKeys 被评估资源必须包含的非系统标签键列表。标签密钥区分大小写。 StringList (最多 6 件商品) 1-6 个符合 AWS 要求的标签键。 无默认值

此控件检查AWS CloudFormation堆栈是否具有参数中定义的特定键的标签requiredTagKeys。如果堆栈没有任何标签键或未在参数 requiredTagKeys 中指定所有键,则此控件会失败。如果未提供参数 requiredTagKeys,则此控件仅会检查是否存在标签键,如果堆栈未使用任何键进行标记,则此控件会失败。自动应用并以 aws: 为开头的系统标签会被忽略。

标签是您分配给AWS资源的标签,它由密钥和可选值组成。您可以创建标签,以按用途、所有者、环境或其他标准对资源进行分类。标签可帮助您识别、组织、搜索和筛选资源。使用标签进行标记还可以帮助您跟踪负责操作和通知的资源所有者。使用标签进行标记时,可以将基于属性的访问权限控制(ABAC)作为授权策略实施,该策略根据标签来定义权限。您可以向 IAM 实体(用户或角色)和AWS资源附加标签。您可以为 IAM 主体创建单个 ABAC 策略或者一组单独的策略。您可以将这些 ABAC 策略设计为允许在主体的标签与资源标签匹配时进行操作。有关更多信息,请参阅 ABAC 有什么用 AWS? 在 IAM 用户指南中。

注意

请勿在标签中添加个人身份信息(PII)或者其他机密或敏感信息。许多人都可以访问标签AWS 服务,包括AWS Billing。有关更多标记最佳做法,请参阅中的为AWS资源添加标签AWS 一般参考

修复

要向 CloudFormation 堆栈添加标签,请参阅 AWS CloudFormationAPI 参考CreateStack中的。

[CloudFormation.3] CloudFormation 堆栈应启用终止保护

类别:保护 > 数据保护 > 数据删除保护

严重性:

资源类型:AWS::CloudFormation::Stack

AWS Config 规则:cloudformation-termination-protection-check

计划类型:已触发变更

参数:

此控件检查AWS CloudFormation堆栈是否启用了终止保护。如果 CloudFormation 堆栈上未启用终止保护,则控制失败。

CloudFormation 有助于将相关资源作为一个称为堆栈的单个单元进行管理。您可以通过在堆栈上启用终止保护来防止堆栈被意外删除。如果用户尝试删除已启用终止保护的堆栈,则删除操作会失败,并且堆栈及其状态将保持不变。您可以为状态为 DELETE_IN_PROGRESSDELETE_COMPLETE 之外任何状态的堆栈设置终止保护。

注意

如果在堆栈上启用或禁用终止保护,则也会将相同的选择传递给属于该堆栈的任何嵌套堆栈。不能直接在嵌套堆栈上启用或禁用终止保护。您无法直接删除属于启用了终止保护的堆栈的嵌套堆栈。如果堆栈名称旁边显示 NESTED,则该堆栈为嵌套堆栈。您只能在该嵌套堆栈所属的根堆栈上更改终止保护。

修复

要在 CloudFormation 堆栈上启用终止保护,请参阅《AWS CloudFormation用户指南》中的 “保护 CloudFormation 堆栈不被删除”。

[CloudFormation.4] CloudFormation 堆栈应具有关联的服务角色

类别:检测 > 安全访问管理

严重性:

资源类型:AWS::CloudFormation::Stack

AWS Config 规则:cloudformation-stack-service-role-check

计划类型:已触发变更

参数:

此控件检查AWS CloudFormation堆栈是否有与之关联的服务角色。如果没有服务角色与 CloudFormation 堆栈关联,则该堆栈的控制将失败。

在 CloudFormation 堆栈中使用服务角色有助于实现最低权限访问,方法是将 creates/updates 堆叠用户和资源所需的权限分开。 CloudFormation create/update 这降低了权限升级的风险,并有助于维护不同操作角色之间的安全边界。

注意

创建堆栈后,无法删除附加到堆栈的服务角色。拥有权限,可对此堆栈执行操作的其他用户可以使用该角色,无论这些用户是否拥有 iam:PassRole 权限。如果该角色包含用户不应具有的权限,则您可能无意中提升了用户的权限。确保该角色授予最低权限。

修复

要将服务角色与 CloudFormation 堆栈关联,请参阅AWS CloudFormation用户指南中的CloudFormation 服务角色