本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
查看 Hook 的调用 CloudFormation 结果
本主题介绍如何查看 CloudFormation Hook 的调用结果。查看调用结果可以帮助您了解 Hook 如何评估您的资源,并解决 Hook 验证资源时检测到的任何问题。
调用是您的验证逻辑(无论是 AWS Control Tower 主动控制、Guard 规则还是 Lambda 函数)在资源的生命周期中运行的特定实例。
在控制台中查看调用结果
您可以通过三种方式在控制台中查看调用结果:通过 Invocation 摘要页面、查看单个 Hook 的调用历史记录,或者查看堆栈特定调用的单个堆栈事件。
查看所有 Hook 的结果
调用摘要页面提供了过去 90 天内您的账户和地区内所有 Hook 调用的全面视图。
查看所有 Hook 的结果
登录 AWS 管理控制台 并在 https://console.aws.amazon.com/cloudformat
ion 上打开 CloudFormation 控制台。 -
在屏幕顶部的导航栏上,选择要查看 Hook 调用的 AWS 区域 位置。
-
在导航窗格中,选择调用摘要。
-
该页面显示了过去 90 天内所有 Hook 调用的列表,包括:
-
调用 ID
-
Hook
-
Target
-
模式(
Warn或Fail) -
结果 (
Warning,Pass,Failed,In progress) -
调用时间
-
结果消息
-
-
您可以使用表格顶部的搜索栏筛选列表以查找特定的调用。
-
选择一个特定的调用以查看有关调用结果的更多其他详细信息,包括失败的 Hook 调用的补救指南。
查看单个 Hook 的调用历史记录
您还可以通过单个 Hook 的调用历史记录查看调用结果。
查看特定 Hook 的挂钩调用
登录 AWS 管理控制台 并在 https://console.aws.amazon.com/cloudformat
ion 上打开 CloudFormation 控制台。 -
在屏幕顶部的导航栏上,选择要查看 Hook 调用的 AWS 区域 位置。
-
从导航窗格中选择 Hooks。
-
选择要查看其的 Hook 调用次数的 Hook。
-
选择一个特定的调用以查看有关调用结果的更多其他详细信息,包括失败的 Hook 调用的补救指南。
查看特定于堆栈的调用的结果
您还可以通过堆栈事件页面查看特定堆栈的调用结果。
查看特定堆栈的 Hook 调用
登录 AWS 管理控制台 并在 https://console.aws.amazon.com/cloudformat
ion 上打开 CloudFormation 控制台。 -
在屏幕顶部的导航栏上,选择堆栈操作发生 AWS 区域 的位置。
-
从导航窗格中,选择堆栈。
-
选择要查看其的 Hook 调用的堆栈。
-
选择堆栈事件选项卡。
-
在事件列表中,在 “状态原因” 列中查找 Hook 调用已完成的事件。
-
要查看特定的 Hook 调用详细信息,请查看 Hook 调用列,然后选择带下划线的文本以打开包含更多详细信息的弹出窗口。
注意
要显示隐藏的列,请选择该部分右上角的齿轮图标以打开 “首选项” 模式,根据需要更新设置,然后选择 “确认”。
使用查看调用结果 AWS CLI
使用list-hook-results命令检索有关 Hook 调用的信息。此命令支持以下过滤选项:
-
获取所有 Hook 调用结果(无需参数)
-
按挂钩筛选 ARN(使用)
--type-arn -
按挂钩 ARN 和状态筛选(使用
--type-arn和)--status -
搜索特定目标(使用
--target-type和--target-id)
按 Hook ARN 筛选结果
以下命令列出了特定 Hook 的所有 Hook 调用结果。
aws cloudformation list-hook-results \ --type-arnarn:aws:cloudformation:us-west-2:123456789012:type/hook/MyOrg-Security-ComplianceHook\ --regionus-west-2
输出示例:
{
"HookResults": [
{
"TypeArn": "arn:aws:cloudformation:us-west-2:123456789012:type/hook/MyOrg-Security-ComplianceHook",
"HookResultId": "59ef501c-0ac4-47c0-a193-e071cabf748d",
"TypeName": "MyOrg::Security::ComplianceHook",
"TypeVersionId": "00000001",
"HookExecutionTarget": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/39f29d10-73ed-11f0-abc1-0affdfe4aebb",
"InvokedAt": "2025-08-08T00:18:39.651Z",
"FailureMode": "WARN",
"HookStatusReason": "...",
"InvocationPoint": "PRE_PROVISION",
"Status": "HOOK_COMPLETE_FAILED"
},
...
]
}
有关响应中字段的描述,请参阅 AWS CloudFormation API 参考HookResultSummary中的。
按挂钩 ARN 和状态筛选结果
要筛选结果中的常见状态,请在命令中指定--status选项。有效值为:
-
HOOK_IN_PROGRESS: Hook 当前正在运行。 -
HOOK_COMPLETE_SUCCEEDED: Hook 成功完成。 -
HOOK_COMPLETE_FAILED: Hook 已完成但验证失败。 -
HOOK_FAILED: Hook 在执行过程中遇到了错误。
aws cloudformation list-hook-results \ --type-arnarn:aws:cloudformation:us-west-2:123456789012:type/hook/MyOrg-Security-ComplianceHook\ --statusHOOK_COMPLETE_FAILED\ --regionus-west-2
输出示例:
{
"HookResults": [
{
"TypeArn": "arn:aws:cloudformation:us-west-2:123456789012:type/hook/MyOrg-Security-ComplianceHook",
"HookResultId": "59ef501c-0ac4-47c0-a193-e071cabf748d",
"TypeName": "MyOrg::Security::ComplianceHook",
"TypeVersionId": "00000001",
"HookExecutionTarget": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/39f29d10-73ed-11f0-abc1-0affdfe4aebb",
"InvokedAt": "2025-08-08T00:18:39.651Z",
"FailureMode": "WARN",
"HookStatusReason": "...",
"InvocationPoint": "PRE_PROVISION",
"Status": "HOOK_COMPLETE_FAILED"
},
...
]
}
有关响应中字段的描述,请参阅 AWS CloudFormation API 参考HookResultSummary中的。
按目标类型和目标 ID 筛选结果
以下命令列出了特定 Cloud Control API 请求的所有 Hook 调用结果。
aws cloudformation list-hook-results \ --target-typeCLOUD_CONTROL\ --target-idd417b05b-9eff-46ef-b164-08c76aec1801\ --regionus-west-2
输出示例:
{
"HookResults": [
{
"TargetType": "CLOUD_CONTROL",
"TargetId": "d417b05b-9eff-46ef-b164-08c76aec1801",
"HookResults": [
{
"TypeArn": "arn:aws:cloudformation:us-west-2:123456789012:type/hook/MyOrg-Security-ComplianceHook",
"HookResultId": "4e7f4766-d8fe-44e5-8587-5b327a148abe",
"TypeName": "MyOrg::Security::ComplianceHook",
"TypeVersionId": "00000001",
"FailureMode": "WARN",
"HookStatusReason": "...",
"InvocationPoint": "PRE_PROVISION",
"Status": "HOOK_COMPLETE_FAILED"
},
...
]
}
]
}
有关响应中字段的描述,请参阅 AWS CloudFormation API 参考HookResultSummary中的。
获取特定调用的详细结果
使用get-hook-result命令检索有关特定 Hook 调用的详细信息,包括带有合规性检查结果的注释和补救指南。
aws cloudformation get-hook-result \ --hook-result-id59ef501c-0ac4-47c0-a193-e071cabf748d\ --regionus-west-2
输出示例:
{
"HookResultId": "59ef501c-0ac4-47c0-a193-e071cabf748d",
"InvocationPoint": "PRE_PROVISION",
"FailureMode": "WARN",
"TypeName": "MyOrg::Security::ComplianceHook",
"TypeVersionId": "00000001",
"TypeArn": "arn:aws:cloudformation:us-west-2:123456789012:type/hook/MyOrg-Security-ComplianceHook",
"Status": "HOOK_COMPLETE_FAILED",
"HookStatusReason": "Hook completed with failed validations",
"InvokedAt": "2025-08-08T00:18:39.651Z",
"Target": {
"TargetType": "RESOURCE",
"TargetTypeName": "AWS::S3::Bucket",
"TargetId": "my-s3-bucket",
"Action": "CREATE"
},
"Annotations": [
{
"AnnotationName": "BlockPublicAccessCheck",
"Status": "FAILED",
"StatusMessage": "Bucket does not block public access",
"RemediationMessage": "Enable block public access settings on the S3 bucket",
"SeverityLevel": "HIGH"
},
{
"AnnotationName": "BucketEncryptionCheck",
"Status": "PASSED",
"StatusMessage": "Bucket has encryption configured correctly"
}
]
}
有关响应中字段的描述,请参阅 AWS CloudFormation API 参考GetHookResult中的。