ビュー:
場所 トップナビゲーションバー > Template Scanner
Template Scannerは、TerraformAWS Cloud Development Kit (CDK)Serverless Framework、およびAWS CloudFormationテンプレートでTrend Vision One™ – Cloud Risk Management ルールを実行できるようにします。サービスやリソースを起動する前に問題を特定し、修正するために、ワークフローに予防的なセキュリティとガバナンスのコントロールを追加できます。

テンプレートスキャナとは

Template Scannerは、AWSインフラストラクチャが展開される前にInfrastructure as Code (IaC) のリスクを検出することで、コンプライアンスを維持するための予防策を提供します。
このサービスを使用して、Cloudformationテンプレートとterraform構成ファイルを検索できます。

サポートされている機能

IaCファイルを検索するには、以下のいずれかまたは組み合わせを使用できます。
  • アプリケーションUIを使用してテンプレートをアップロードする
  • テンプレートを使用してリクエストを投稿するためのAPIの使用
機能
Template Scanner UI/API
ファイルを読み込むためのグラフィカルインターフェース
公開API
アカウントとプロファイルのルール設定
GitHub統合
AWS CloudFormation
AWSクラウド開発キット (CDK)
サーバレスフレームワーク (AWS)
Terraform (AWSとAzure)*新規
Terraform Planファイル (.json) およびHCLテンプレート (.tf) をサポート

UIから検索

  1. 検索するルール設定の種類を選択します。
    • [初期設定のルール設定]: 組織のルール設定を使用してアップロードおよび検索します。
    • [プロファイルルールの設定]: 選択したプロファイルのルール設定を使用してアップロードおよび検索します。
    • [アカウントルールの設定]: 選択したアカウントのルール設定を使用してアップロードおよび検索します。

CloudFormationテンプレートの検索

  • CloudFormationテンプレートは、JSON形式またはYAML形式でアップロードできます。
  • を使用することもできます。 YAMLテンプレートの条件。

AWS Cloud Development Kit (CDK) の検索

テンプレートスキャナは、CDKコードからCloudformationテンプレートを合成することで、CDKファイルの評価をサポートします。
  1. AWS CDK CLIをインストールする
  2. CDKコードがあるディレクトリで、cdk synthを実行します。これにより、YAML形式のCloudFormationファイルが出力されます (必要に応じて--jsonを使用することもできます)。
  3. cdk synthによって生成されたCloudFormationファイルをスキャンするには、Template Scanner UIまたはAPIエンドポイントを使用してください。

サーバレスフレームワークの検索

テンプレートスキャナは、サーバレスコードからCloudformationテンプレートを合成することで、サーバレスフレームワークアプリケーションの評価をサポートします。
  1. ディレクトリにサーバレスファイル、実行サーバレスパッケージでJSONファイルを生成するには.serverless/cloudformation-template-update-stack.json
  2. Template Scanner UIまたはAPIエンドポイントを使用して、生成されたCloudFormationファイルを検索します。サーバレスパッケージ

Terraformプランをスキャンしています

  1. コマンドラインツールから次の手順に従って、TerraformテンプレートをJSON形式のTerraformプランに変換する必要があります。
    1. .tfテンプレートと同じディレクトリで、プロバイダの [アクセスキー][秘密鍵] 、および [輸出地域] をエクスポートします (例: 「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. 選択したルール設定の検索結果を表示するには、 [アップロードして検索] をクリックします。
  3. テンプレートの検索中にパラメータが見つからないというメッセージが表示されます。検索処理を [続行] または [キャンセル] のどちらにするかを決定します。
    注意
    注意
    パラメータが指定されていないリソースは検索されないため、部分的な検索結果になります。
  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
    • 参照
テンプレートが正しく検索されるように、これらの関数を一時的に静的な値に置き換えることができます。