位置資訊 | 頂部導航欄 > Template Scanner |
Template Scanner 使您能夠在您的 Terraform、AWS Cloud Development Kit (CDK)、Serverless Framework 和 AWS CloudFormation 模板上運行 Trend Vision One™ – Cloud Risk Management 規則,以檢測您在 AWS、Azure 和 GCP 帳戶中的風險。您可以在工作流程中添加預防性安全和治理控制,以在啟動任何服務和資源之前識別和修正問題。
什麼是範本掃描器?
Template Scanner 提供預防措施,確保您在 Azure、AWS 和 GCP 的雲端基礎設施保持合規,通過在基礎設施即代碼 (IaC) 部署之前檢測風險。
您可以使用此服務來掃瞄Cloudformation範本和terraform配置檔案。
支援的雲端提供者
Template Scanner 目前支援以下雲端供應商。關於每個雲端供應商的具體覆蓋支援詳情,請參閱:Template Scanner 覆蓋範圍
- AWS
- Azure
- GCP
支援的功能
要掃瞄您的 IaC 檔案,您可以使用以下其中一種或多種方法:
- 使用應用程式介面上傳範本
- 使用 API 以範本發送請求
功能
|
Template Scanner 使用者介面/API
|
用於載入檔案的圖形介面
|
✅
|
公共 API
|
✅
|
帳戶和個人資料規則設定
|
✅
|
Github 整合
|
❌
|
AWS CloudFormation
|
✅
|
AWS 雲端開發工具包 (CDK)
|
✅
|
Serverless Framework (AWS)
|
✅
|
Terraform(AWS、Azure 和 GCP)
|
✅
透過 Terraform 計劃檔案 (
.json ) 和 HCL 模板 (.tf ) 支援 |
透過 UI 掃瞄
- 選擇您要掃瞄的規則設定類型:
- Default rule settings:使用您組織的規則設定上傳並掃瞄。
- Profile rule settings:使用選定設定檔中的規則設定上傳並掃瞄。
- Account rule settings:使用選定帳戶的規則設定上傳並掃瞄。
掃描 CloudFormation 模板
- CloudFormation 模板可以以 JSON 或 YAML 格式上傳。
- 您也可以在 YAML 模板中使用 ! 條件。
掃描 AWS 雲端開發工具包 (CDK)
Template Scanner 支援透過從 CDK 代碼合成 Cloudformation 模板來評估您的 CDK 文件。
- 安裝 AWS CDK CLI
- 在包含您 CDK 代碼的目錄中,運行
cdk synth
。這將輸出一個 YAML CloudFormation 文件(如果需要,也可以使用--json
)。 - 使用 Template Scanner UI 或 API 端點來掃描由
cdk synth
生成的 CloudFormation 文件。
掃描無伺服器框架
Template Scanner 支援透過從無伺服器代碼合成 Cloudformation 模板來評估您的 Serverless Framework 應用程式。
- 在包含您
serverless
檔案的目錄中,執行serverless package
以在.serverless/cloudformation-template-update-stack.json
中生成一個JSON檔案。 - 使用 Template Scanner UI 或 API 端點來掃描由
serverless package
生成的 CloudFormation 文件。
掃描 Terraform 計劃
-
必須按照以下步驟,使用您的命令行工具將 Terraform 模板轉換為 JSON 格式的 Terraform 計劃:
- 在與 .tf 模板相同的目錄中,匯出您提供者的 access key、secret key, 和 export region(例如 `export AWS_REGION=us-east-1`)
- 執行命令
terraform init
- 執行命令
terraform plan -out=your_file
- 執行命令
terraform show -json your_file > your_file.json
。您的 Terraform JSON 計劃已準備好從與 .tf 文件相同的文件夾上傳到模板掃描器。
-
點選Upload and scan以查看您所選擇規則設定的掃瞄結果。
-
您在掃描您的範本時會收到缺少參數的訊息。請決定您是否要Proceed或取消掃描過程。
注意
資源缺少參數將不會被掃瞄,從而導致部分掃瞄結果。 -
注意
提供的解決步驟適用於通過 CLI 或控制台進行的工作流程中的失敗檢查。您也可以使用這些步驟作為在 CloudFormation 中解決問題的指南。
掃描 Terraform HCL 模板
- 建立一個包含您 .tf 檔案的 ZIP 檔案
- 點擊Template Scanner選單
- 點擊Terraform標籤
- 瀏覽您的 ZIP 檔案
- 點擊上傳並掃瞄
透過 API 掃瞄
請參閱API 參考以了解如何在您的自動化或建置管道中使用 Template Scanner API。
其他範例如下:
支援的規則
以下 API 端點可用於檢索 Template Scanner 支援的規則列表:
請參閱此頁面以了解支援資源的防護總覽。
為什麼我看不到任何掃瞄結果?
您可能會因以下任何原因收到空回應或錯誤:
- 不支援的資源類型或規則 - Template Scanner 僅支援資源層級規則。請參閱 API 以獲取支援的規則和資源類型清單。我們計劃隨著時間增加對更多資源類型的支援。如果您有特定的資源類型需要優先支援,請聯繫您的客戶經理。
- 沒有預設值的參數 - 具有無預設值參數的 CloudFormation 模板可能無法處理。
- 不支援的 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
- 參考
您可能需要暫時將這些函數替換為靜態值,以便您的模板可以正確掃描。