

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Amazon SNS 的 Security Hub CSPM 控制項
<a name="sns-controls"></a>

這些 AWS Security Hub CSPM 控制項會評估 Amazon Simple Notification Service (Amazon SNS) 服務和資源。控制項可能無法全部使用 AWS 區域。如需詳細資訊，請參閱[依區域的控制項可用性](securityhub-regions.md#securityhub-regions-control-support)。

## 【SNS.1】 SNS 主題應使用 進行靜態加密 AWS KMS
<a name="sns-1"></a>

**相關需求：**NIST.800-53.r5 CA-9(1)、NIST.800-53.r5 CM-3(6)、NIST.800-53.r5 SC-13、NIST.800-53.r5 SC-28、NIST.800-53.r5 SC-28(1)、NIST.800-53.r5 SC-7(10)、NIST.800-53.r5 SI-7(6)、NIST.800-171.r2 3.13.11、NIST.800-171.r2 3.13.16

**類別：**保護 > 資料保護 > data-at-rest加密

**嚴重性：**中

**資源類型：** `AWS::SNS::Topic`

**AWS Config 規則：**[https://docs.aws.amazon.com/config/latest/developerguide/sns-encrypted-kms.html](https://docs.aws.amazon.com/config/latest/developerguide/sns-encrypted-kms.html)

**排程類型：**已觸發變更

**參數：**無

此控制項會檢查 Amazon SNS 主題是否使用 AWS Key Management Service () 中管理的金鑰進行靜態加密AWS KMS。如果 SNS 主題不使用 KMS 金鑰進行伺服器端加密 (SSE)，則控制項會失敗。根據預設，SNS 會使用磁碟加密來存放訊息和檔案。若要傳遞此控制項，您必須選擇改用 KMS 金鑰進行加密。這增加了多一層的安全性，並提供更多的存取控制彈性。

加密靜態資料可降低未驗證的使用者存取磁碟上儲存的資料的風險 AWS。需要 API 許可才能解密資料，才能讀取資料。我們建議您使用 KMS 金鑰加密 SNS 主題，以增加一層安全性。

### 修補
<a name="sns-1-remediation"></a>

若要為 SNS 主題啟用 SSE，請參閱《[Amazon Simple Notification Service 開發人員指南》中的為 Amazon SNS 主題啟用伺服器端加密 (SSE)](https://docs.aws.amazon.com/sns/latest/dg/sns-enable-encryption-for-topic.html)。 **在使用 SSE 之前，您還必須設定 AWS KMS key 政策，以允許加密主題和加密和解密訊息。如需詳細資訊，請參閱《*Amazon Simple Notification Service 開發人員指南*》中的[設定 AWS KMS 許可](https://docs.aws.amazon.com/sns/latest/dg/sns-key-management.html#sns-what-permissions-for-sse)。

## 【SNS.2】 應針對傳送至主題的通知訊息啟用傳遞狀態記錄
<a name="sns-2"></a>

**重要**  
Security Hub CSPM 已於 2024 年 4 月淘汰此控制項。如需詳細資訊，請參閱[Security Hub CSPM 控制項的變更日誌](controls-change-log.md)。

**相關要求：**NIST.800-53.r5 AU-12、NIST.800-53.r5 AU-2

**類別：**識別 > 記錄日誌

**嚴重性：**中

**資源類型：** `AWS::SNS::Topic`

**AWS Config 規則：**[https://docs.aws.amazon.com/config/latest/developerguide/sns-topic-message-delivery-notification-enabled.html](https://docs.aws.amazon.com/config/latest/developerguide/sns-topic-message-delivery-notification-enabled.html)

**排程類型：**已觸發變更

**參數：**無

此控制項會檢查是否已針對傳送至端點 Amazon SNS 主題的通知訊息傳送狀態啟用記錄。如果未啟用訊息的傳遞狀態通知，則此控制項會失敗。

記錄是維護 服務的可靠性、可用性和效能的重要部分。記錄訊息傳遞狀態有助於提供操作洞察，例如：
+ 得知訊息是否已傳遞至 Amazon SNS 端點。
+ 識別從 Amazon SNS 端點傳送至 Amazon SNS 的回應。
+ 判斷訊息駐留時間 （發佈時間戳記與遞交至 Amazon SNS 端點之間的時間）。

### 修補
<a name="sns-2-remediation"></a>

若要設定主題的交付狀態記錄，請參閱[《Amazon Simple Notification Service 開發人員指南》中的 Amazon SNS 訊息交付狀態](https://docs.aws.amazon.com/sns/latest/dg/sns-topic-attributes.html)。 **

## 【SNS.3】 SNS 主題應加上標籤
<a name="sns-3"></a>

**類別：**識別 > 庫存 > 標記

**嚴重性：**低

**資源類型：** `AWS::SNS::Topic`

**AWS Config rule：**`tagged-sns-topic`（自訂 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 SNS 主題是否具有具有參數 中定義之特定金鑰的標籤`requiredTagKeys`。如果主題沒有任何標籤索引鍵，或沒有參數 中指定的所有索引鍵，則控制項會失敗`requiredTagKeys`。如果`requiredTagKeys`未提供 參數，則控制項只會檢查標籤索引鍵是否存在，如果主題未標記任何索引鍵，則 會失敗。系統會`aws:`忽略自動套用並以 開頭的系統標籤。

標籤是您指派給 AWS 資源的標籤，由索引鍵和選用值組成。您可建立標籤，以依照用途、擁有者、環境或其他條件分類資源。標籤可協助您識別、組織、搜尋和篩選資源。標記也可協助您追蹤動作和通知的責任資源擁有者。使用標記時，您可以實作屬性型存取控制 (ABAC) 做為授權策略，以根據標籤定義許可。您可以將標籤連接至 IAM 實體 （使用者或角色） 和 AWS 資源。您可以為 IAM 主體建立單一 ABAC 政策或一組單獨的政策。您可以設計這些 ABAC 政策，以便在委託人的標籤符合資源標籤時允許操作。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[什麼是 ABAC AWS？](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)。

**注意**  
請勿在標籤中新增個人身分識別資訊 (PII) 或其他機密或敏感資訊。許多 都可以存取標籤 AWS 服務，包括 AWS Billing。如需更多標記最佳實務，請參閱《》中的[標記您的 AWS 資源](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-best-practices)*AWS 一般參考*。

### 修補
<a name="sns-3-remediation"></a>

若要將標籤新增至 SNS 主題，請參閱[《Amazon Simple Notification Service 開發人員指南》中的設定 Amazon SNS 主題標籤](https://docs.aws.amazon.com/sns/latest/dg/sns-tags-configuring.html)。 **

## 【SNS.4】 SNS 主題存取政策不應允許公開存取
<a name="sns-4"></a>

**類別：**保護 > 安全網路組態 > 不可公開存取的資源

**嚴重性：**嚴重

**資源類型：** `AWS::SNS::Topic`

**AWS Config 規則：**[https://docs.aws.amazon.com/config/latest/developerguide/sns-topic-no-public-access.html](https://docs.aws.amazon.com/config/latest/developerguide/sns-topic-no-public-access.html)

**排程類型：**已觸發變更

**參數：**無

此控制項會檢查 Amazon SNS 主題存取政策是否允許公開存取。如果 SNS 主題存取政策允許公開存取，則此控制會失敗。

您可以使用 Amazon SNS 存取政策搭配特定主題來限制誰可以使用該主題 （例如，誰可以發佈訊息給該主題或誰可以訂閱該主題）。SNS 政策可以將存取權授予其他 AWS 帳戶或您自己的 中的使用者 AWS 帳戶。在主題政策的 `Principal`欄位中提供萬用字元 (\$1)，且缺少限制主題政策的條件，可能會導致攻擊者洩漏資料、拒絕服務或意外地將訊息注入您的服務。

**注意**  
此控制項不會評估使用萬用字元或變數的政策條件。若要產生`PASSED`調查結果，主題的 Amazon SNS 存取政策中的條件只能使用固定值，這些值不包含萬用字元或政策變數。如需政策變數的相關資訊，請參閱*AWS Identity and Access Management 《 使用者指南*》中的[變數和標籤](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html)。

### 修補
<a name="sns-4-remediation"></a>

若要更新 SNS 主題的存取政策，請參閱《[Amazon Simple Notification Service 開發人員指南》中的在 Amazon SNS 中管理存取權的概觀](https://docs.aws.amazon.com/sns/latest/dg/sns-overview-of-managing-access.html)。 **