本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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_PROGRESS 或 DELETE_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 服务角色。