View a markdown version of this page

Security Hub 策略语法和示例 - AWS Organizations

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

Security Hub 策略语法和示例

Security Hub 策略遵循标准化 JSON 语法,该语法定义了如何在组织中启用和配置 Security Hub。了解策略结构有助于您根据自己的安全需求创建有效策略。

注意事项

在创建 Security Hub 策略之前,请了解以下有关策略语法的关键点:

  • 策略中必须同时使用enable_in_regionsdisable_in_regions列表,但它们可以为空。

  • 处理有效策略时,disable_in_regions优先于enable_in_regions

  • 除非明确限制,否则子策略可以使用继承运算符修改父策略。

  • ALL_SUPPORTED名称包括当前和将来的区域。

  • 区域名称必须有效且在 Security Hub 中可用。

  • features地图是可选的,仅在商业 AWS 区域( AWS GovCloud (US) Regions 和中国地区以外的区域)可用。它在 AWS GovCloud (US) Regions 或中国地区不可用。

  • 功能中的两个enable_in_regionsdisable_in_regions列表都是必填的,但它们可以为空。

  • 处理有效策略时,disable_in_regions优先enable_in_regions于某项功能,与顶级列表相同。

  • 仅在通过相同有效策略启用 Security Hub 的区域中配置功能。在某个区域中禁用 Security Hub 也会禁用其在该区域中的功能。

  • 既不出现在某项功能的disable_in_regions列表中,enable_in_regions也未出现在某项功能列表中的区域将不受该政策的管理。

  • 如果省略features地图或其中的某个要素,则该要素将不受策略的管理。

基本策略结构

Security Hub 策略使用以下基本结构:

{ "securityhub": { "enable_in_regions": { "@@append": ["ALL_SUPPORTED"], "@@operators_allowed_for_child_policies": ["@@all"] }, "disable_in_regions": { "@@append": [], "@@operators_allowed_for_child_policies": ["@@all"] } } }

Security Hub 策略还可以包括一个可选features地图,用于管理组织中可选的 Security Hub 功能,例如网络扫描。该features地图仅在商业 AWS 区域可用。

{ "securityhub": { "enable_in_regions": { "@@assign": ["ALL_SUPPORTED"], "@@operators_allowed_for_child_policies": ["@@all"] }, "disable_in_regions": { "@@assign": [], "@@operators_allowed_for_child_policies": ["@@all"] }, "features": { "network_scanning": { "enable_in_regions": { "@@assign": ["us-east-1", "us-west-2"], "@@operators_allowed_for_child_policies": ["@@all"] }, "disable_in_regions": { "@@assign": [], "@@operators_allowed_for_child_policies": ["@@all"] } } } } }

策略组件

Security Hub 策略包含以下关键组件:

securityhub

策略设置的顶级容器。

所有 Security Hub 策略均为必填项。

enable_in_regions

应启用 Security Hub 的区域列表。

可以包含特定的区域名称或ALL_SUPPORTED.

必填字段,但可以为空。

使用时ALL_SUPPORTED,包括 future 区域。

disable_in_regions

应禁用 Security Hub 的区域列表。

可以包含特定的区域名称或ALL_SUPPORTED.

必填字段,但可以为空。

enable_in_regions当区域出现在两个列表中时,优先顺序。

继承运算符

@ @assign-覆盖继承的值。

@ @append-为现有值添加新值。

@ @remove-从继承的设置中移除特定值。

features

用于选择加入 Security Hub 功能设置的容器。

可选,仅在商业 AWS 区域可用。

如果省略,则所有功能均不受策略的管理。

每个功能都由其自己的子块配置,例如network_scanning

network_scanning

控制features地图内的网络扫描功能。

可选。如果省略,则网络扫描将不受策略的管理。

包含自己的disable_in_regions列表enable_in_regions和列表。

