本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Security Hub 控件适用于 AWS AppSync
这些 Security Hub 控件用于评估 AWS AppSync 服务和资源。
这些控件可能并非全部可用 AWS 区域。有关更多信息,请参阅 按地区划分的控件可用性。
[AppSync.1] AWS AppSync API 缓存应在静态时加密
类别:保护 > 数据保护 > 加密 data-at-rest
严重性:中
资源类型:AWS::AppSync::GraphQLApi
AWS Config 规则:appsync-cache-ct-encryption-at-rest
计划类型:已触发变更
参数:无
此控件检查 AWS AppSync API缓存是否处于静态加密状态。如果API缓存未在静态状态下加密,则控制失败。
静态数据是指存储在持久、非易失性存储介质中的数据,无论存储时长如何。对静态数据进行加密可帮助您保护数据的机密性,降低未经授权的用户访问这些数据的风险。
修复
启用缓存后,您无法更改加密设置 AWS AppSync API。您必须删除缓存,并在启用加密的情况下重新创建该缓存。有关更多信息,请参阅《AWS AppSync 开发人员指南》中的缓存加密。
[AppSync.2] AWS AppSync 应该启用字段级日志记录
相关要求:PCIDSSv4.0.1/10.4.2
类别:识别 > 日志记录
严重性:中
资源类型:AWS::AppSync::GraphQLApi
AWS Config 规则:appsync-logging-enabled
计划类型:已触发变更
参数:
参数 | 描述 | 类型 | 允许的自定义值 | Security Hub 默认值 |
---|---|---|---|---|
|
字段日志记录级别 |
枚举 |
|
|
此控件检查是否 AWS AppSync API已开启字段级日志记录。如果字段解析器日志级别设置为无,则控制失败。除非您提供自定义参数值来指示应启用特定的日志类型,否则如果字段解析器日志级别为 ERROR
或 ALL
,Security Hub 会生成通过的调查发现。
您可以使用日志记录和指标来识别、优化 GraphQL 查询和排除其问题。启用 AWS AppSync GraphQL 的日志记录可帮助您获取有关API请求和响应的详细信息、识别和响应问题以及遵守监管要求。
修复
要开启登录功能 AWS AppSync,请参阅《AWS AppSync 开发者指南》中的设置和配置。
[AppSync.4] 应标记 AWS AppSync Gr APIs aphQL
类别:识别 > 清单 > 标记
严重性:低
资源类型:AWS::AppSync::GraphQLApi
AWS Config 规则:tagged-appsync-graphqlapi
(自定义 Security Hub 规则)
计划类型:已触发变更
参数:
参数 | 描述 | 类型 | 允许的自定义值 | Security Hub 默认值 |
---|---|---|---|---|
requiredTagKeys
|
被评估资源必须包含的非系统标签键列表。标签键区分大小写。 | StringList | 符合 AWS 要求的标签列表 | 无默认值 |
此控件检查 AWS AppSync GraphQL 是否API具有参数中定义的特定键的标签。requiredTagKeys
如果 GraphQL API 没有任何标签键或者参数中没有指定的所有密钥,则控件将失败。requiredTagKeys
如果requiredTagKeys
未提供该参数,则该控件仅检查标签键是否存在,如果 GraphQL API 未使用任何密钥进行标记,则该控件将失败。自动应用并以 aws:
为开头的系统标签会被忽略。
标签是您分配给 AWS 资源的标签,它由密钥和可选值组成。您可以创建标签,按用途、所有者、环境或其他标准对资源进行分类。标签可帮助您识别、组织、搜索和筛选资源。使用标签进行标记还可以帮助您跟踪负责操作和通知的资源所有者。使用标记时,可以实现基于属性的访问控制 (ABAC) 作为一种授权策略,它根据标签定义权限。您可以为IAM实体(用户或角色)和 AWS 资源附加标签。您可以为IAM委托人创建单个ABAC策略或一组单独的策略。您可以将这些ABAC策略设计为允许在委托人的标签与资源标签匹配时进行操作。有关更多信息,请参阅有什么ABAC用 AWS? 在《IAM用户指南》中。
注意
不要在标签中添加个人身份信息 (PII) 或其他机密或敏感信息。许多人都可以访问标签 AWS 服务,包括 AWS Billing。有关更多标记最佳做法,请参阅中的为AWS 资源添加标签。AWS 一般参考
修复
要向 AWS AppSync GraphQL API 添加标签,请参见 TagResource在AWS AppSync API参考资料中。
[AppSync.5] 不应使用密钥 AWS AppSync 对 G APIs raphQL 进行身份验证 API
相关要求: 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 规则:appsync-authorization-check
计划类型:已触发变更
参数:
AllowedAuthorizationTypes
:AWS_LAMBDA, AWS_IAM, OPENID_CONNECT, AMAZON_COGNITO_USER_POOLS
(不可自定义)
此控件检查您的应用程序是否使用API密钥与 AWS AppSync Graph API QL 进行交互。如果使用密钥对 AWS AppSync GraphQL 进行身份验证API,则控制失败。API
API密钥是应用程序中的硬编码值,在您创建未经身份验证的 GraphQL 端点时由 AWS AppSync 服务生成。如果此API密钥被泄露,则您的终端节点很容易受到意外访问。除非您支持可公开访问的应用程序或网站,否则我们不建议使用API密钥进行身份验证。
修复
要为 AWS AppSync GraphQL 设置授权选项API,请参阅AWS AppSync 开发者指南中的授权和身份验证。
[AppSync.6] AWS AppSync API 缓存应在传输过程中进行加密
类别:保护 > 数据保护 > 加密 data-in-transit
严重性:中
资源类型:AWS::AppSync::ApiCache
AWS Config 规则:appsync-cache-ct-encryption-in-transit
计划类型:已触发变更
参数:无
此控件检查 AWS AppSync API缓存是否在传输过程中被加密。如果API缓存传输过程中未加密,则控制失败。
传输中数据是指从一个位置移动到另一个位置的数据,例如在集群中的节点之间或在集群和应用程序之间。数据可能通过互联网或在私有网络内移动。对传输中数据进行加密可降低未经授权的用户侦听网络流量的风险。
修复
启用缓存后,您无法更改加密设置 AWS AppSync API。您必须删除缓存,并在启用加密的情况下重新创建该缓存。有关更多信息,请参阅《AWS AppSync 开发人员指南》中的缓存加密。