

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

# 自定义控件参数值
<a name="customize-control-parameters"></a>

根据您是否在 Sec Amazon urity Hub CSPM [中使用中央配置](central-configuration-intro.md)，自定义控制参数的说明会有所不同。中央配置是一项功能，委派的 Security Hub CSPM 管理员可以使用它来跨 Amazon Web Services 区域账户和组织单位配置 Security Hub CSPM 功能（）。OUs

如果您的组织使用中心配置，则委派管理员可以创建包含自定义控制参数的配置策略。这些政策可以与集中管理的成员账户相关联 OUs，并在您所在的地区和所有关联的地区生效。委派管理员还可以将一个或多个账户指定为自行管理，这允许账户所有者在每个区域中单独配置自己的参数。如果您的组织不使用中心配置，则必须在每个账户和区域中分别自定义控制参数。

我们建议使用中心配置，因为它允许您在组织的不同部门之间调整控制参数值。例如，您的所有测试账户都可能使用特定的参数值，而所有生产账户使用的可能是不同的值。

## 自定义多个账户和区域中的控件参数
<a name="customize-control-parameters-central-config"></a>

如果您是使用中心配置的组织的 Security Hub CSPM 委派管理员，请选择您喜欢的方法，然后按照步骤自定义多个账户和区域的控件参数。

------
#### [ Security Hub CSPM console ]

**自定义多个账户和区域中的控件参数值（控制台）**

