本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建和管理 AWS CloudFormation Hook
AWS CloudFormation Hook 提供了一种在允许创建、修改或删除堆栈之前评估 CloudFormation 资源的机制。此功能可帮助您确保您的 CloudFormation 资源符合组织的安全、运营和成本优化最佳实践。
要创建 Hook,有四个选项。
-
作为挂钩的主动控制 — 使用控制目录中的主动控制来评估资源。 AWS Control Tower
-
Guard Hook — 使用 AWS CloudFormation Guard 规则评估资源。
-
Lambda 挂钩 — 将资源评估请求转发给函数。 AWS Lambda
-
Custom Hoo k — 使用您手动开发的自定义 Hook 处理程序。
- Proactive controls as Hooks
-
要通过主动控件创建 Hook,请执行以下步骤:
-
导航到 CloudFormation 控制台并开始创建 Hook。
-
从控制目录中选择您希望 Hook 评估资源的特定控件。
每当创建或更新指定资源时,这些控件都将自动适用。您的选择决定了 Hook 将评估哪些资源类型。
-
将 Hook 模式设置为警告用户注意不合规行为或防止不合规操作。
-
配置可选过滤器以按堆栈名称或堆栈角色包含或排除堆栈。
-
完成配置后,激活 Hook 以开始强制执行。
-
- Guard Hook
-
要创建 Guard Hook,请执行以下步骤:
-
使用 Guard 域特定语言 (DSL) 将资源评估逻辑写成警卫策略规则。
-
将防护策略规则存储在 Amazon S3 存储桶中。
-
导航到 CloudFormation 控制台并开始创建 Guard Hook。
-
提供指向您的防护规则的 Amazon S3 路径。
-
选择 Hook 将评估的特定目标类型。
-
CloudFormation 资源 (
RESOURCE
) -
整个堆栈模板 (
STACK
) -
零钱套装 (
CHANGE_SET
) -
云控制 API 资源 (
CLOUD_CONTROL
)
-
-
选择将调用您的 Hook 的部署操作(创建、更新、删除)。
-
选择 Hook 在评估失败时的响应方式。
-
配置可选过滤器以指定 Hook 应评估哪些资源类型
-
配置可选过滤器以按堆栈名称或堆栈角色包含或排除堆栈。
-
完成配置后,激活 Hook 以开始强制执行。
-
- Lambda Hook
-
要创建 Lambda 挂钩,请执行以下步骤:
-
将您的资源评估逻辑写成 Lambda 函数。
-
导航到 CloudFormation 控制台并开始创建 Lambda 挂钩。
-
为您的 Lambda 函数提供亚马逊资源名称 (ARN)。
-
选择 Hook 将评估的特定目标类型。
-
CloudFormation 资源 (
RESOURCE
) -
整个堆栈模板 (
STACK
) -
零钱套装 (
CHANGE_SET
) -
云控制 API 资源 (
CLOUD_CONTROL
)
-
-
选择将调用您的 Hook 的部署操作(创建、更新、删除)。
-
选择 Hook 在评估失败时的响应方式。
-
配置可选过滤器以指定 Hook 应评估哪些资源类型
-
配置可选过滤器以按堆栈名称或堆栈角色包含或排除堆栈。
-
完成配置后,激活 Hook 以开始强制执行。
-
- Custom Hook
-
自定义挂钩是您使用 CloudFormation 命令行界面 (CFN-CLI) 在 CloudFormation注册表中注册的扩展。
要创建自定义 Hook,请执行以下主要步骤:
-
启动项目 — 生成开发自定义 Hook 所需的文件。
-
为挂钩建模 — 编写一个架构来定义 Hook 和指定可以调用 Hook 的操作的处理程序。
-
注册并激活挂钩 — 创建挂钩后,需要在要使用挂钩的账户和区域中注册挂钩,这样即可激活挂钩。
-
以下主题提供了有关创建和管理 Hook 的更多信息。