将 AWS WAF 与 Google SecOps 集成
本文档介绍了如何将 AWS WAF 与 Google Security Operations (Google SecOps) 集成。
使用场景
AWS WAF 集成可让您执行以下操作,从而帮助您保护 Web 应用:
- 自动屏蔽 IP:自动将 Google SecOps 检测到的恶意 IP 地址添加到 AWS WAF IP 集,以便在网络边缘屏蔽流量。
- 访问权限控制列表 (ACL):动态创建和更新 Web ACL,以应对新出现的威胁。
- 协调全球和区域安全:通过单一界面管理区域资源(如 ALB)和全球资源 (Amazon CloudFront) 的规则。
集成参数
使用以下参数配置集成:
| 参数显示名称 | 类型 | 默认值 | 为必填项 | 说明 |
|---|---|---|---|---|
| AWS 访问密钥 ID | 字符串 | 不适用 | 是 | 要在集成中使用的 AWS 访问密钥 ID。 |
| AWS 密钥 | 密码 | 不适用 | 是 | 要在集成中使用的 AWS 密钥。 |
| AWS 默认区域 | 字符串 | 不适用 | 是 | 要在集成中使用的 AWS 默认区域,例如 us-west-2。
AWS WAF 中的 如需跨多个 AWS 区域管理 AWS WAF 资源,您必须为每个区域配置单独的集成实例。 |
如需了解如何在 Google SecOps 中配置集成,请参阅配置集成。
如有需要,您可以在后续阶段进行更改。配置集成实例后,您可以在 playbook 中使用该实例。如需详细了解如何配置和支持多个实例,请参阅支持多个实例。
操作
如需详细了解操作,请参阅 在工作桌上响应待处理的操作和在案例中运行手动操作。
Ping
测试与 AWS WAF 的连接。
参数
不适用
运行时间
此操作不会对实体执行。
操作执行结果
脚本结果
| 脚本结果名称 | 值选项 | 示例 |
|---|---|---|
| is_success | True/False | is_success:False |
案例墙
| 结果类型 | 值/说明 | 类型 |
|---|---|---|
| 输出消息* | 操作不应失败,也不应停止 playbook 执行: 如果成功:“已使用提供的连接参数成功连接到 AWS WAF 服务器!” 操作应失败并停止 playbook 执行: 如果不成功:“Failed to connect to the AWS WAF server! 错误为 {0}”。format(exception.stacktrace) |
常规 |
创建 IP 集
在 AWS WAF 中基于实体创建 IP 集。
IP 集会按以下格式创建:
Siemplify_NAME_IP Type`
参数
| 参数显示名称 | 类型 | 默认值 | 为必填项 | 说明 |
|---|---|---|---|---|
| 名称 | 字符串 | 不适用 | 是 | 指定 IP 集的名称。注意:操作将创建采用以下格式的 IP 集:Siemplify_{Name}_{IP Type}。名称必须包含 1-128 个字符。有效字符:A-Z、a-z、0-9、-(连字符)和 _(下划线)。 |
| 范围 | DDL | CloudFront 可能的值:
|
是 | 指定 IP 集的创建范围。如果选择“Both”(两者),该操作将在区域和 Amazon CloudFront 范围内创建一个 IP 集。
|
| 说明 | 字符串 | 不适用 | 否 | 指定 IP 集的说明。 |
| 标记 | CSV | 不适用 | 否 | 指定应添加到 IP 集的其他标记。格式:key_1:value_1,key_2:value_1。 |
运行时间
此操作在 IP 地址实体上运行。
操作执行结果
脚本结果
| 脚本结果名称 | 值选项 | 示例 |
|---|---|---|
| is_success | True/False | is_success:False |
JSON 结果
{
"Regional": ["IPv4_set", "IPv6_set"]
"Cloudfront": ["IPv4_set", "IPv6_set"]
}
案例墙
| 结果类型 | 值/说明 | 类型 |
|---|---|---|
| 输出消息* | 操作不应失败,也不应停止 playbook 执行: 如果成功,并且至少有一个提供的实体用于创建 IP 集 (is_success = true): "Successfully created {0} {1} IP Set '{2}' in AWS WAF with the following IPs: \n {3}".format("区域"/"Cloudfront", "IPv4"/"IPv6", full_name, entity.identifier list) 如果未能使用特定实体(is_success = true): "Action was not able to use the following IPs in order to create AWS WAF IP Set\n: {0}".format([entity.identifier]) 如果未能使用所有实体 (is_success = false):“未创建任何 IP 集。原因:提供的 IP 实体均无效。” 如果所有集合均已存在 (is_success=false) 或只有部分集合已存在 (is_success=true): "The following {0} IP Pattern Sets '{1}' already exist: \n.".format("区域/CloudFront", list_of_full_names) 操作应失败并停止 playbook 执行: 如果出现严重错误,例如凭据错误、无法连接到服务器等:“执行‘创建 IP 集’操作时出错。Reason: {0}''.format(error.Stacktrace) |
将 IP 添加到 IP 集
将 IP 地址添加到 AWS WAF 中的 IP 集。
参数
| 参数显示名称 | 类型 | 默认值 | 为必填项 | 说明 |
|---|---|---|---|---|
| IP 集名称 | CSV | 不适用 | 是 | 指定以英文逗号分隔的 IP 集名称列表。示例:name_1,name_2 |
| 范围 | DDL | CloudFront 可能的值:
|
是 | 指定 IP 集的范围。如果选择“两者”,该操作会将 IP 地址添加到 Regional 和 CloudFront 范围内的 IP 集。
|
运行时间
此操作在 IP 地址实体上运行。
操作执行结果
脚本结果
| 脚本结果名称 | 值选项 | 示例 |
|---|---|---|
| is_success | True/False | is_success:False |
案例墙
| 结果类型 | 值/说明 | 类型 |
|---|---|---|
| 输出消息* | 操作不应失败,也不应停止 playbook 执行: 如果成功且至少有一个 IP 地址已添加到某个 IP 集(is_success = true): "Successfully added the following IPs to the {0} IP Set '{1}' in AWS WAF: \n {2}".format("区域"/"Cloudfront", full_name, entity.identifier list) 如果未能将特定实体添加到某个 IP 集(is_success = true):“Action was not able to add the following IPs to the {0} IP Set '{1}' in AWS WAF\n: {2}”。format("区域"/"Cloudfront", full_name,[entity.identifier]) 如果未能找到其中一个 IP 集 (is_success = true):“Action wasn't able to find the following '{0}' IP Sets in the AWS WAF:\n {1}”。format("区域"/Cloudfront",list of IP sets that were not found in that scope) 如果未能在所选范围内找到所有提供的 IP 集 (is_success=false):“操作未找到提供的 IP 集。” 操作应失败并停止 playbook 执行: 如果发生严重错误、SDK 错误(例如凭据错误、无法连接到服务器等),则显示:“Error executing action "Add IP To IP Set". Reason: {0}''.format(error.Stacktrace) |
常规 |
创建正则表达式模式集
在 AWS WAF 中基于实体创建正则表达式模式集。
每个正则表达式模式集只能包含 10 个模式,并且总共只能有 10 个正则表达式模式集。
参数
| 参数显示名称 | 类型 | 默认值 | 为必填项 | 说明 |
|---|---|---|---|---|
| 名称 | 字符串 | 不适用 | 是 | 指定正则表达式模式集的名称。注意:名称必须包含 1-128 个字符。有效字符:A-Z、a-z、0-9、-(连字符)和 _(下划线)。 |
| 范围 | DDL | CloudFront 可能的值:
|
是 | 指定正则表达式模式集的创建范围。如果选择“两者”,则该操作会在 Regional 和 CloudFront 范围内创建正则表达式模式集。
|
| 说明 | 字符串 | 不适用 | 否 | 指定正则表达式模式集的说明。 |
| 标记 | CSV | 不适用 | 否 | 指定应添加到正则表达式模式集的其他标记。格式:key_1:value_1,key_2:value_1。 |
| 网域格式 | 复选框 | 勾选 | 否 | 如果启用,该操作会从网址中检索网域部分,并根据这些部分创建正则表达式模式,例如将 http://test.com/folder 转换为 ^(http|https)(:\/\/)(\Qtest.com\E).*".format(entity)。 |
| IP 格式 | 复选框 | 勾选 | 否 | 如果启用,该操作会根据 IP 地址(而不是使用原始值)构建正确的正则表达式模式,例如 10.0.0.1 会转换为 ^(http|https)(:\/\/)(\Q10.0.1\E).*".format(entity)。 |
运行时间
此操作将在以下实体上运行:
- IP 地址
- 网址
操作执行结果
脚本结果
| 脚本结果名称 | 值选项 | 示例 |
|---|---|---|
| is_success | True/False | is_success:False |
JSON 结果
{
"Regional": "Regex_set"
"Cloudfront": "Regex_set"
}
案例墙
| 结果类型 | 值/说明 | 类型 |
|---|---|---|
| 输出消息* | 操作不应失败,也不应停止 playbook 执行: 如果成功,并且至少有一个提供的实体用于创建正则表达式集 (is_success = true):“Successfully created {0} Regex Pattern Set '{1}' in AWS WAF with the following entities: \n {2}”。format("区域"/"Cloudfront", name, entity.identifier list) 如果要使用 10 个以上的实体来创建正则表达式模式集:“Action 无法使用提供的所有实体创建正则表达式模式集,因为超出了限制。已跳过以下实体:{0}”。format(entity.identifier) 如果集合已存在 (is_success=false): "{0} Regex Pattern Set '{1}' already exists.".format("区域/CloudFront", name) 操作应失败并停止 playbook 执行: 如果发生严重错误、SDK 错误(例如凭据错误、无法连接到服务器等),则会显示:“Error executing action "Create Regex Pattern Set". Reason: {0}''.format(error.Stacktrace) |
常规 |
创建 Web ACL
在 AWS WAF 中创建 Web ACL。
参数
| 参数显示名称 | 类型 | 默认值 | 为必填项 | 说明 |
|---|---|---|---|---|
| 名称 | 字符串 | 不适用 | 是 | 指定 Web ACL 的名称。注意:名称必须包含 1-128 个字符。有效字符:A-Z、a-z、0-9、-(连字符)和 _(下划线)。 |
| 规则来源类型 | DDL | IP 集 可能的值 IP 集 规则组 |
是 | 指定应使用的规则类型。 |
| 规则来源名称 | 字符串 | 不适用 | 是 | 指定应在 Web ACL 中使用的来源名称。如果“规则来源类型”为“IP 集”,则该操作将搜索具有该名称的 IP 集。如果“规则来源类型”为“规则组”,则该操作将搜索具有该名称的规则组。 |
| 范围 | DDL | CloudFront 可能的值:
|
是 | 指定创建 Web ACL 的范围。如果选择“两者”,该操作将在 Regional 和 CloudFront 范围内创建 Web ACL。
|
| 启用抽样请求 | 复选框 | 尚未核查 | 是 | 如果启用,AWS WAF 将存储与规则匹配的 Web 请求的抽样。 |
| 启用 CloudWatch 指标 | 复选框 | 尚未核查 | 是 | 如果启用,关联的资源会将指标发送到 CloudWatch。 |
| CloudWatch 指标名称 | 复选框 | 尚未核查 | 是 | 指定 CloudWatch 指标的名称。注意:名称必须包含 1-128 个字符。有效字符:A-Z、a-z、0-9、-(连字符)和 _(下划线)。 |
| 默认操作 | DDL | 允许 可能的值:
|
是 | 为不符合任何规则的请求指定默认操作。 |
| IP 集操作 | DDL | 屏蔽 可能的值:
|
否 | 为基于 IP 集的规则指定操作。 |
| 规则优先级 | 整数 | 不适用 | 是 | 指定规则的优先级。Web ACL 中的优先级应是唯一的。 |
| 说明 | 字符串 | 不适用 | 否 | 指定 Web ACL 的说明。 |
| 标记 | CSV | 不适用 | 否 | 指定应添加到 Web ACL 的其他标记。格式:key_1:value_1,key_2:value_1。 |
运行时间
此操作不会对实体执行。
操作执行结果
脚本结果
| 脚本结果名称 | 值选项 | 示例 |
|---|---|---|
| is_success | True/False | is_success:False |
JSON 结果
{
"Regional": "Web_Acl_name"
"Cloudfront": "Web_Acl_name"
}
案例墙
| 结果类型 | 值/说明 | 类型 |
|---|---|---|
| 输出消息* | 操作不应失败,也不应停止 playbook 执行: 如果成功列出了可用的 IP 集(is_success = true) 且“Scope”==“Both”:“Successfully created Web ACL {0} in 如果成功列出可用的 IP 集(is_success = true) 且“Scope”==“区域”: “Successfully created Web ACL {0} in 区域.”。format(name) 如果成功列出了可用的 IP 集(is_success = true) 且“Scope”==“Cloudfront”:“Successfully created Web ACL {0} in Cloudfront scope.”format(name) 如果 Web ACL 存在: 输出“Web ACL {} already exists in {} scope.”。format(web ACL name, scope)。 如果未找到 IP 集/规则组:“Action wasn't able to create Web ACL. Reason: {0} {1} wasn't found in AWS WAF".format("IP Set/Rule Group", Rule Source Name) 操作应失败并停止 playbook 执行: 如果发生严重错误、SDK 错误(例如凭据错误、无法连接到服务器等),则显示:“执行‘创建 Web ACL’操作时出错。Reason: {0}''.format(error.Stacktrace) |
向 Web ACL 添加规则
在 AWS WAF 中,向 Web ACL 添加基于 IP 集或规则组的规则。Web ACL 最多可包含 1,500 条规则。
参数
| 参数显示名称 | 类型 | 默认值 | 为必填项 | 说明 |
|---|---|---|---|---|
| Web ACL 名称 | CSV | 不适用 | 是 | 指定以英文逗号分隔的 Web ACL 名称列表。示例:name_1,name_2 |
| 规则来源类型 | DDL | IP 集 可能的值:
|
是 | 指定应使用的规则类型。 |
| 规则来源名称 | 字符串 | 不适用 | 是 | 指定应在 Web ACL 中使用的来源名称。如果“规则来源类型”为“IP 集”,则该操作将搜索具有该名称的 IP 集。如果“规则来源类型”为“规则组”,则该操作将搜索具有该名称的规则组。 |
| 范围 | DDL | CloudFront 可能的值:
|
是 | 指定新规则的范围。如果选择“两者”,该操作会将规则添加到 Regional 和 CloudFront 范围内的 Web ACL。
|
| 规则优先级 | 整数 | 不适用 | 是 | 指定规则的优先级。Web ACL 中的优先级应是唯一的。 |
| IP 集操作 | DDL | 屏蔽 可能的值:
|
否 | 为基于 IP 集的规则指定操作。 |
运行时间
此操作不会对实体执行。
操作执行结果
脚本结果
| 脚本结果名称 | 值选项 | 示例 |
|---|---|---|
| is_success | True/False | is_success:False |
案例墙
| 结果类型 | 值/说明 | 类型 |
|---|---|---|
| 输出消息* | 操作不应失败,也不应停止 playbook 执行: 如果成功且至少有一条规则已添加到某个 Web ACL(is_success = true):“已成功将一条规则添加到 AWS WAF 中的以下 {0} Web ACL‘{1}’。”.format("区域"/"Cloudfront", list of name) 如果未能找到其中一个 Web ACL(is_success = true):“Action wasn't able to find the following '{0}' Web ACLs in the AWS WAF:\n {1}”。format("区域"/Cloudfront", list of Web ACLs that were not found in that scope) 如果范围内每个 Web ACL 已存在同名规则 (is_success=true):“操作未能将 {0} 条规则添加到 AWS WAF 中的 Web ACL。Reason: {0} with name '{1}' already exists in the following Web ACLs:\n{2}".format( rule source type, rule source name, list Web ACL with scope - structure {0} - {1}.format(scope, web acl name)) 操作应失败并停止 playbook 执行: 如果发生严重错误、SDK 错误(例如凭据错误、无法连接到服务器)或其他错误:“执行‘向 Web ACL 添加规则’操作时出错。Reason: {0}''.format(error.Stacktrace) |
常规 |
创建规则组
在 AWS WAF 中创建规则组。
参数
| 参数显示名称 | 类型 | 默认值 | 为必填项 | 说明 |
|---|---|---|---|---|
| 名称 | 字符串 | 不适用 | 是 | 指定规则组的名称。注意:名称必须包含 1-128 个字符。有效字符:A-Z、a-z、0-9、-(连字符)和 _(下划线)。 |
| 范围 | DDL | CloudFront 可能的值:
|
是 | 指定规则组的创建范围。如果选择“两者”,该操作将在 Regional 和 CloudFront 范围内创建规则组。
|
| 容量 | 整数 | 100 | 是 | 指定规则组的容量。注意:群组创建后,您便无法更改容量。最大值为 1500。 |
| 启用抽样请求 | 复选框 | 尚未核查 | 是 | 如果启用,AWS WAF 将存储与规则匹配的 Web 请求的抽样。 |
| 启用 CloudWatch 指标 | 复选框 | 尚未核查 | 是 | 如果启用,关联的资源会将指标发送到 CloudWatch。 |
| CloudWatch 指标名称 | 复选框 | 尚未核查 | 是 | 指定 CloudWatch 指标的名称。注意:名称必须包含 1-128 个字符。有效字符:A-Z、a-z、0-9、-(连字符)和 _(下划线)。 |
| 说明 | 字符串 | 不适用 | 否 | 指定规则组的说明。 |
| 标记 | CSV | 不适用 | 否 | 指定应添加到规则组的其他标记。格式:key_1:value_1,key_2:value_1。 |
运行时间
此操作不会对实体执行。
操作执行结果
脚本结果
| 脚本结果名称 | 值选项 | 示例 |
|---|---|---|
| is_success | True/False | is_success:False |
案例墙
| 结果类型 | 值/说明 | 类型 |
|---|---|---|
| 输出消息* | 操作不应失败,也不应停止 playbook 执行: 如果成功列出了可用的 IP 集(is_success = true) 且“Scope”==“Both”:“Successfully created Rule Group {0} in >如果成功列出了可用的 IP 集(is_success = true) 且“Scope”==“区域”:“The Rule Group {} already exists in {} scope.”。format(web ACL name, scope)。 如果成功列出可用的 IP 集(is_success = true) 且“Scope”==“Cloudfront”:"Successfully created Rule Group {0} in Cloudfront scope.".format(name) 如果规则组存在: "Successfully created Rule Group {0} in Cloudfront scope.".format(name) 如果规则组创建失败:“Action was not able to create Rule Group {} in {} scope”(操作无法在 {} 范围内创建规则组 {})。format(Web ACL 名称、范围)。 操作应失败并停止 playbook 执行: 如果发生严重错误、SDK 错误(例如凭据错误、无法连接到服务器等):“执行‘创建规则组’操作时出错。Reason: {0}''.format(error.Stacktrace) |
常规 |
将实体添加到正则表达式模式集
将基于实体的字符串模式添加到 AWS WAF 中的正则表达式模式集中。
每个正则表达式模式集只能包含 10 个模式。
参数
| 参数显示名称 | 类型 | 默认值 | 为必填项 | 说明 |
|---|---|---|---|---|
| 正则表达式模式集名称 | CSV | 不适用 | 是 | 指定正则表达式模式集名称的逗号分隔列表,例如 name_1,name_2。 |
| 范围 | DDL | CloudFront 可能的值:
|
是 | 正则表达式模式集的范围。如果选择“两者”,则该操作会将基于实体的模式添加到 Regional 和 CloudFront 范围内的正则表达式模式集中。
|
| 网域格式 | 复选框 | 勾选 | 否 | 如果启用,该操作会从网址中检索网域部分,并根据这些部分创建正则表达式模式,例如,http://test.com/folder 会转换为 ^(http|https)(:\/\/)(\Qtest.com\E).*".format(entity)。 |
| IP 格式 | 复选框 | 勾选 | 否 |
如果启用,该操作会根据 IP 地址构建正确的正则表达式模式,而不是使用原始值,例如 10.0.0.1 会转换为 ^(http|https)(:\/\/)(\Q10.0.1\E).*".format(entity)。 |
运行时间
此操作将在以下实体上运行:
- IP 地址
- 网址
操作执行结果
脚本结果
| 脚本结果名称 | 值选项 | 示例 |
|---|---|---|
| is_success | True/False | is_success:False |
案例墙
| 结果类型 | 值/说明 | 类型 |
|---|---|---|
| 输出消息* | 操作不应失败,也不应停止 playbook 执行: 如果成功,并且至少有一个实体已添加到某个正则表达式模式集(is_success = true):“Successfully added the following entity patterns to the {0} Regex Pattern Set '{1}' in AWS WAF: \n {2}”。format("区域"/"Cloudfront", name, list of entity patterns) 如果要使用超过 10 个实体来创建正则表达式模式集:“由于超出限制,操作无法根据所有提供的实体向‘{0}’正则表达式模式集‘{1}’添加模式。已跳过以下实体:{2}”。forma("区域"/"Cloudfront", name, entity.identifier) 如果未能找到其中一个集合 (is_success = true):“Action wasn't able to find the following '{0}' Regex Pattern Sets in the AWS WAF:\n {1}”。format("区域"/Cloudfront",list of regular expression pattern sets that were not found in that scope) 如果未能在所选范围内找到所有提供的集合 (is_success=false):“操作未找到提供的正则表达式模式集。” 操作应失败并停止 playbook 执行: 如果发生严重错误、SDK 错误(例如凭据错误、无法连接到服务器)或其他错误:“执行‘将实体添加到正则表达式模式集’操作时出错。Reason: {0}''.format(error.Stacktrace) |
常规 |
向正则表达式模式集添加模式
将字符串模式添加到 AWS WAF 中的正则表达式模式集。
每个正则表达式模式集最多只能包含 10 个模式。
参数
| 参数显示名称 | 类型 | 默认值 | 为必填项 | 说明 |
|---|---|---|---|---|
| 正则表达式模式集名称 | CSV | 不适用 | 是 | 指定正则表达式模式集名称的逗号分隔列表,例如 name_1,name_2。 |
| 模式 | CSV | 不适用 | 是 | 指定要添加到正则表达式模式集的模式的逗号分隔列表,例如 pattern_1,pattern_2。 |
| 范围 | DDL | CloudFront 可能的值:
|
是 | 正则表达式模式集的范围。如果选择“两者”,则该操作会将基于实体的模式添加到 Regional 和 CloudFront 范围内的正则表达式模式集中。
|
运行时间
此操作不会对实体执行。
操作执行结果
脚本结果
| 脚本结果名称 | 值选项 | 示例 |
|---|---|---|
| is_success | True/False | is_success:False |
案例墙
| 结果类型 | 值/说明 | 类型 |
|---|---|---|
| 输出消息* | 操作不应失败,也不应停止 playbook 执行: 如果成功且至少有一个模式已添加到某个正则表达式模式集(is_success = true):“Successfully added the following patterns to the {0} Regex Pattern Set '{1}' in AWS WAF: \n {2}”。format("区域"/"Cloudfront", name, list of patterns) 如果未能找到其中一个集合 (is_success = true):t "Action wasn't able to find the following '{0}' Regex Pattern Sets in the AWS WAF:\n {1}".format("区域"/Cloudfront",list of regular expression pattern sets that were not found in that scope). 如果未能在所选范围内找到所有提供的集合 (is_success=false):“操作未找到提供的正则表达式模式集。” 操作应失败并停止 playbook 执行: 如果发生严重错误、SDK 错误(例如凭据错误、无法连接到服务器等),则显示:“执行‘向正则表达式模式集添加模式’操作时出错。Reason: {0}''.format(error.Stacktrace) |
常规 |
从 Web ACL 中移除规则
从 AWS WAF 中的 Web ACL 中移除规则。
参数
| 参数显示名称 | 类型 | 默认值 | 为必填项 | 说明 |
|---|---|---|---|---|
| Web ACL 名称 | CSV | 是 | 指定以英文逗号分隔的 Web ACL 名称列表。示例:name_1,name_2 |
|
| 范围 | DDL | CloudFront 可能的值:
|
是 | 指定移除 Web ACL 的范围。如果选择“两者”,该操作将移除 Regional 和 CloudFront 范围内的 Web ACL。
|
| 规则名称 | 字符串 | 不适用 |
是 | 指定应删除的规则的名称。 |
运行时间
此操作不会对实体执行。
操作执行结果
脚本结果
| 脚本结果名称 | 值选项 |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
案例墙
| 结果类型 | 值/说明 | 类型 |
|---|---|---|
| 输出消息* | 操作不应失败,也不应停止 playbook 执行: 如果成功且至少从一个规则组中移除了一个规则:输出“Successfully removed a rule from the following {0} Web ACLs '{1}' in AWS WAF.”。format("区域"/"Cloudfront", list of names) 如果一个规则组未成功:输出“Action wasn't able to remove a rule from the following {0} Web ACLs '{1}' in AWS WAF.”。格式(“区域”/“Cloudfront”,名称列表) 如果因在某个 ACL 中找不到规则而导致该 Web ACL 失败:输出“Action wasn't able to find the specified rule in the following {0} Web ACLs '{1}' in AWS WAF.”。format("区域"/"Cloudfront", list of names Web ACL) 如果未能找到某个规则组:输出“Action wasn't able to find the following '{0}' Web ACLs in the AWS WAF:\n {1}”。format("区域"/Cloudfront", list of Rule Group that were not found in that scope) 如果未能在所需范围内找到所有提供的集合:输出“Action didn't find the provided Web ACLs.”(操作未找到提供的 Web ACL)。 操作应失败并停止 playbook 执行: 如果发生严重错误、SDK 错误(例如凭据错误、无法连接到服务器等):输出“Error executing action "Remove Rule From Web ACL". Reason: {0}''.format(error.Stacktrace) |
常规 |
列出 Web ACL
列出 AWS WAF 中的可用 Web ACL。
参数
| 参数显示名称 | 类型 | 默认值 | 为必填项 | 说明 |
|---|---|---|---|---|
| 范围 | DDL | CloudFront 可能的值:
|
指定 Web ACL 列表的范围。
|
|
| 要返回的 Web ACL 数量上限 | 整数 | 50 | 否 | 指定要返回的 Web ACL 数量。默认值为 50。最大值为 100。 |
运行时间
此操作不会对实体执行。
操作执行结果
脚本结果
| 脚本结果名称 | 值选项 |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
JSON 结果
[
{
"Name": "example",
"Id": "ID",
"Description": "example",
"LockToken": "7e76581b-f152-4448-aafe-b733a33c8fa2",
"ARN": "arn:aws:wafv2:us-east-1:regional/ipset/example/ID"
}
]
"CloudFront": [
{
"Name": "example",
"Id": "ID",
"Description": "example",
"LockToken": "7e76581b-f152-4448-aafe-b733a33c8fa2",
"ARN": "arn:aws:wafv2:us-east-1:regional/ipset/example/ID"
}
]
案例墙
| 结果类型 | 值/说明 | 类型(实体 \ 常规) |
|---|---|---|
| 输出消息* | 操作不应失败,也不应停止 playbook 执行: 如果成功列出了可用的 IP 集,并且“范围”==“两者”:“已成功列出区域和 Cloudfront 范围内的可用 Web ACL。” 如果成功列出了可用的 IP 集(is_success = true) 且“Scope”==“区域”:“Successfully listed available Web ACLs in 区域 scope.” 如果成功列出了可用的 IP 集(is_success = true) 且“Scope”==“Cloudfront”:“Successfully listed available Web ACLs in Cloudfront scope.” 如果没有可用值(is_success = false) 且“Scope”==“Both”:“No available Web ACLs were found in 区域 and Cloudfront scopes.” 如果没有可用值 (is_success = false) 且“Scope”==“Regional”:“在区域范围内未找到可用的 Web ACL。” If no available values(is_success = false) and "Scope" == "Cloudfront": "No available Web ACLs were found in Cloudfront scope." 操作应失败并停止 playbook 执行: 如果出现严重错误、SDK 错误(例如凭据错误、无法连接到服务器等),则会显示:“Error executing action "List Web ACLs". Reason: {0}''.format(error.Stacktrace) |
常规 |
案例墙表格 (如果“范围”==“区域”或“两者”) |
表名称:Regional Rule ACLs 表列:
|
常规 |
案例墙表格 (如果“Scope”==“CloudFront”或“Both”) |
表名称:CloudFront 规则 ACL 表列:
|
常规 |
从规则组中移除规则
从 AWS WAF 中的规则组中移除规则。
参数
| 参数显示名称 | 类型 | 默认值 | 为必填项 | 说明 |
|---|---|---|---|---|
| 规则组名称 | CSV | 是 | 指定以逗号分隔列表形式的规则组名称。示例:name_1,name_2 | |
| 范围 | DDL | CloudFront 可能的值:
|
是 | 指定规则组的移除范围。如果选择“两者”,该操作将移除 Regional 和 CloudFront 范围内的规则组。
|
| 规则名称 | 字符串 | 不适用 |
是 | 指定应删除的规则的名称。 |
运行时间
此操作不会对实体执行。
操作执行结果
脚本结果
| 脚本结果名称 | 值选项 |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
案例墙
| 结果类型 | 值/说明 | 类型 |
|---|---|---|
| 输出消息* | 操作不应失败,也不应停止 playbook 执行: 如果成功,并且至少从一个规则组中移除了一个规则:“Successfully removed a rule from the following {0} Rule Groups '{1}' in AWS WAF.”。format("区域"/"Cloudfront", list of names) 如果一个规则组不成功:“操作无法从 AWS WAF 中的以下 {0} 规则组‘{1}’中移除规则。”。format("区域"/"Cloudfront", list of names) 如果因在某个规则组中找不到规则而导致该规则组执行失败:“Action wasn't able to find the specified rule in the following {0} Rule Groups '{1}' in AWS WAF.”。format("区域"/"Cloudfront", list of rule group names) 如果找不到某个规则组:“Action wasn't able to find the following '{0}' Rule Groups in the AWS WAF:\n {1}”。format("区域"/Cloudfront", list of Rule Group that were not found in that scope) 如果未能在所需范围内找到所有提供的集合:“操作未找到提供的规则组。” 操作应失败并停止 playbook 执行: 如果报告了严重错误、SDK 错误(例如凭据错误、无法连接到服务器等):“执行操作‘从规则组中移除规则’时出错。Reason: {0}''.format(error.Stacktrace) |
常规 |
列出规则组
列出 AWS WAF 中的可用规则组。
参数
| 参数显示名称 | 类型 | 默认值 | 为必填项 | 说明 |
|---|---|---|---|---|
| 范围 | DDL | CloudFront 可能的值:
|
指定规则组列表的范围。
|
|
| 要返回的规则组数量上限 | 整数 | 50 | 否 | 指定要返回的规则组数量。默认值为 50。最大值为 100。 |
运行时间
此操作不会对实体执行。
操作执行结果
脚本结果
| 脚本结果名称 | 值选项 |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
JSON 结果
[
{
"Name": "example",
"Id": "ID",
"Description": "example",
"LockToken": "7e76581b-f152-4448-aafe-b733a33c8fa2",
"ARN": "arn:aws:wafv2:us-east-1:regional/ipset/example/ID"
}
]
"CloudFront": [
{
"Name": "example",
"Id": "ID",
"Description": "example",
"LockToken": "7e76581b-f152-4448-aafe-b733a33c8fa2",
"ARN": "arn:aws:wafv2:us-east-1:regional/ipset/example/ID"
}
]
案例墙
| 结果类型 | 值/说明 | 类型(实体 \ 常规) |
|---|---|---|
| 输出消息* | 操作不应失败,也不应停止 playbook 执行: 如果成功列出了可用的 IP 集,并且“范围”==“两者”:“已成功列出区域和 Cloudfront 范围内的可用规则组。” 如果成功列出了可用的 IP 集,并且“Scope”==“Regional”:“已成功列出区域范围内的可用规则组。” 如果成功列出了可用的 IP 集,并且“Scope”==“Cloudfront”:“已成功列出 Cloudfront 范围内的可用规则组。”> 如果没有可用值,且“Scope”==“Both”:“No available Rule groups were found in 区域 and Cloudfront scopes.” 如果没有可用值且“范围”==“区域”:“在区域范围内未找到可用的规则组。” 如果没有可用值且“范围”==“Cloudfront”:“在 Cloudfront 范围内未找到可用的规则组。” 操作应失败并停止 playbook 执行: 如果报告了严重错误、SDK 错误(例如凭据错误、无法连接到服务器等),则会显示以下消息:“Error executing action 'List Rule Groups'. Reason: {0}''.format(error.Stacktrace) |
常规 |
外壳壁表 (如果“范围”==“区域”或“两者”) |
表名称:Regional Rule Groups 表列:
|
常规 |
外壳壁表 (如果“范围”==“CloudFront”或“两者”) |
表名称:CloudFront 规则组 表列:
|
常规 |
列出 IP 集
列出 AWS WAF 中的可用 IP 集。
参数
| 参数显示名称 | 类型 | 默认值 | 为必填项 | 说明 |
|---|---|---|---|---|
| 范围 | DDL | CloudFront 可能的值:
|
指定 IP 集列表的作用域。
|
|
| 要返回的 IP 集数上限 | 整数 | 50 | 否 | 指定要返回的 IP 集数量。默认值为 50。最大值为 100。 |
运行时间
此操作不会对实体执行。
操作执行结果
脚本结果
| 脚本结果名称 | 值选项 |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
JSON 结果
[
{
"Name": "example",
"Id": "ID",
"Description": "example",
"LockToken": "7e76581b-f152-4448-aafe-b733a33c8fa2",
"ARN": "arn:aws:wafv2:us-east-1:regional/ipset/example/ID"
}
]
"CloudFront": [
{
"Name": "example",
"Id": "ID",
"Description": "example",
"LockToken": "7e76581b-f152-4448-aafe-b733a33c8fa2",
"ARN": "arn:aws:wafv2:us-east-1:regional/ipset/example/ID"
}
]
案例墙
| 结果类型 | 值/说明 | 类型(实体 \ 常规) |
|---|---|---|
| 输出消息* | 操作不应失败,也不应停止 playbook 执行: 如果成功列出了可用的 IP 集,并且“范围”==“两者”:“已成功列出区域和 Cloudfront 范围内的可用 IP 集。” 如果成功列出了可用的 IP 集,并且“Scope”==“区域”:“Successfully listed available IP sets in 区域 scope.” 如果成功列出了可用的 IP 集,并且“Scope”==“Cloudfront”:“Successfully listed available IP sets in Cloudfront scope.”(已成功列出 Cloudfront 范围内的可用 IP 集。) 如果没有可用值且“Scope”==“Both”:输出“No available IP Sets were found in 区域 and Cloudfront scopes.” 如果没有可用值且“范围”==“区域”:“在区域范围内未找到可用的 IP 集。” 如果没有可用值且“Scope”==“Cloudfront”:“No available IP Sets were found in Cloudfront scope.” 操作应失败并停止 playbook 执行: 如果报告了严重错误、SDK 错误(例如凭据错误、无法连接到服务器等),则会显示以下消息:“Error executing action "List IP Sets". Reason: {0}''.format(error.Stacktrace) |
常规 |
外壳壁表 (如果“范围”==“区域”或“两者”) |
表名称:Regional Rule Groups 表列:
|
常规 |
外壳壁表 (如果“范围”==“CloudFront”或“两者”) |
表名称:CloudFront 规则组 表列:
|
常规 |
从正则表达式模式集中移除模式
从 AWS WAF 中的正则表达式集中移除模式。
参数
| 参数显示名称 | 类型 | 默认值 | 为必填项 | 说明 |
|---|---|---|---|---|
| 正则表达式模式集名称 | CSV | 是 | 指定以英文逗号分隔的正则表达式集名称列表,例如 name_1,name_2。 |
|
| 模式 | CSV | 是 | 指定应从正则表达式集中移除的模式的逗号分隔列表,例如 pattern_1,pattern_2。 |
|
| 范围 | DDL | CloudFront 可能的值:
|
是 | 集合的范围。如果选择“Both”,该操作会从 Regional 和 CloudFront 范围内的正则表达式集中移除模式。
|
运行时间
此操作不会对实体执行。
操作执行结果
脚本结果
| 脚本结果名称 | 值选项 |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
案例墙
| 结果类型 | 值/说明 | 类型 |
|---|---|---|
| 输出消息* | 操作不应失败,也不应停止 playbook 执行: 如果成功,并且至少从一个正则表达式集中移除了一个模式集:“Successfully removed the following patterns from the {0} Regex Pattern Set '{1}' in AWS WAF: \n {2}”。format("区域"/"Cloudfront", full_name, list of entity patterns) 如果模式从未存在于该模式集中:“在 AWS WAF 的 {0} 正则表达式模式集‘{1}’中找不到以下模式:\n {2}”。format("区域"/"Cloudfront", full_name, list of patterns) 如果未能从所有正则表达式模式集中移除所有模式:“未从提供的正则表达式模式集中移除任何模式。” 如果未能找到某个模式集:“Action wasn't able to find the following '{0}' Regex Pattern Sets in the AWS WAF:\n {1}”。format("区域"/Cloudfront",list of sets that were not found in that scope) 如果未能在所需范围内找到所有提供的正则表达式模式集:“操作未找到提供的正则表达式模式集。” 操作应失败并停止 playbook 执行: 如果报告了严重错误、SDK 错误(例如凭据错误、无法连接到服务器等):“执行‘从正则表达式模式集中移除模式’操作时出错。Reason: {0}''.format(error.Stacktrace) |
常规 |
从 IP 集中移除 IP
从 AWS WAF 中的 IP 集中移除 IP 地址。
参数
| 参数显示名称 | 类型 | 默认值 | 为必填项 | 说明 |
|---|---|---|---|---|
| IP 集名称 | CSV | 是 | 指定以英文逗号分隔的 IP 集名称列表。示例:name_1,name_2 | |
| 范围 | DDL | CloudFront 可能的值:
|
是 | 指定 IP 集的范围。如果选择“两者”,该操作将从 Regional 和 CloudFront 范围内的 IP 集中移除 IP 地址。
|
运行时间
此操作在 IP 实体上运行。
操作执行结果
脚本结果
| 脚本结果名称 | 值选项 |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
案例墙
| 结果类型 | 值/说明 | 类型 |
|---|---|---|
| 输出消息* | 操作不应失败,也不应停止 playbook 执行: 如果成功,并且至少有一个 IP 地址已从一个 IP 集中移除:“Successfully removed the following IPs from the {0} IP Set '{1}' in AWS WAF: \n {2}”。format("区域"/"Cloudfront", full_name, entity.identifier list) 如果 IP 从未存在于该 IP 集中:“以下 IP 不属于 AWS WAF 中的 {0} IP 集‘{1}’:\n {2}”。format("区域"/"Cloudfront", full_name, entity.identifier list) 如果未能从所有 IP 集移除所有实体:“未从提供的 IP 集中移除任何 IP。” 如果未能找到其中一个 IP 集:P“Action wasn't able to find the following '{0}' IP Sets in the AWS WAF:\n {1}”。format(“区域”/“Cloudfront”,在该范围内未找到的 IP 集列表) 如果未能在所需范围内找到所有提供的 IP 集:“操作未找到提供的 IP 集。” 操作应失败并停止 playbook 执行: 如果报告了严重错误、SDK 错误(例如凭据错误、无法连接到服务器等):“Error executing action "Remove IP From IP Set". Reason: {0}''.format(error.Stacktrace) |
常规 |
列出正则表达式模式集
列出 AWS WAF 中可用的正则表达式集。
参数
| 参数显示名称 | 类型 | 默认值 | 为必填项 | 说明 |
|---|---|---|---|---|
| 范围 | DDL | CloudFront 可能的值:
|
指定 IP 集列表的作用域。 | |
| 要返回的正则表达式模式集数上限 | 整数 | 5 | 否 | 指定要返回的正则表达式集的数量。默认值为 5。最大值为 10。
|
运行时间
此操作不会对实体执行。
操作执行结果
脚本结果
| 脚本结果名称 | 值选项 |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
JSON 结果
[
{
"Name": "example",
"Id": "ID",
"Description": "example",
"LockToken": "7e76581b-f152-4448-aafe-b733a33c8fa2",
"ARN": "arn:aws:wafv2:us-east-1:regional/ipset/example/ID"
}
]
"CloudFront": [
{
"Name": "example",
"Id": "ID",
"Description": "example",
"LockToken": "7e76581b-f152-4448-aafe-b733a33c8fa2",
"ARN": "arn:aws:wafv2:us-east-1:regional/ipset/example/ID"
}
]
案例墙
| 结果类型 | 值/说明 | 类型(实体 \ 常规) |
|---|---|---|
| 输出消息* | 操作不应失败,也不应停止 playbook 执行: 如果成功列出了可用的正则表达式集,并且“Scope”==“Both”:“Successfully listed available Regex Pattern sets in 区域 and Cloudfront scopes.” 如果成功列出了可用的 IP 集,并且“Scope”==“区域”:“Successfully listed available Regex Pattern sets in 区域 scope.” 如果成功列出了可用的 IP 集,并且“Scope”==“Cloudfront”:“Successfully listed available Regex Pattern sets in Cloudfront scope.” 如果没有可用值且“Scope”==“Both”:“No available Regex Pattern sets were found in 区域 and Cloudfront scopes.” 如果没有可用值且“范围”==“区域”:“在区域范围内未找到可用的正则表达式模式集。” 如果没有可用值且“Scope”==“Cloudfront”:“在 Cloudfront 范围内未找到可用的正则表达式模式集。” 操作应失败并停止 playbook 执行: 如果报告了严重错误、SDK 错误(例如凭据错误、无法连接到服务器等),则会显示以下消息:“Error executing action "List Regex Pattern Sets". Reason: {0}''.format(error.Stacktrace) |
常规 |
外壳壁表 (如果“范围”==“区域”或“两者”) |
表名称:Regional Rule Groups 表列:
|
常规 |
外壳壁表 (如果“范围”==“CloudFront”或“两者”) |
表名称:CloudFront 规则组 表列:
|
常规 |
从正则表达式模式集中移除实体
从 AWS WAF 中设置的正则表达式中移除基于实体的字符串模式。
参数
| 参数显示名称 | 类型 | 默认值 | 为必填项 | 说明 |
|---|---|---|---|---|
| 正则表达式模式集名称 | CSV | 是 | 指定以英文逗号分隔的正则表达式集名称列表,例如 name_1,name_2。 |
|
| 范围 | DDL | CloudFront 可能的值:
|
是 | 集合的范围。如果选择“两者”,则该操作会根据 Regional 和 CloudFront 范围内的正则表达式集中的实体移除模式。
|
| 网域格式 | 复选框 | 正确 | 否 | 如果启用,该操作会从网址中检索网域部分,并在正则表达式集中搜索基于这些网址的正则表达式,例如 |
| IP 格式 | 复选框 | 正确 | 否 | 如果启用,该操作会搜索 IP 地址(而非原始值)中的正则表达式,例如 10.0.0.1 会变为 ^(http|https)(:\/\/)(\Q10.0.1\E).*。 |
运行时间
此操作将在以下实体上运行:
- IP 地址
- 网址
操作执行结果
脚本结果
| 脚本结果名称 | 值选项 |
|---|---|
| is_success | is_success=False |
| is_success | is_success=True |
案例墙
| 结果类型 | 值/说明 | 类型(实体 \ 常规) |
|---|---|---|
| 输出消息* | 操作不应失败,也不应停止 playbook 执行: 如果成功且至少有一个实体已从一个 IP 集移除:“Successfully removed the following entity patterns from the {0} Regex Pattern Set '{1}' in AWS WAF: \n {2}”。format(“区域”/“Cloudfront”、full_name、实体模式列表) 如果实体从未存在于该正则表达式模式集中:“在 AWS WAF 的{0}正则表达式模式集‘{1}’中找不到以下模式:\n {2}”。format(“区域”/“Cloudfront”、全名、实体模式列表) 如果未能移除所有 IP 集中的所有实体:“未从提供的正则表达式模式集中移除任何模式。” 如果未能找到其中一个 IP 集:“Action wasn't able to find the following '{0}' Regex Pattern Sets in the AWS WAF:\n {1}”。format(“区域”/“Cloudfront”,在该范围内未找到的 IP 集列表) 如果未能在所需范围内找到所有提供的正则表达式模式集:“操作未找到提供的正则表达式模式集。” 操作应失败并停止 playbook 执行: 如果报告了严重错误、SDK 错误(例如凭据错误、无法连接到服务器等):“执行操作‘从正则表达式模式集中移除实体’时出错。Reason: {0}''.format(error.Stacktrace) |
常规 |
需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。