

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

# 适用于亚马逊 SQS 的 Security Hub CSPM 控件
<a name="sqs-controls"></a>

这些 AWS Security Hub CSPM 控制措施评估亚马逊简单队列服务 (Amazon SQS) Simple Queue Service 服务和资源。这些控件可能并非全部可用 AWS 区域。有关更多信息，请参阅 [按地区划分的控件可用性](securityhub-regions.md#securityhub-regions-control-support)。

## [SQS.1] 应对 Amazon SQS 队列进行静态加密
<a name="sqs-1"></a>

**相关要求：** NIST.800-53.r5 CA-9(1)、 NIST.800-53.r5 CM-3(6), NIST.800-53.r5 SC-1 3、8、 NIST.800-53.r5 SC-2 8 (1)、 NIST.800-53.r5 SC-7 (10)、nist. NIST.800-53.r5 SC-2 800-53.r5 SI-7 (6)

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

**严重性：**中

**资源类型：**`AWS::SQS::Queue`

**AWS Config 规则:**`sqs-queue-encrypted`（自定义 Security Hub CSPM 规则）

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

**参数：**无

此控件检查是否对 Amazon SQS 队列进行了静态加密。如果队列未使用 SQS 托管密钥 (SSE-SQS) 或 () 密钥 (SSE-KMS) 加密， AWS Key Management Service 则控制失败。AWS KMS

对静态数据进行加密可降低未经身份验证的用户访问磁盘上存储的数据的风险。服务器端加密 (SSE) 使用 SQS 托管的加密密钥 (SSE-SQS) 或密钥 (SSE-KMS) 保护 SQS 队列中的消息内容。 AWS KMS 

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

要为 SQS 队列配置 SSE，请参阅《Amazon Simple Queue Service 开发人员指南》**中的[为队列配置服务器端加密（SSE）（控制台）](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sse-existing-queue.html)。

## [SQS.2] 应标记 SQS 队列
<a name="sqs-2"></a>

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

**严重性：**低

**资源类型：**`AWS::SQS::Queue`

**AWS Config 规则:**`tagged-sqs-queue`（自定义 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  | 

此控件可检查 Amazon SQS 队列是否具有特定键的标签，这些键在 `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="sqs-2-remediation"></a>

要使用 Amazon SQS 控制台向现有队列添加标签，请参阅《Amazon Simple Queue Service 开发人员指南》**中的[为 Amazon SQS 队列配置成本分配标签（控制台）](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-tag-queue.html)。

## [SQS.3] SQS 队列访问策略不应允许公开访问
<a name="sqs-3"></a>

**类别：**保护 > 安全访问管理 > 资源不公开访问

**严重性：**严重

**资源类型：**`AWS::SQS::Queue`

**AWS Config 规则：**[https://docs.aws.amazon.com/config/latest/developerguide/sqs-queue-no-public-access.html](https://docs.aws.amazon.com/config/latest/developerguide/sqs-queue-no-public-access.html)

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

**参数：**无

此控件检查 Amazon SQS 访问策略是否允许对 SQS 队列进行公开访问。如果 SQS 访问策略允许对队列进行公开访问，则该控件会失败。

Amazon SQS 访问策略可以允许公开访问 SQS 队列，这可能允许匿名用户或任何经过身份验证的 AWS IAM 身份访问该队列。SQS 访问策略通常通过在策略的`Principal` 元素中指定通配符（`*`）和/或不使用适当的条件限制对队列的访问来提供此访问。如果 SQS 访问策略允许公开访问，则第三方可能能够执行诸如从队列接收消息、向队列发送消息或修改队列的访问策略之类的任务。这可能会导致数据泄露、拒绝服务或威胁参与者向队列注入消息等事件。

**注意**  
此控件不会评估使用通配符或变量的策略条件。要生成 `PASSED` 调查发现，Amazon SQS 队列访问策略中的条件必须仅使用固定值，即不包含通配符或策略变量的值。有关策略变量的信息，请参阅《AWS Identity and Access Management 用户指南》**中的[变量和标签](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html)。

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

有关配置 SQS 队列的 SQS 访问策略的信息，请参阅《Amazon Simple Queue Service 开发人员指南》**中的[将自定义策略与 Amazon SQS 访问策略语言配合使用](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-creating-custom-policies.html)。