

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

# 主动控制
<a name="proactive-controls"></a>

*主动性控制*是旨在防止创建不合规资源的安全控制。此类控制可减少响应性和侦测性控制处理的安全事件数量。此类控制可在部署之前确保部署的资源合规，因此可消除需要响应或补救措施的检测事件。

例如，您可以使用侦测性控制来通知您 Amazon Simple Storage Service（Amazon S3）存储桶是否可以公开访问。您还可以使用响应性控制可以对其进行补救。尽管您已有这两种控制，但您可以通过添加主动控制来提供额外的保护层。通过主动控制 AWS CloudFormation，可以防止创建任何启用了公共访问的 S3 存储桶的更新。威胁行为者仍然可以绕过此控制并在外部部署或修改资源 CloudFormation。在这种情况下，侦测性和响应性控制将补救安全事件。

**Topics**
+ [目标](#proactive-objectives)
+ [流程](#proactive-process)
+ [使用案例](#proactive-use-cases)
+ [Technology](#proactive-technology)
+ [业务成果](#proactive-business-outcomes)

## 目标
<a name="proactive-objectives"></a>
+ 主动控制可帮助您改进安全操作流程和质量流程。
+ 主动控制可帮助您遵守安全政策、标准以及承担监管或合规义务。
+ 主动控制可防止创建不合规的资源。
+ 主动控制可减少安全调查发现的数量。
+ 主动控制可提供额外的保护层，以防威胁行为者绕过预防性控制并试图部署不合规资源。
+ 与预防性、侦测性和响应性控制相结合，主动控制可以帮助您应对潜在的安全事件。

## 流程
<a name="proactive-process"></a>

主动控制是预防性控制的补充措施。主动控制可降低组织的安全风险，并强制部署合规资源。此类控制会在创建或更新资源之前评估资源合规性。主动控制通常通过使用 CloudFormation 挂钩来实现。如果资源未通过主动控制验证，则可以选择使资源部署失败或显示警告消息。以下是建立主动控制的一些提示和最佳实践：
+ 确保主动控制与贵组织的合规要求相匹配。
+ 确保主动控制遵循相关服务的安全最佳实践。
+ 使用 CloudFormation StackSets 或其他解决方案跨多个 AWS 区域 或账户部署主动控制。
+ 确保与主动控制相关的警告或失败消息清晰明了。这可以帮助开发人员了解资源未通过评估的原因。
+ 构建新的主动控制时，请从观察模式开始。这意味着您可以发送警告消息，而不是使资源部署失败。这可以帮助您了解主动控制的影响。
+ 启用在 Amazon CloudWatch 日志中登录以进行主动控制。
+ 如果您需要监控特定主动控制的调用，请使用 Amazon EventBridge 规则并订阅该 CloudFormation挂钩的调用事件。

## 使用案例
<a name="proactive-use-cases"></a>
+ 防止部署不合规资源
+ 满足合规性要求
+ 通过在部署前强制执行安全问题补救措施，从而提高代码质量
+ 减少与部署后补救安全问题相关的运营停机时间

## Technology
<a name="proactive-technology"></a>

### CloudFormation 钩子
<a name="cloudformation-hooks"></a>

[AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)帮助您设置 AWS 资源，快速一致地配置资源，并在资源的整个生命周期中跨地区对其 AWS 账户 进行管理。 [CloudFormation 挂钩](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/hooks.html)会在部署 CloudFormation 资源之前主动评估其配置。如果发现不合规资源，则返回失败状态。根据挂钩失败模式， CloudFormation可能会使操作失败或显示警告，允许用户继续部署。您可以使用现成的钩子，也可以开发自己的钩子。

### AWS Control Tower
<a name="aws-control-tower"></a>

[AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html)按照规范性最佳实践，帮助您设置和管理 AWS 多账户环境。 AWS Control Tower 提供预配置[的主动控制](https://docs.aws.amazon.com/controltower/latest/userguide/proactive-controls.html)，您可以在 landing zone 中启用这些控件。如果您的 landing zone 是使用设置的 AWS Control Tower，则可以使用这些可选的主动控制作为组织的起点。您可以根据需要在中 CloudFormation 构建其他自定义的主动控制措施。

## 业务成果
<a name="proactive-business-outcomes"></a>

### 减少人工和错误
<a name="proactive-human-error"></a>

主动控制可减少人为错误的风险，人为错误往往会导致部署不合规的资源。主动控制还可以减少开发周期后期的人力投入，因为这种控制能让开发人员在部署之前考虑资源安全。这将*左移*的做法应用于构建安全资源，因为这能在开发生命周期的早期强制要求合规性。

### 降低成本
<a name="proactive-reduce-costs"></a>

部署后修复安全问题通常需要高昂的成本。在开发周期的早期发现和修复问题可以降低开发成本。

### 节省时间
<a name="proactive-time-savings"></a>

主动控制可以防止部署不合规资源，因此可以减少分类和修复安全问题所需的时间。它们还包括安全调查发现的数量，侦测性控制会在开发周期的后期发现这些调查发现。

### 监管合规
<a name="proactive-compliance"></a>

如果您的组织需要遵守内部或行业法规，主动控制可以帮助您保持合规，并避免受到违规处罚。

### 降低风险
<a name="proactive-risk-reduction"></a>

主动控制可帮助开发人员部署合规且以更安全的方式构建的资源，因此主动控制可以降低组织的安全风险。