

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

# Security Hub CSPM 控件适用于 AWS AppSync
<a name="appsync-controls"></a>

这些 Security Hub CSPM 控件用于评估 AWS AppSync 服务和资源。

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

## [AppSync.1] 应 AWS AppSync 对 API 缓存进行静态加密
<a name="appsync-1"></a>

**重要**  
Security Hub CSPM 于 2026 年 3 月 9 日取消了该控制权。有关更多信息，请参阅[Security Hub CSPM 控件的更改日志](controls-change-log.md)。 AWS AppSync 现在为所有当前和未来的 API 缓存提供默认加密。

**类别：**保护 > 数据保护 > 加密 data-at-rest

**严重性：**中

**资源类型：**`AWS::AppSync::GraphQLApi`

**AWS Config 规则：**[https://docs.aws.amazon.com/config/latest/developerguide/appsync-cache-ct-encryption-at-rest.html](https://docs.aws.amazon.com/config/latest/developerguide/appsync-cache-ct-encryption-at-rest.html)

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

**参数：**无

此控件检查 AWS AppSync API 缓存是否处于静态加密状态。如果未静态加密 API 缓存，则此控件会失败。

静态数据是指存储在持久、非易失性存储介质中的数据，无论存储时长如何。对静态数据进行加密可帮助您保护数据的机密性，降低未经授权的用户访问这些数据的风险。

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

为 AWS AppSync API 启用缓存后，您无法更改加密设置。您必须删除缓存，并在启用加密的情况下重新创建该缓存。有关更多信息，请参阅《AWS AppSync 开发人员指南》**中的[缓存加密](https://docs.aws.amazon.com/appsync/latest/devguide/enabling-caching.html#caching-encryption)。

## [AppSync.2] AWS AppSync 应该启用字段级日志记录
<a name="appsync-2"></a>

**相关要求：**PCI DSS v4.0.1/10.4.2

**类别：**识别 > 日志记录

**严重性：**中

**资源类型：**`AWS::AppSync::GraphQLApi`

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

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

**参数：**


| 参数 | 说明 | Type | 允许的自定义值 | Security Hub CSPM 默认值 | 
| --- | --- | --- | --- | --- | 
|  `fieldLoggingLevel`  |  字段日志记录级别  |  枚举  |  `ERROR`, `ALL`, `INFO`, `DEBUG`  |  `No default value`  | 

此控件检查 AWS AppSync API 是否开启了字段级日志记录。如果字段解析器日志级别设置为**无**，则控制失败。除非您提供自定义参数值来指示应启用特定的日志类型，否则如果字段解析器日志级别为或，Security Hub CSPM 会生成一个通过的结果。`ERROR` `ALL`

您可以使用日志记录和指标来识别、优化 GraphQL 查询和排除其问题。启用 AWS AppSync GraphQL 的日志记录功能可帮助您获取有关 API 请求和响应的详细信息、识别和响应问题以及遵守监管要求。

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

要开启登录功能 AWS AppSync，请参阅《*AWS AppSync 开发者指南》*中的[设置和配置](https://docs.aws.amazon.com/appsync/latest/devguide/monitoring.html#setup-and-configuration)。

## [AppSync.4] 应标记 AWS AppSync Gr APIs aphQL
<a name="appsync-4"></a>

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

**严重性：**低

**资源类型：**`AWS::AppSync::GraphQLApi`

**AWS Config 规则:**`tagged-appsync-graphqlapi`（自定义 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)的标签键。 | 无默认值  | 

此控件检查 AWS AppSync GraphQL API 是否具有参数中定义的特定密钥的标签。`requiredTagKeys`如果 GraphQL API 没有任何标签键或未在参数 `requiredTagKeys` 中指定所有键，则此控件会失败。如果未提供参数 `requiredTagKeys`，则此控件仅会检查是否存在标签键，如果 GraphQL API 未使用任何键进行标记，则此控件会失败。自动应用并以 `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="appsync-4-remediation"></a>

要向 AWS AppSync GraphQL API 添加标签，请参阅 AP *AWS AppSync I* 参考[https://docs.aws.amazon.com/appsync/latest/APIReference/API_TagResource.html](https://docs.aws.amazon.com/appsync/latest/APIReference/API_TagResource.html)中的。

## [AppSync.5] 不应使用 API AWS AppSync 密 APIs 钥对 GraphQL 进行身份验证
<a name="appsync-5"></a>

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

**类别：**保护 > 安全访问管理 > 无密码身份验证

**严重性：**高

**资源类型：**`AWS::AppSync::GraphQLApi`

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

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

**参数：**
+ `AllowedAuthorizationTypes`：` AWS_LAMBDA, AWS_IAM, OPENID_CONNECT, AMAZON_COGNITO_USER_POOLS`（不可自定义）

此控件可检查您的应用程序是否使用 API 密钥与 AWS AppSync GraphQL API 进行交互。如果使用 API 密钥对 AWS AppSync GraphQL API 进行了身份验证，则控制失败。

API 密钥是应用程序中的硬编码值，在您创建未经身份验证的 GraphQL 端点时由 AWS AppSync 服务生成。如果此 API 密钥遭到泄露，您的端点很容易受到意外访问。除非您支持可公开访问的应用程序或网站，否则我们不建议使用 API 密钥进行身份验证。

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

要为您的 AWS AppSync GraphQL API 设置授权选项，请参阅*AWS AppSync 开发者*指南中的[授权和身份验证](https://docs.aws.amazon.com/appsync/latest/devguide/security-authz.html)。

## [AppSync.6] AWS AppSync API 缓存应在传输过程中进行加密
<a name="appsync-6"></a>

**重要**  
Security Hub CSPM 于 2026 年 3 月 9 日取消了该控制权。有关更多信息，请参阅[Security Hub CSPM 控件的更改日志](controls-change-log.md)。 AWS AppSync 现在为所有当前和未来的 API 缓存提供默认加密。

**类别：**保护 > 数据保护 > 加密 data-in-transit

**严重性：**中

**资源类型：**`AWS::AppSync::ApiCache`

**AWS Config 规则：**[https://docs.aws.amazon.com/config/latest/developerguide/appsync-cache-ct-encryption-in-transit.html](https://docs.aws.amazon.com/config/latest/developerguide/appsync-cache-ct-encryption-in-transit.html)

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

**参数：**无

此控件检查 AWS AppSync API 缓存是否在传输过程中被加密。如果未在传输过程中加密 API 缓存，则此控件会失败。

传输中数据是指从一个位置移动到另一个位置的数据，例如在集群中的节点之间或在集群和应用程序之间。数据可能通过互联网或在私有网络内移动。对传输中数据进行加密可降低未经授权的用户侦听网络流量的风险。

### 修复
<a name="appsync-6-remediation"></a>

为 AWS AppSync API 启用缓存后，您无法更改加密设置。您必须删除缓存，并在启用加密的情况下重新创建该缓存。有关更多信息，请参阅《AWS AppSync 开发人员指南》**中的[缓存加密](https://docs.aws.amazon.com/appsync/latest/devguide/enabling-caching.html#caching-encryption)。