

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

# Security Hub 策略
<a name="orgs_manage_policies_security_hub"></a>

AWS Security Hub 策略为安全团队提供了一种集中式方法来管理其中的安全配置 AWS Organizations。利用这些策略，您可以通过集中配置机制建立和维护一致的安全控制措施。通过这种集成，您可以通过创建符合组织安全要求的策略并将其集中应用于各个账户和组织部门（OUs）来解决安全覆盖范围的漏洞。

Security Hub 策略与完全集成 AWS Organizations，允许管理账户或受托管理员定义和强制执行安全配置。当有账户加入您的组织时，它们会根据其在组织层次结构中的位置自动继承适用的策略。这样可以确保在组织不断发展的过程中，您的安全标准得到始终一致的应用。这些策略尊重现有的组织结构，灵活地分配安全配置，同时保持对关键安全设置的集中控制。

## 主要功能和优势
<a name="security-hub-policies-features"></a>

Security Hub 策略提供了一套全面的功能，可帮助您在整个 AWS 组织中管理和实施安全配置。这些功能简化了安全管理，同时确保对多账户环境实施一致的控制。
+ 在组织中跨账户和区域集中[启用 Security Hub](https://docs.aws.amazon.com/securityhub/latest/userguide/security-hub-adv-getting-started-enable.html#security-hub-adv-getting-started-enable-org-account)
+ 创建安全策略来定义您的跨账户的安全配置 OUs
+ 新账户加入组织时，会自动应用安全配置
+ 确保整个组织内安全设置的一致性
+ 防止成员账户修改组织级别的安全配置

## 什么是 Security Hub 策略？
<a name="security-hub-policies-what-are"></a>

Security Hub AWS Organizations 策略是对组织账户中的安全配置进行集中控制的策略。这些策略与 AWS Organizations 无缝协作，帮助您在多账户环境中建立和维护一致的安全标准。

在实施 Security Hub 策略时，您能够定义可在整个组织中自动传播的特定安全配置。这样可以确保所有账户（包括新创建的账户）都符合组织的安全要求和最佳实践。

这些策略还能够强制执行一致的安全控制措施并防止个人账户修改组织级别的安全设置，从而帮助您保持合规性。这种集中式方法大大减少了在大型复杂 AWS 环境中管理安全配置的管理开销。

## Security Hub 策略的工作原理
<a name="security-hub-policies-how-works"></a>

当您将 Security Hub 策略附加到组织或组织单元时， AWS Organizations 会自动评估该策略并根据您定义的范围进行应用。策略执行过程遵循特定的冲突解决规则：

区域同时出现在启用和禁用列表中时，禁用配置优先。例如，如果启用配置和禁用配置中都列出了某个区域，则该区域的 Security Hub 将被禁用。

如果启用时指定了 `ALL_SUPPORTED`，则除非明确禁用，否则将在所有当前和未来区域中启用 Security Hub。这使您能够在 AWS 扩展到新区域时保持全面的安全保障。

子策略可以使用继承运算符修改父策略设置，从而允许在不同的组织级别实现精细控制。这种分层方法可确保特定的组织单元在保持基准控制的同时，可以自定义其安全设置。

## 术语
<a name="security-hub-policies-terminology"></a>

本主题在讨论 Security Hub 策略时将使用以下术语。


**Security Hub 策略术语**  

| 租期 | 定义 | 
| --- | --- | 
| 有效策略 | 合并所有继承的策略后，应用于某个账户的最终策略。 | 
| 策略继承 | 账户从父级组织单元继承策略的过程。 | 
| 委派管理员 | 指定代表组织来管理 Security Hub 策略的账户。 | 
| 服务相关角色 | 允许 Security Hub 与其他 AWS 服务进行交互的 IAM 角色。 | 

## Security Hub 策略的使用案例
<a name="security-hub-policies-use-cases"></a>

Security Hub 策略解决了多账户环境中常见的安全管理挑战。以下使用案例演示了组织通常如何实施这些策略来增强其安全状况。

### 示例使用案例：区域合规性要求
<a name="security-hub-policies-use-case-1"></a>

一家跨国公司需要针对不同的地理区域使用不同的 Security Hub 配置。他们使用 `ALL_SUPPORTED` 创建了一个在所有区域中启用 Security Hub 的父策略，然后使用子策略禁用需要不同安全控制的特定区域。这样，他们既能够遵守地区法规，又能确保全面的安全覆盖范围。

### 示例使用案例：开发团队安全标准
<a name="security-hub-policies-use-case-2"></a>

一个软件开发组织实施了 Security Hub 策略，允许在生产区域中进行监控，同时保持开发区域不受管理。他们在策略中使用明确的区域列表而不是 `ALL_SUPPORTED`，以精确控制安全监控的覆盖范围。使用这种方法，他们能够在生产环境中实施更严格的安全控制，同时保持开发领域具有灵活性。

## 策略继承和强制执行
<a name="security-hub-policies-inheritance"></a>

了解策略的继承和执行方式对于在整个组织中实现有效的安全管理至关重要。继承模型遵循 AWS Organizations 层次结构，确保策略应用的可预测性和一致性。
+ 在根级别附加的策略适用于所有账户
+ 账户从其父级组织单元继承策略
+ 多个策略可应用于单个账户
+ 更具体的策略（层次结构中更接近账户的策略）优先级更高

## 策略验证
<a name="security-hub-policies-validation"></a>

创建 Security Hub 策略时，需要进行以下验证：
+ 区域名称必须是有效的 AWS 区域标识符
+ 区域必须受 Security Hub 支持
+ 策略结构必须遵循 AWS Organizations 策略语法规则
+ 必须同时存在 `enable_in_regions` 和 `disable_in_regions` 列表，但这两个列表都可以为空

## 区域注意事项和支持的区域
<a name="security-hub-policies-regions"></a>

Security Hub 策略跨多个区域运行，因此需要仔细考虑您的全局安全需求。了解区域行为有助于您在组织的全局范围内实施有效的安全控制。
+ 策略在每个区域内独立执行
+ 您可以指定在策略中包括或排除哪些区域
+ 使用 `ALL_SUPPORTED` 选项时，新区域将自动包含在内
+ 政策仅适用于 Security Hub 可用的区域

## 后续步骤
<a name="security-hub-policies-next-steps"></a>

要开始使用 Security Hub 策略，请执行以下操作：

1. 查看“Security Hub 策略入门”中的先决条件

1. 使用我们的最佳实践指南规划您的策略

1. 了解策略语法并查看示例策略

# Security Hub 策略入门
<a name="orgs_manage_policies_security_hub_getting_started"></a>

在配置 Security Hub 策略之前，请确保您了解先决条件和实施要求。本主题将指导您完成在组织中设置和管理这些策略的过程。

## 开始前的准备工作
<a name="security_hub_getting_started-before-begin"></a>

在实施 Security Hub 策略之前，请查看以下要求：
+ 您的账户必须是 AWS Organizations 组织的一部分
+ 您必须使用以下任一身份登录：
  + 组织的管理账户
  + 具有管理 Security Hub 策略权限的委派管理员账户
+ 您必须为组织中的 Security Hub 启用可信访问权限
+ 您必须在组织根中启用 Security Hub 策略类型

此外，请确认：
+ 您想要应用策略的区域支持 Security Hub
+ 您的管理账户中已配置 `AWSServiceRoleForSecurityHubV2` 服务关联角色。要验证此角色是否存在，请运行 `aws iam get-role --role-name AWSServiceRoleForSecurityHubV2`。如果需要创建此角色，可以从您的管理账户在任何区域运行 `aws securityhub enable-security-hub-v2`，也可以通过运行 `aws iam create-service-linked-role --aws-service-name securityhubv2.amazonaws.com` 直接创建。

## 实现步骤
<a name="security_hub_getting_started-implementation"></a>

要有效地实施 Security Hub 策略，请按顺序执行以下步骤。每个步骤都可确保配置正确，并有助于在设置过程中避免常见问题。管理账户或授权管理员可以通过 AWS Organizations 控制台、 AWS 命令行界面 (AWS CLI) 或执行这些步骤 AWS SDKs。

1. [启用 Security Hub 的可信访问权限](orgs_integrate_services.md#orgs_how-to-enable-disable-trusted-access)。

1. [为组织启用 Security Hub 策略](enable-policy-type.md)。

1. [创建 Security Hub 策略](orgs_policies_create.md#create-security-hub-policy-procedure)。

1. [将 Security Hub 策略附加到组织的根、OU 或账户](orgs_policies_attach.md)。

1. [查看应用于账户的合并有效 Security Hub 策略](orgs_manage_policies_effective.md)。

在所有这些步骤中，您可以以 AWS Identity and Access Management (IAM) 用户身份登录、担任 IAM 角色或以根用户身份登录（[不推荐](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#lock-away-credentials)）在组织的管理账户中登录。

**其他信息**
+ [了解 Security Hub 策略的策略语法，并查看策略示例](orgs_manage_policies_security_hub_syntax.md)

# 使用 Security Hub 策略的最佳实践
<a name="orgs_manage_policies_security_hub_best_practices"></a>

在整个组织中实施 Security Hub 策略时，遵循既定的最佳实践有助于确保成功部署和维护安全配置。这些指南专门针对了 Security Hub 策略管理和实施的独特方面 AWS Organizations。

## 策略设计原则
<a name="policy-design-principles"></a>

在创建 Security Hub 策略之前，请先确立明确的策略结构原则。保持策略简洁明了，避免使用复杂的交叉属性或嵌套规则，以免难以确定最终结果。首先在组织根级别制定宽泛策略，然后根据需要通过子策略进行细化。

考虑策略性地使用空区域列表。如果您只需要在特定区域禁用 Security Hub，则可以将 `enable_in_regions` 留空，或者将 `disable_in_regions` 留空以使某些区域不受策略管理。这种灵活性有助于您精确控制安全监控的覆盖范围。

## 区域管理策略
<a name="region-management-strategies"></a>

在通过 Security Hub 策略管理区域时，请考虑这些经验证的方法。如果您想要自动将未来区域纳入安全覆盖范围，请使用 `ALL_SUPPORTED`。要进行更精细的控制，请明确列出区域而不是依赖 `ALL_SUPPORTED`，尤其是在不同区域需要不同安全配置的情况下。

记录您的区域特定要求，特别是：
+ 需要特定配置的合规性规定区域
+ 开发环境与生产环境存在差异
+ 有特殊注意事项的选择加入区域
+ 必须禁用 Security Hub 的区域

## 策略继承规划
<a name="policy-inheritance-planning"></a>

仔细规划您的策略继承结构，在保持有效安全控制的同时兼顾必要的灵活性。记录哪些组织单元可以修改继承的策略以及允许进行哪些修改。当您需要强制执行严格的安全控制措施时，可以考虑在父级限制继承运算符（@@assign、@@append、@@remove）。

## 监控和验证
<a name="monitoring-validation"></a>

实施定期监控措施，确保您的策略持续有效。定期审查策略附件，尤其是在组织发生变更之后。验证区域配置是否符合您的预期安全覆盖范围，尤其是在使用 `ALL_SUPPORTED` 或管理多个区域列表时。

## 对策略进行问题排查
<a name="troubleshooting-strategies"></a>

在对 Security Hub 策略进行问题排查时，首先要关注策略优先级和策略继承。请记住，如果区域出现在两个列表中，禁用配置的优先级高于启用配置。检查策略继承链，了解父策略和子策略如何组合起来为每个账户创建有效策略。

# Security Hub 策略语法和示例
<a name="orgs_manage_policies_security_hub_syntax"></a>

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

## 注意事项
<a name="security-hub-policy-considerations"></a>

在创建 Security Hub 策略之前，请了解以下有关策略语法的关键点：
+ 策略中必须同时包含 `enable_in_regions` 和 `disable_in_regions` 列表，但这两个列表都可以为空
+ 处理有效策略时，`disable_in_regions` 优先级高于 `enable_in_regions`
+ 除非明确限制，否则子策略可以使用继承运算符修改父策略
+ `ALL_SUPPORTED` 指定包含当前区域和未来区域
+ 区域名称必须有效且在 Security Hub 中可用

## 基本策略结构
<a name="security-hub-basic-structure"></a>

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"]
    }
  }
}
```

## 策略组件
<a name="security-hub-policy-components"></a>

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

`securityhub`  
策略设置的顶级容器  
所有 Security Hub 策略均必需

`enable_in_regions`  
应启用 Security Hub 的区域列表  
可以包含特定区域名称或 `ALL_SUPPORTED`  
必填字段，但可以为空  
使用 `ALL_SUPPORTED` 时，包含未来区域

`disable_in_regions`  
应禁用 Security Hub 的区域列表  
可以包含特定区域名称或 `ALL_SUPPORTED`  
必填字段，但可以为空  
区域同时出现在两个列表中时，优先级高于 `enable_in_regions`

继承运算符  
@@assign：覆盖继承的值  
@@append：将新值添加到现有值中  
@@remove：从继承的设置中移除特定值

## Security Hub 策略示例
<a name="security-hub-policy-examples"></a>

以下示例演示了常见的 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"
         ]
      }
   }
}
```

此示例说明如何在不使用 `ALL_SUPPORTED` 的情况下，在多个特定区域中启用 Security Hub。这样可以精确控制哪些区域启用了 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"
         ]
      }
   }
}
```