

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

# Secrets Manager 的 Security Hub CSPM 控件
<a name="secretsmanager-controls"></a>

这些 AWS Security Hub CSPM 控制措施评估 AWS Secrets Manager 服务和资源。

这些控件可能并非全部可用 AWS 区域。有关更多信息，请参阅 [按地区划分的控件可用性](securityhub-regions.md#securityhub-regions-control-support)。

## [SecretsManager.1] Secrets Manager 密钥应启用自动轮换
<a name="secretsmanager-1"></a>

**相关要求：** NIST.800-53.r5 AC-2(1)、 NIST.800-53.r5 AC-3 (15)、PCI DSS v4.0.1/8.6.3、PCI DSS v4.0.1/8.3.9

**类别：**保护 > 安全开发

**严重性：**中

**资源类型：**`AWS::SecretsManager::Secret`

**AWS Config 规则：**[https://docs.aws.amazon.com/config/latest/developerguide/secretsmanager-rotation-enabled-check.html](https://docs.aws.amazon.com/config/latest/developerguide/secretsmanager-rotation-enabled-check.html)

**计划类型：**已触发变更

**参数：**


| 参数 | 说明 | Type | 允许的自定义值 | Security Hub CSPM 默认值 | 
| --- | --- | --- | --- | --- | 
|  `maximumAllowedRotationFrequency`  |  密钥轮换频率的最大允许天数（以天为单位）。  |  整数  |  `1` 到 `365`  |  无默认值  | 

此控件检查存储在中的密钥 AWS Secrets Manager 是否配置了自动轮换。如果密钥未配置自动轮换，则控制失败。如果您为 `maximumAllowedRotationFrequency` 参数提供自定义值，则仅当密钥在指定的时间窗口内自动轮换时，控制才会通过。

Screts Manager 可帮助您改善组织的安全状况。密钥包括数据库凭证、密码和第三方 API 密钥。您可以使用 Secrets Manager 集中存储机密、自动加密机密、控制对机密的访问以及安全自动轮换机密。

Secrets Manager 可以轮换密钥。您可以使用轮换将长期密钥替换为短期机密。轮换密钥会限制未经授权的用户使用泄露密钥的时间。因此，您应该经常轮换机密。要了解有关轮换的更多信息，请参阅《*AWS Secrets Manager 用户指南》*[中的轮换 AWS Secrets Manager 密钥](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html)。

### 修复
<a name="secretsmanager-1-remediation"></a>

要启用 Secrets Manager 密钥的[自动轮换，请参阅《*AWS Secrets Manager 用户指南》*中的使用控制台为 AWS Secrets Manager 密钥设置自动轮换](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_turn-on-for-other.html)。必须选择和配置轮换 AWS Lambda 函数。

## [SecretsManager.2] 配置了自动轮换功能的 Secrets Manager 密钥应成功轮换
<a name="secretsmanager-2"></a>

**相关要求：** NIST.800-53.r5 AC-2(1)、 NIST.800-53.r5 AC-3 (15)、PCI DSS v4.0.1/8.6.3、PCI DSS v4.0.1/8.3.9

**类别：**保护 > 安全开发

**严重性：**中

**资源类型：**`AWS::SecretsManager::Secret`

**AWS Config 规则：**[https://docs.aws.amazon.com/config/latest/developerguide/secretsmanager-scheduled-rotation-success-check.html](https://docs.aws.amazon.com/config/latest/developerguide/secretsmanager-scheduled-rotation-success-check.html)

**计划类型：**已触发变更

**参数：**无

此控件根据轮换计划检查 AWS Secrets Manager 密钥是否成功轮换。如果 `RotationOccurringAsScheduled` 是 `false`，则控制失败。该控件只评估已开启轮换。

Screts Manager 可帮助您改善组织的安全状况。密钥包括数据库凭证、密码和第三方 API 密钥。您可以使用 Secrets Manager 集中存储机密、自动加密机密、控制对机密的访问以及安全自动轮换机密。

Secrets Manager 可以轮换密钥。您可以使用轮换将长期密钥替换为短期机密。轮换密钥会限制未经授权的用户使用泄露密钥的时间。因此，您应该经常轮换机密。

除了将机密配置为自动轮换之外，您还应确保这些机密根据轮换计划成功轮换。

要了解有关轮换的更多信息，请参阅 *AWS Secrets Manager 用户指南*中的[轮换 AWS Secrets Manager 密钥](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html)。

### 修复
<a name="secretsmanager-2-remediation"></a>

如果自动轮换失败，那么 Secrets Manager 可能遇到了错误配置。要在 Secrets Manager 中轮换密钥，您可以使用 Lambda 函数来定义如何与拥有该密钥的数据库或服务进行交互。

有关诊断和修复与密钥轮换相关的常见错误的帮助，请参阅*AWS Secrets Manager 用户指南*中的[密钥 AWS Secrets Manager 轮换疑难解答](https://docs.aws.amazon.com/secretsmanager/latest/userguide/troubleshoot_rotation.html)。

## [SecretsManager.3] 移除未使用的 Secrets Manager 密钥
<a name="secretsmanager-3"></a>

**相关要求：** NIST.800-53.r5 AC-2(1)、 NIST.800-53.r5 AC-3 (15)

**类别：**保护 > 安全访问管理

**严重性：**中

**资源类型：**`AWS::SecretsManager::Secret`

**AWS Config 规则：**[https://docs.aws.amazon.com/config/latest/developerguide/secretsmanager-secret-unused.html](https://docs.aws.amazon.com/config/latest/developerguide/secretsmanager-secret-unused.html)

**计划类型：**定期

**参数：**


| 参数 | 说明 | Type | 允许的自定义值 | Security Hub CSPM 默认值 | 
| --- | --- | --- | --- | --- | 
|  `unusedForDays`  |  密钥可以保持未使用状态的最大天数  |  整数  |  `1` 到 `365`  |  `90`  | 

此控件检查 AWS Secrets Manager 密钥是否在指定的时间范围内被访问。如果密钥在指定的时间范围之外未使用，则控制失败。除非您为访问期提供自定义参数值，否则 Security Hub CSPM 将使用 90 天的默认值。

删除未使用的机密与轮换机密一样重要。未使用的机密可能会被以前的用户滥用，他们不再需要访问这些机密。此外，随着越来越多的用户访问秘密，有人可能会处理不当并将其泄露给未经授权的实体，这增加了滥用的风险。删除未使用的密钥有助于撤销不再需要的用户的密钥访问权限。它还有助于降低 Secrets Manager 的使用 Secrets Manager 的成本。因此，必须定期删除未使用的密钥。

### 修复
<a name="secretsmanager-3-remediation"></a>

要删除不活跃的 Sec [rets Manager AWS Secrets Manager 密钥，请参阅*AWS Secrets Manager 用户指南*中的删除](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_delete-secret.html)密钥。

## [SecretsManager.4] Secrets Manager 密钥应在指定的天数内轮换
<a name="secretsmanager-4"></a>

**相关要求：** NIST.800-53.r5 AC-2(1)、 NIST.800-53.r5 AC-3 (15)、PCI DSS v4.0.1/8.6.3、PCI DSS v4.0.1/8.3.9

**类别：**保护 > 安全访问管理

**严重性：**中

**资源类型：**`AWS::SecretsManager::Secret`

**AWS Config 规则：**[https://docs.aws.amazon.com/config/latest/developerguide/secretsmanager-secret-periodic-rotation.html](https://docs.aws.amazon.com/config/latest/developerguide/secretsmanager-secret-periodic-rotation.html)

**计划类型：**定期

**参数：**


| 参数 | 说明 | Type | 允许的自定义值 | Security Hub CSPM 默认值 | 
| --- | --- | --- | --- | --- | 
|  `maxDaysSinceRotation`  |  密钥可以保持不变的最大天数  |  整数  |  `1` 到 `180`  |  `90`  | 

此控件检查 AWS Secrets Manager 密钥是否在指定的时间范围内至少轮换一次。如果密钥未达到该轮换频率，则控制失败。除非您为轮换期提供自定义参数值，否则 Security Hub CSPM 将使用 90 天的默认值。

轮换密钥可以帮助您降低未经授权在 AWS 账户中使用密钥的风险。示例包括数据库凭证、密码、第三方 API 密钥，甚至任意文本。如果您长时间不更改密钥，则密钥更有可能被泄露。

随着越来越多的用户访问密钥，有人处理不当并将其泄露给未经授权的实体的可能性就变得更大。密钥可能会通过日志和缓存数据泄露出去。密钥可能会共享用于调试目的，但在调试完成后未更改或撤销。出于所有这些原因，密钥应该频繁地轮换。

您可以在 AWS Secrets Manager中为密钥配置自动轮换。通过自动轮换，您可以用短期密钥替换长期密钥，从而显着降低泄露风险。我们建议您为 Secrets Manager 密钥配置自动轮换。有关更多信息，请参阅 *AWS Secrets Manager 用户指南*中的[轮换 AWS Secrets Manager 密钥](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html)。

### 修复
<a name="secretsmanager-4-remediation"></a>

要启用 Secrets Manager 密钥的[自动轮换，请参阅《*AWS Secrets Manager 用户指南》*中的使用控制台为 AWS Secrets Manager 密钥设置自动轮换](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_turn-on-for-other.html)。必须选择和配置轮换 AWS Lambda 函数。

## [SecretsManager.5] 应标记 Secrets Manager 机密
<a name="secretsmanager-5"></a>

**类别：**识别 > 清单 > 标记

**严重性：**低

**资源类型：**`AWS::SecretsManager::Secret`

**AWS Config 规则:**`tagged-secretsmanager-secret`（自定义 Security Hub CSPM 规则）

**计划类型：**已触发变更

**参数：**


| 参数 | 说明 | Type | 允许的自定义值 | Security Hub CSPM 默认值 | 
| --- | --- | --- | --- | --- | 
|  requiredTagKeys  | 被评估资源必须包含的非系统标签键列表。标签密钥区分大小写。 | StringList （最多 6 件商品）  | 1-6 个符合 [AWS 要求](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-conventions)的标签键。 |  No default value  | 

此控件检查 AWS Secrets Manager 密钥是否具有参数中定义的特定密钥的标签`requiredTagKeys`。如果密钥没有任何标签键或未在 `requiredTagKeys` 参数中指定所有键，则此控件将失败。如果未提供 `requiredTagKeys` 参数，则此控件仅检查是否存在标签键，如果该密钥未使用任何键进行标记，则此控件将失败。自动应用并以 `aws:` 为开头的系统标签会被忽略。

标签是您分配给 AWS 资源的标签，它由密钥和可选值组成。您可以创建标签，以按用途、所有者、环境或其他标准对资源进行分类。标签可帮助您识别、组织、搜索和筛选资源。使用标签进行标记还可以帮助您跟踪负责操作和通知的资源所有者。使用标签进行标记时，可以将基于属性的访问权限控制（ABAC）作为授权策略实施，该策略根据标签来定义权限。您可以向 IAM 实体（用户或角色）和 AWS 资源附加标签。您可以为 IAM 主体创建单个 ABAC 策略或者一组单独的策略。您可以将这些 ABAC 策略设计为允许在主体的标签与资源标签匹配时进行操作。有关更多信息，请参阅 [ABAC 有什么用 AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)？ 在 *IAM 用户指南*中。

**注意**  
请勿在标签中添加个人身份信息（PII）或者其他机密或敏感信息。许多人都可以访问标签 AWS 服务，包括 AWS Billing。有关更多标记最佳做法，请参阅中的为[AWS 资源添加标签](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-best-practices)。*AWS 一般参考*

### 修复
<a name="secretsmanager-5-remediation"></a>

要向 Secrets Manager 密钥添加[标签，请参阅*AWS Secrets Manager 用户指南*中的标签 AWS Secrets Manager 密](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets_tagging.html)钥。