檢視次數:
位置資訊 頂部導航欄 > Template Scanner
Template Scanner 可讓您在您的 TerraformAWS Cloud Development Kit (CDK)Serverless FrameworkAWS CloudFormation 模板上執行 Trend Vision One™ – Cloud Risk Management 規則。您可以在工作流程中添加預防性安全和治理控制,以便在啟動任何服務和資源之前識別和修正問題。

什麼是範本掃描器?

Template Scanner 提供預防措施,以確保您的 AWS 基礎設施保持合規,透過在部署之前檢測基礎設施即代碼 (IaC) 中的風險。
您可以使用此服務來掃瞄Cloudformation範本和terraform配置檔案。

支援的功能

要掃瞄您的 IaC 檔案,您可以使用以下其中一種或多種方法:
  • 使用應用程式介面上傳範本
  • 使用 API 以範本發送請求
功能
Template Scanner 使用者介面/API
用於載入檔案的圖形介面
公共 API
帳戶和個人資料規則設定
Github 整合
AWS CloudFormation
AWS 雲端開發工具包 (CDK)
Serverless Framework (AWS)
Terraform (AWS 和 Azure)*新
透過 Terraform 計劃檔案 (.json) 和 HCL 模板 (.tf) 支援

透過 UI 掃瞄

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

掃描 CloudFormation 模板

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

掃描 AWS 雲端開發工具包 (CDK)

Template Scanner 支援透過從 CDK 代碼合成 Cloudformation 模板來評估您的 CDK 文件。
  1. 安裝 AWS CDK CLI
  2. 在包含您 CDK 代碼的目錄中,運行 cdk synth。這將輸出一個 YAML CloudFormation 文件(如果需要,也可以使用 --json)。
  3. 使用 Template Scanner UI 或 API 端點來掃描由 cdk synth 生成的 CloudFormation 文件。

掃描無伺服器框架

Template Scanner 支援透過從無伺服器代碼合成 Cloudformation 模板來評估您的 Serverless Framework 應用程式。
  1. 在包含您的serverless檔案的目錄中,運行serverless package以在.serverless/cloudformation-template-update-stack.json中生成一個JSON檔案。
  2. 使用 Template Scanner UI 或 API 端點來掃描由 serverless package 生成的 CloudFormation 文件。

掃描 Terraform 計劃

  1. 必須按照以下步驟,使用您的命令行工具將 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 文件相同的文件夾上傳到模板掃描器。
  2. 點選Upload and scan以查看您所選擇規則設定的掃瞄結果。
  3. 您在掃描您的範本時會收到缺少參數的訊息。請決定您是否要Proceed取消掃描過程。
    注意
    注意
    資源缺少參數將不會被掃瞄,從而導致部分掃瞄結果。
  4. 檢閱掃瞄結果中的檢查。失敗的檢查將顯示一個帶有解決步驟連結的解決按鈕。欲了解規則的詳細結構,請參閱規則
    注意
    注意
    提供的解決步驟適用於通過 CLI 或控制台進行的工作流程中的失敗檢查。您也可以使用這些步驟作為在 CloudFormation 中解決問題的指南。

掃描 Terraform HCL 模板

  1. 建立一個包含您 .tf 檔案的 ZIP 檔案
  2. 點擊Template Scanner選單
  3. 點擊Terraform標籤
  4. 瀏覽您的 ZIP 檔案
  5. 點擊上傳並掃瞄

透過 API 掃瞄

請參閱API 參考以了解如何在您的自動化或建置管道中使用 Template Scanner API。
其他範例如下:

支援的規則

以下 API 端點可用於檢索 Template Scanner 支援的規則列表:
請參閱此頁面以獲取支援資源的防護總覽。

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

您可能會因以下任何原因收到空回應或錯誤:
  1. 不支援的資源類型或規則 - Template Scanner 僅支援資源層級規則。請參閱 API 以獲取支援的規則和資源類型列表。我們計劃隨時間增加對更多資源類型的支援。如果您有特定的資源類型需要優先支援,請聯繫您的客戶經理。
  2. 沒有預設值的參數 - 具有無預設值參數的 CloudFormation 模板可能無法處理。
  3. 不支援的 AWS CloudFormation 內建函數 - 使用不支援的內建函數的 CloudFormation 範本可能無法處理或無法產生完整結果。以下是 CloudFormation 範本中的 「supported」 內建函數:
    • Fn::Base64
    • Fn::And
    • Fn::Equals
    • Fn::If
    • Fn::Not
    • Fn::Or
    • Fn::FindInMap
    • Fn::GetAtt
    • Fn::GetAZs
    • Fn::Join
    • Fn::Select
    • Fn::Split
    • Fn::Sub
    • 參考
您可能需要暫時將這些函數替換為靜態值,以便您的模板可以正確掃描。