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

Template Scannerとは何ですか?

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

サポートされているクラウドプロバイダー

Template Scannerは現在、以下のクラウドプロバイダをサポートしています。各クラウドプロバイダの特定のカバレッジサポートの詳細については、TrendAI Vision One™ - Template Scannerのカバレッジをご覧ください
  1. AWS
  2. Azure
  3. GCP

サポートされている機能

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

UIで検索

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

CloudFormationテンプレートをスキャン

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

AWS Cloud Development Kit (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テンプレートは、以下の手順に従ってCommand LineツールからJSON形式のTerraformプランに変換する必要があります。
    1. .tfテンプレートと同じディレクトリで、プロバイダの[アクセスキー][secret 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ファイルと同じフォルダからTemplate Scannerにアップロードする準備が整いました。
  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
    • Ref
テンプレートが正しくスキャンされるように、これらの関数を一時的に静的な値に置き換えることをお勧めします。