

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

# 的 Security Hub CSPM 控制項 CloudFormation
<a name="cloudformation-controls"></a>

這些 Security Hub CSPM 控制項會評估 AWS CloudFormation 服務和資源。

這些控制項可能無法全部使用 AWS 區域。如需詳細資訊，請參閱[依區域的控制項可用性](securityhub-regions.md#securityhub-regions-control-support)。

## 【CloudFormation.1] CloudFormation 堆疊應與 Simple Notification Service (SNS) 整合
<a name="cloudformation-1"></a>

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

**相關需求：**NIST.800-53.r5 SI-4(12)、NIST.800-53.r5 SI-4(5)

**類別：**偵測 > 偵測服務 > 應用程式監控

**嚴重性：**低

**資源類型：** `AWS::CloudFormation::Stack`

**AWS Config 規則：**[https://docs.aws.amazon.com/config/latest/developerguide/cloudformation-stack-notification-check.html](https://docs.aws.amazon.com/config/latest/developerguide/cloudformation-stack-notification-check.html)

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

**參數：**無

此控制項會檢查 Amazon Simple Notification Service 通知是否與 CloudFormation 堆疊整合。如果沒有 SNS 通知與其相關聯，則 CloudFormation 堆疊的控制項會失敗。

使用 CloudFormation 堆疊設定 SNS 通知有助於在堆疊發生任何事件或變更時，立即通知利益相關者。

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

若要整合 CloudFormation 堆疊和 SNS 主題，請參閱*AWS CloudFormation 《 使用者指南*》中的[直接更新堆疊](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-direct.html)。

## 【CloudFormation.2] 應標記 CloudFormation 堆疊
<a name="cloudformation-2"></a>

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

**嚴重性：**低

**資源類型：** `AWS::CloudFormation::Stack`

**AWS Config rule：**`tagged-cloudformation-stack`（自訂 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 CloudFormation 堆疊是否具有具有參數 中定義之特定金鑰的標籤`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="cloudformation-2-remediation"></a>

若要將標籤新增至 CloudFormation 堆疊，請參閱 *AWS CloudFormation API 參考*中的 [CreateStack](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStack.html)。

## 【CloudFormation.3] CloudFormation 堆疊應啟用終止保護
<a name="cloudformation-3"></a>

**類別：**保護 > 資料保護 > 資料刪除保護

**嚴重性：**中

**資源類型：** `AWS::CloudFormation::Stack`

**AWS Config 規則：**[https://docs.aws.amazon.com/config/latest/developerguide/cloudformation-termination-protection-check.html](https://docs.aws.amazon.com/config/latest/developerguide/cloudformation-termination-protection-check.html)

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

**參數：**無

此控制項會檢查 AWS CloudFormation 堆疊是否已啟用終止保護。如果 CloudFormation 堆疊上未啟用終止保護，則控制項會失敗。

CloudFormation 有助於以稱為 Stack 的單一單位來管理相關資源。您可以在堆疊上啟用終止保護來防止堆疊遭意外刪除。如果使用者嘗試刪除啟用終止保護的堆疊，則刪除會失敗，且堆疊及其狀態保持不變。除了 `DELETE_IN_PROGRESS` 或 `DELETE_COMPLETE` 以外，您可以為處於任何狀態的堆疊設定終止保護。

**注意**  
在堆疊上啟用或停用終止保護的同時，也將對屬於該堆疊的任何巢狀堆疊套用相同選擇。您無法直接在巢狀堆疊上啟用或停用終止保護。您無法直接刪除屬於已啟用終止保護之堆疊的巢狀堆疊。如果堆疊名稱旁顯示 NESTED (巢狀)，則該堆疊為巢狀堆疊。您只能在該巢狀堆疊所屬的根堆疊上啟用終止保護。

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

若要在 CloudFormation 堆疊上啟用終止保護，請參閱*AWS CloudFormation 《 使用者指南*》中的[保護 CloudFormation 堆疊不會被刪除](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-protect-stacks.html)。

## 【CloudFormation.4] CloudFormation 堆疊應具有相關聯的服務角色
<a name="cloudformation-4"></a>

**類別：**偵測 > 安全存取管理

**嚴重性：**中

**資源類型：** `AWS::CloudFormation::Stack`

**AWS Config 規則：**[https://docs.aws.amazon.com/config/latest/developerguide/cloudformation-stack-service-role-check.html](https://docs.aws.amazon.com/config/latest/developerguide/cloudformation-stack-service-role-check.html)

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

**參數：**無

此控制項會檢查 AWS CloudFormation 堆疊是否具有與其相關聯的服務角色。如果沒有與 CloudFormation 堆疊相關聯的服務角色，則控制項會失敗。

服務受管 StackSets 透過 AWS Organizations 受信任的存取整合使用執行角色。控制項也會為服務受管 StackSets 建立的 AWS CloudFormation 堆疊產生 FAILED 調查結果，因為沒有與其相關聯的服務角色。由於服務受管 StackSets 驗證的方式，無法為這些堆疊填入 `roleARN` 欄位。

搭配 CloudFormation 堆疊使用服務角色有助於實作最低權限存取，方法是將建立/更新堆疊的使用者與 CloudFormation 建立/更新資源所需的許可分開。這可降低權限提升的風險，並有助於在不同操作角色之間維持安全界限。

**注意**  
建立堆疊後，就無法移除連接至堆疊的服務角色。其他具有在此堆疊上執行這些操作之許可的使用者，都能夠使用此角色，不論這些使用者是否有有 `iam:PassRole` 許可。如果該角色包含使用者不該有的許可，您可能在無意中提升使用者的許可。確定該角色授予最低權限。

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

若要將服務角色與 CloudFormation 堆疊建立關聯，請參閱*AWS CloudFormation 《 使用者指南*》中的 [CloudFormation 服務角色](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-servicerole.html)。