建立和管理 AWS CloudFormation 勾點 - AWS CloudFormation

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

建立和管理 AWS CloudFormation 勾點

AWS CloudFormation 勾點提供一種機制,可在允許堆疊建立、修改或刪除之前評估 CloudFormation 資源。此功能可協助您確保 CloudFormation 資源符合組織的安全性、營運和成本最佳化最佳實務。

若要建立勾點,您有四個選項。

  • 做為勾點的主動控制 – 使用 Control AWS Control Tower Catalog 中的主動控制評估資源。

  • Guard Hook – 使用 AWS CloudFormation Guard 規則評估資源。

  • Lambda Hook – 將資源評估的請求轉送至 AWS Lambda 函數。

  • Custom Hook – 使用您手動開發的自訂 Hook 處理常式。

Proactive controls as Hooks

若要從主動控制建立勾點,請遵循下列步驟:

  1. 導覽至 CloudFormation 主控台並開始建立勾點。

  2. 從控制目錄中選擇您希望勾點評估資源的特定控制項。

    這些控制項會在建立或更新指定的資源時自動套用。您的選擇會決定勾點將評估哪些資源類型。

  3. 將勾點模式設定為警告使用者不合規或防止不合規的操作。

  4. 設定選用篩選條件,依堆疊名稱或堆疊角色來包含或排除堆疊。

  5. 完成組態後,請啟用勾點以開始強制執行。

Guard Hook

若要建立 Guard Hook,請遵循下列步驟:

  1. 使用 Guard 網域特定語言 (DSL),將資源評估邏輯撰寫為 Guard 政策規則。

  2. 將 Guard 政策規則存放在 Amazon S3 儲存貯體中。

  3. 導覽至 CloudFormation 主控台並開始建立 Guard Hook。

  4. 提供您 Guard 規則的 Amazon S3 路徑。

  5. 選擇勾點將評估的特定目標類型。

    • CloudFormation 資源 (RESOURCE)

    • 整個堆疊範本 (STACK)

    • 變更集 (CHANGE_SET)

    • Cloud Control API 資源 (CLOUD_CONTROL)

  6. 選擇將調用勾點的部署動作 (建立、更新、刪除)。

  7. 選擇勾點在評估失敗時如何回應。

  8. 設定選用篩選條件以指定掛鉤應評估的資源類型

  9. 設定選用篩選條件,依堆疊名稱或堆疊角色來包含或排除堆疊。

  10. 完成組態後,請啟用勾點以開始強制執行。

Lambda Hook

若要建立 Lambda 勾點,請遵循下列步驟:

  1. 將您的資源評估邏輯撰寫為 Lambda 函數。

  2. 導覽至 CloudFormation 主控台並開始建立 Lambda Hook。

  3. 為您的 Lambda 函數提供 Amazon Resource Name (ARN)。

  4. 選擇勾點將評估的特定目標類型。

    • CloudFormation 資源 (RESOURCE)

    • 整個堆疊範本 (STACK)

    • 變更集 (CHANGE_SET)

    • Cloud Control API 資源 (CLOUD_CONTROL)

  5. 選擇將調用勾點的部署動作 (建立、更新、刪除)。

  6. 選擇勾點在評估失敗時如何回應。

  7. 設定選用篩選條件以指定掛鉤應評估的資源類型

  8. 設定選用篩選條件,依堆疊名稱或堆疊角色來包含或排除堆疊。

  9. 完成組態後,請啟用勾點以開始強制執行。

Custom Hook

自訂勾點是您使用 CloudFormation 命令列界面 (CFN-CLI) 在 CloudFormation 登錄檔中註冊的延伸模組。

若要建立自訂勾點,請遵循下列主要步驟:

  1. 啟動專案 – 產生開發自訂勾點所需的檔案。

  2. 勾點模型 – 撰寫定義勾點的結構描述,以及指定可叫用勾點之操作的處理常式。

  3. 註冊並啟用 勾點 - 建立勾點後,您需要在要使用它的帳戶和區域中註冊它,這會啟用它。

下列主題提供建立和管理勾點的詳細資訊。