AWS AppSync 控件 - AWS Security Hub

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

AWS AppSync 控件

这些控制措施与 AWS AppSync 资源有关。

这些控件可能并非全部可用 AWS 区域。有关更多信息,请参阅 按地区划分的控件可用性

[AppSync.2] AWS AppSync 应该启用字段级日志记录

类别:识别 > 日志记录

严重性:

资源类型:AWS::AppSync::GraphQLApi

AWS Config 规则:appsync-logging-enabled

计划类型:已触发变更

参数:

参数 描述 类型 允许的自定义值 Security Hub 默认值

fieldLoggingLevel

字段日志记录级别

枚举

ERROR, ALL

No default value

此控件检查是否 AWS AppSync API已开启字段级日志记录。如果字段解析器日志级别设置为,则控制失败。除非您提供自定义参数值来指示应启用特定的日志类型,否则如果字段解析器日志级别为 ERRORALL,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)、.800-53.r5 AC-3、.800-53.r5 AC-3 (15)、NIST .800-53.r5 AC-3 (7)、.800-53.r5 AC-3 (7)、NIST .800-53.r5 AC-6 NIST NIST

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

严重性:

资源类型: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 开发者指南中的授权和身份验证