enable_in_regions(内network_scanning

应启用网络扫描的区域列表。

可以包含特定的区域名称或ALL_SUPPORTED.

必填字段,但可以为空。

使用时ALL_SUPPORTED,包括此政策启用 Security Hub 的所有区域。

只有在该策略同时启用 Security Hub 的区域中才会启用网络扫描。

disable_in_regions(内network_scanning

应禁用网络扫描的区域列表。

可以包含特定的区域名称或ALL_SUPPORTED.

必填字段,但可以为空。

enable_in_regions当区域出现在两个列表中时,优先顺序。

Security Hub 策略示例

以下示例演示了常见的 Security Hub 策略配置。

以下示例在所有当前和未来的区域中启用 Security Hub。通过在enable_in_regions列表ALL_SUPPORTED中使用并留disable_in_regions空,此策略可确保在新区域可用时提供全面的安全保障。

{ "securityhub":{ "enable_in_regions":{ "@@assign":[ "ALL_SUPPORTED" ] }, "disable_in_regions":{ "@@assign":[ ] } } }

此示例在所有区域(包括任何未来的区域)中禁用 Security Hub,因为disable_in_regions列表优先enable_in_regions于。

{ "securityhub":{ "enable_in_regions":{ "@@assign":[ "us-east-1", "us-west-2" ] }, "disable_in_regions":{ "@@assign":[ "ALL_SUPPORTED" ] } } }

以下示例演示了子策略如何使用继承运算符修改父策略的设置。这种方法既能实现精细控制,又能保持策略结构的整体性。子政策向其中添加一个新区域,enable_in_regions并从中删除一个区域disable_in_regions

{ "securityhub":{ "enable_in_regions":{ "@@append":[ "eu-central-1" ] }, "disable_in_regions":{ "@@remove":[ "us-west-2" ] } } }

此示例说明如何在不使用的情况下在多个特定区域中启用 Security Hub ALL_SUPPORTED。这可以精确控制哪些区域启用了 Security Hub,同时使未指定的区域不受策略的管理。

{ "securityhub":{ "enable_in_regions":{ "@@assign":[ "us-east-1", "us-west-2", "eu-west-1", "ap-southeast-1" ] }, "disable_in_regions":{ "@@assign":[ ] } } }

以下示例演示了如何通过在大多数地区启用 Security Hub,同时在特定位置明确禁用 Security Hub 来处理区域合规性要求。该disable_in_regions列表优先,确保无论其他策略设置如何,这些区域的 Security Hub 仍处于禁用状态。

{ "securityhub":{ "enable_in_regions":{ "@@assign":[ "ALL_SUPPORTED" ] }, "disable_in_regions":{ "@@assign":[ "ap-east-1", "me-south-1" ] } } }

以下示例在两个区域中启用 Security Hub,并在这些区域启用网络扫描。该features地图仅在商业 AWS 区域可用。

{ "securityhub":{ "enable_in_regions":{ "@@assign":[ "us-east-1", "us-west-2" ] }, "disable_in_regions":{ "@@assign":[ ] }, "features":{ "network_scanning":{ "enable_in_regions":{ "@@assign":[ "us-east-1", "us-west-2" ] }, "disable_in_regions":{ "@@assign":[ ] } } } } }

此示例在三个区域启用了 Security Hub,但仅在其中两个区域启用了网络扫描。在中eu-west-1,Security Hub 处于启用状态,而网络扫描不受策略管理,因为该区域不在两个功能列表中。

{ "securityhub":{ "enable_in_regions":{ "@@assign":[ "us-east-1", "us-west-2", "eu-west-1" ] }, "disable_in_regions":{ "@@assign":[ ] }, "features":{ "network_scanning":{ "enable_in_regions":{ "@@assign":[ "us-east-1", "us-west-2" ] }, "disable_in_regions":{ "@@assign":[ ] } } } } }

以下示例在中启用网络扫描,us-east-1并在中禁用网络扫描。us-west-2由于优disable_in_regions先,因此us-west-2即使两个列表中都显示了某个区域,网络扫描仍处于禁用状态。

{ "securityhub":{ "enable_in_regions":{ "@@assign":[ "us-east-1", "us-west-2" ] }, "disable_in_regions":{ "@@assign":[ ] }, "features":{ "network_scanning":{ "enable_in_regions":{ "@@assign":[ "us-east-1" ] }, "disable_in_regions":{ "@@assign":[ "us-west-2" ] } } } } }

由于disable_in_regions列表优先,此示例在所有当前和将来的区域中都启用 Security Hub,同时在所有区域中禁用网络扫描。

{ "securityhub":{ "enable_in_regions":{ "@@assign":[ "ALL_SUPPORTED" ] }, "disable_in_regions":{ "@@assign":[ ] }, "features":{ "network_scanning":{ "enable_in_regions":{ "@@assign":[ ] }, "disable_in_regions":{ "@@assign":[ "ALL_SUPPORTED" ] } } } } }

此示例在所有当前和未来的区域中启用 Security Hub,并使用空功能列表使网络扫描不受策略的管理。这与省略features地图的效果相同。

{ "securityhub":{ "enable_in_regions":{ "@@assign":[ "ALL_SUPPORTED" ] }, "disable_in_regions":{ "@@assign":[ ] }, "features":{ "network_scanning":{ "enable_in_regions":{ "@@assign":[ ] }, "disable_in_regions":{ "@@assign":[ ] } } } } }

以下示例演示子策略如何使用继承运算符扩展父策略的网络扫描区域。子策略使用将区域添加到继承enable_in_regions列表中@@append,就像继承在顶级 Region 列表上起作用一样。

{ "securityhub":{ "features":{ "network_scanning":{ "enable_in_regions":{ "@@append":[ "us-west-2" ] } } } } }