1. 打开 S Amazon ecurity Hub CSPM 控制台，网址为。[https://console.aws.amazon.com/securityhub/](https://console.amazonaws.cn/securityhub/)

   确保您已登录到主区域。

1. 在导航窗格中，选择**设置**和**配置**。

1. 选择**策略**选项卡。

1. 要创建包含自定义参数的新配置策略，请选择**创建策略**。要在现有配置策略中指定自定义参数，请选择策略，然后选择**编辑**。

   **创建具有自定义控件参数值的新的配置策略**

   1. 在**自定义策略**部分，选择要启用的安全标准和控件。

   1. 选择**自定义控制参数**。

   1. 选择一个控件，然后为一个或多个参数指定自定义值。

   1. 要自定义更多控件的参数，请选择**自定义其他控件**。

   1. 在**账户**部分，选择要应用策略的账户或 OUs 账户。

   1. 选择**下一步**。

   1. 选择**创建策略并应用**。在您的主区域和所有关联区域中，此操作将覆盖与 OUs 该配置策略关联的账户的现有配置设置。账户和 OUs 可以通过直接应用或从父级继承来与配置策略相关联。

   **自定义现有配置策略中的控件参数值**

   1. 在**控制**部分的**自定义策略**下，指定所需的新自定义参数值。

   1. 如果这是您第一次自定义此策略中的控制参数，请选择**自定义控制参数**，然后选择要自定义的控件。要自定义更多控件的参数，请选择**自定义其他控件**。

   1. 在 “**帐户**” 部分中，验证要应用策略的账户或 OUs 账户。

   1. 选择**下一步**。

   1. 再次检查您的更改，确认正确无误。完成后，选择**保存策略并应用**。在您的主区域和所有关联区域中，此操作将覆盖与 OUs 该配置策略关联的账户的现有配置设置。账户和 OUs 可以通过直接应用或从父级继承来与配置策略相关联。

------
#### [ Security Hub CSPM API ]

**自定义多个账户和区域中的控件参数值（API）**

**创建具有自定义控件参数值的新的配置策略**

1. 从主区域的委派管理员账户调用 [CreateConfigurationPolicy](https://docs.amazonaws.cn//securityhub/1.0/APIReference/API_CreateConfigurationPolicy.html) API。

1. 对于 `SecurityControlCustomParameters` 对象，请提供要自定义的每个控件的标识符。

1. 对于 `Parameters` 对象，请提供要自定义的每个参数的名称。对于您自定义的每个参数，请提供 `CUSTOM` 作为 `ValueType` 的值。对于 `Value`，请提供参数的数据类型和自定义值。当 `ValueType` 的值为 `CUSTOM` 时，该 `Value` 字段不能为空。如果您的请求省略了控件支持的参数，则该参数将保留其当前值。通过调用 [GetSecurityControlDefinition](https://docs.amazonaws.cn//securityhub/1.0/APIReference/API_GetSecurityControlDefinition.html) API，您可以找到控件支持的参数、数据类型和有效值。

**自定义现有配置策略中的控件参数值**

1. 从主区域的委派管理员账户调用 [UpdateConfigurationPolicy](https://docs.amazonaws.cn/securityhub/1.0/APIReference/API_UpdateConfigurationPolicy.html) API。

1. 对于 `Identifier` 字段，提供要更新配置策略的 Amazon 资源名称（ARN）或 ID。

1. 对于 `SecurityControlCustomParameters` 对象，请提供要自定义的每个控件的标识符。

1. 对于 `Parameters` 对象，请提供要自定义的每个参数的名称。对于您自定义的每个参数，请提供 `CUSTOM` 作为 `ValueType` 的值。对于 `Value`，请提供参数的数据类型和自定义值。如果您的请求省略了控件支持的参数，则该参数将保留其当前值。通过调用 [GetSecurityControlDefinition](https://docs.amazonaws.cn//securityhub/1.0/APIReference/API_GetSecurityControlDefinition.html) API，您可以找到控件支持的参数、数据类型和有效值。

例如，以下 Amazon CLI 命令使用`daysToExpiration`参数的自定义值创建新的配置策略`ACM.1`。此示例是针对 Linux、macOS 或 Unix 进行格式化的，它使用反斜杠（\\）行继续符来提高可读性。

```
$ aws securityhub create-configuration-policy \
--region {{us-east-1}} \
--name {{"SampleConfigurationPolicy"}} \
--description {{"Configuration policy for production accounts"}} \
--configuration-policy '{"SecurityHub": {"ServiceEnabled": {{true}}, "EnabledStandardIdentifiers": [{{"arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0","arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0"}}],"SecurityControlsConfiguration":{"DisabledSecurityControlIdentifiers": [{{"CloudTrail.2"}}], "SecurityControlCustomParameters": [{"SecurityControlId": {{"ACM.1"}}, "Parameters": {"daysToExpiration": {"ValueType": {{"CUSTOM"}}, "Value": "Integer": {{15}}}}}]}}}'
```

------

## 在单个账户和区域中自定义控制参数
<a name="customize-control-parameters-local-config"></a>

如果您不使用中心配置，或拥有自行管理账户，则仅可以一次在一个区域内为账户自定义控件参数。

选择您的首选方法，然后按照步骤自定义控制参数。您的更改仅适用于当前区域中的账户。要自定义其他区域中的控制参数，请在要自定义参数的每个其他账户和区域中重复以下步骤。同一个控件可以在不同的区域中使用不同的参数值。

------
#### [ Security Hub CSPM console ]

**自定义一个账户和区域中的控件参数值（控制台）**

1. 打开 S Amazon ecurity Hub CSPM 控制台，网址为。[https://console.aws.amazon.com/securityhub/](https://console.amazonaws.cn/securityhub/)

1. 在导航窗格中，选择**控件**。在表中，选择支持自定义参数且想要更改其参数的控件。**自定义参数**列指示哪些控件支持自定义参数。

1. 在控件的详细信息页面上，选择**参数**选项卡，然后选择**编辑**。

1. 指定所需的参数值。

1. 或者，在**更改原因**部分中，选择自定义参数的原因。

1. 选择**保存**。

------
#### [ Security Hub CSPM API ]

**在一个账户和区域中自定义控件参数值（API）**

1. 调用 [UpdateSecurityControl](https://docs.amazonaws.cn//securityhub/1.0/APIReference/API_UpdateSecurityControl.html) API。

1. 对于 `SecurityControlId`，请提供要自定义的控件的 ID。

1. 对于 `Parameters` 对象，请提供要自定义的每个参数的名称。对于您自定义的每个参数，请提供 `CUSTOM` 作为 `ValueType` 的值。对于 `Value`，请提供参数的数据类型和自定义值。如果您的请求省略了控件支持的参数，则该参数将保留其当前值。通过调用 [GetSecurityControlDefinition](https://docs.amazonaws.cn//securityhub/1.0/APIReference/API_GetSecurityControlDefinition.html) API，您可以找到控件支持的参数、数据类型和有效值。

1. （可选）对于 `LastUpdateReason`，提供自定义控制参数的理由。

例如，以下 Amazon CLI 命令为的`daysToExpiration`参数定义了自定义值`ACM.1`。此示例是针对 Linux、macOS 或 Unix 进行格式化的，它使用反斜杠（\\）行继续符来提高可读性。

```
$ aws securityhub update-security-control \
--region {{us-east-1}} \
--security-control-id {{ACM.1}} \
--parameters '{"daysToExpiration": {"ValueType": {{"CUSTOM"}}, "Value": {{{"Integer": 15}}}}}' \
--last-update-reason {{"Internal compliance requirement"}}
```

------