位置資訊 | 頂部導航欄 > Template Scanner |
Template Scanner 可讓您在您的 Terraform、AWS Cloud Development Kit (CDK)、Serverless Framework 和 AWS 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 掃瞄
- 選擇您要掃瞄的規則設定類型:
- 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
- 參考
您可能需要暫時將這些函數替換為靜態值,以便您的模板可以正確掃描。