檢視次數:
Template Scanner 使您能在您的 TerraformAWS CloudFormation 模板上運行 Trend Vision One™ – 雲端狀態 規則。您可以在工作流程中添加預防性安全和治理控制,以在啟動任何服務和資源之前識別和修復問題。
注意
注意
本文件涵蓋 雲端狀態 應用程式中的範本掃瞄器。關於 Github 應用程式掃瞄您基礎設施即代碼的文件,請參閱 Trend Vision One™ - 範本掃瞄器

內容

什麼是範本掃描器?

雲端狀態 提供範本掃描功能作為預防措施,通過在範本文件部署到 AWS 之前檢測風險,確保您 AWS 基礎設施的合規性。
一個 API 端點可用於 CI/CD 管道和自動化。
您可以使用此服務來掃瞄範本檔案。目前,我們支援Terraform計劃和CloudFormation範本。您可以通過雲端狀態設定檔來配置規則。
可以使用參數在每次建立堆疊時自訂模板的輸入值。如果在模板中定義了參數,則可以使用參數值欄位來提供參數值。

如何使用範本掃描器?

您可以使用範本掃描器來:
  1. 掃瞄CloudFormation 模板或 Terraform 計劃
  2. 使用範本掃描器 API

用於檢索規則的 API 端點

您可以使用以下 API 端點來檢索可掃描的規則列表:

透過 UI 掃瞄

  1. 選擇您要掃瞄的規則設定類型:
    • Default rule settings:使用您組織的規則設定上傳並掃瞄。
    • Profile rule settings:使用選定設定檔中的規則設定上傳並掃瞄。
    • Account rule settings:使用選定帳戶的規則設定上傳並掃瞄。

掃描 CloudFormation 模板

  • CloudFormation 模板可以以 JSON 或 YAML 格式上傳。
  • 您也可以在 YAML 模板中使用 ! 條件。

掃描 Terraform

  • 必須按照以下步驟,使用您的命令行工具將 Terraform 模板轉換為 JSON 格式的 Terraform 計劃:
    1. 在與 .tf 模板相同的目錄中,匯出您提供者的 access keysecret key,export region(例如 `export AWS_REGION=us-east-1`)
    2. 執行命令 terraform init
    3. 執行命令 terraform plan -out=your_file
    4. 執行命令 terraform show -json your_file > your_file.json。您的 Terraform JSON 計劃已準備好從與 .tf 文件相同的文件夾上傳到模板掃描器。
    5. 請按照下一節中的步驟通過 UI 進行掃瞄或使用 API 端點。
  • 點選Upload and scan以查看您所選擇規則設定的掃瞄結果。
  • 您在掃描您的範本時會收到缺少參數的訊息。請決定您是否要Proceed取消掃描過程。
注意
注意
資源缺少參數將不會被掃瞄,從而導致部分掃瞄結果。
  1. 檢閱掃瞄結果中的檢查。失敗的檢查將顯示一個帶有解決步驟連結的解決按鈕。關於規則結構的詳細資訊,請參閱規則
注意
注意
提供的解決步驟適用於通過 CLI 或控制台進行的工作流程中的失敗檢查。您也可以使用這些步驟作為在 CloudFormation 中解決問題的指南。

為什麼我看不到任何掃瞄結果?

您可能會因以下任何原因收到空回應或錯誤:
  1. 不支援的資源類型或規則:範本掃描器僅支援資源層級規則。請參閱 API 以取得支援的規則和資源類型清單。我們計劃隨著時間增加對更多資源類型的支援。如果您有特定的資源類型需要優先支援,請登入雲端狀態提交工單給我們的技術支援中心
  2. 無預設值的參數:具有無預設值參數的 CloudFormation 模板可能無法處理。
  3. 不支援的內建函數:以下功能尚未完全支援:
    • Fn::ImportValue
    • Fn::Cidr
    • Fn::Transform
    • Fn::ToJsonString
您可能需要暫時將這些函數替換為靜態值,以便您的模板可以正確掃描。