目次

Template Scanner

場所

上部のナビゲーションバー> Template Scanner

Template Scannerを使用すると、Terraform および AWS CloudFormation テンプレートでTrend Cloud One™ – Conformity Rules を実行できます。ワークフローに予防的なセキュリティとガバナンスの制御を追加して、サービスやリソースを起動する前に問題を特定して修正できます。

Template Scannerとは何ですか?

Conformity は、テンプレートファイル内のリスクを検出してAWSインフラストラクチャがコンプライアンスを維持できるようにするための予防策として、 Template Scanner 機能を提供します。

CI / CDパイプラインと自動化でAPIエンドポイントを使用できます。

このサービスを使用してテンプレートを検索できます。 UIとAPIを介してTerraformプランとCloudFormationテンプレートをサポートしています。Conformityプロファイルを使用してルールを設定できます。 Githubアプリ を介してCloudformationテンプレートとTerraform設定ファイルもサポートされます。

スタックを作成するたびに、パラメータを使用してテンプレートへの入力値をカスタマイズできます。テンプレートでパラメータが定義されている場合は、引数フィールドを使用してパラメータ値を指定できます。

サポートされる機能

Template Scannerは、次の2つのエントリポイントをサポートします。

  • UIおよびAPI用Template Scanner
  • Template Scanner GitHubアプリ
機能 Template ScannerのUI/API Githubアプリケーション
ファイルをロードするためのグラフィカルインタフェース
公開API
アカウントとプロファイルのルール設定
Githubとの統合
AWS CloudFormation
Terraform (AWS)

Terraform Planファイル (.json) でサポート

入力変数、ローカル値、参照式jsonencode関数呼び出しなど、複数のTerraform言語 機能を解釈できます。

UI経由で検索

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

CloudFormationテンプレートの検索

  • CloudFormationテンプレートは、JSON形式またはYAML形式でアップロードできます。
  • YAMLテンプレートでは、「!」条件も使用できます。

Terraformの検索

  1. コマンドラインツールから次の手順に従って、TerraformテンプレートをJSON形式のTerraformプランに変換する必要があります。

    1. .tfテンプレートと同じディレクトリで、プロバイダの アクセスキー 秘密鍵、 および エクスポート領域 (`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. テンプレートの検索中に、パラメータが不足しているというメッセージが表示されます。検索プロセスを Proceed するか Cancel するかを決定します。

    パラメータが指定されていないリソースは検索されないため、検索結果は部分的になります。

  4. 検索結果のChecksを確認します。失敗したチェックは、解決手順へのリンクを含むResolveボタンを表示します。ルールの詳細については、「 Rules」を参照してください。

    失敗したチェックで提供される解決手順は、CLIまたはコンソール経由のワークフロー用です。これらの手順は、CloudFormationで解決するためのガイドとして使用することもできます。

API経由で検索

自動化またはビルドパイプラインでTemplate ScannerAPIを使用する方法については、APIリファレンスを参照してください。

その他の例を次に示します。

Githubプルリクエスト経由の検索

Template Scanner Github App を使用すると、 CloudFormationテンプレートとTerraform設定ファイルの検索を自動的に開始できます。

ルールを取得するAPIエンドポイント

次のAPIエンドポイントを使用して、検索可能なルールのリストを取得できます。

検索結果が表示されないのはなぜですか?

次のいずれかの理由で、空の応答またはエラーが返されることがあります。

  1. サポートされていないリソースタイプまたはルール - Template Scannerはリソースレベルのルールのみをサポートします。 サポートされているルールとリソースタイプのリストについては、APIを参照してください。今後、さらに多くのソースタイプのサポートを追加する予定です。優先的に必要な特定のリソースタイプがある場合は、Conformityにログインし、サポートチームにチケットを送信 してください。
  2. 初期設定値のないパラメータ - 初期設定値のないパラメータを持つCloudFormationテンプレートは処理に失敗することがあります。
  3. サポートされていない組み込み関数 - 次の関数は完全にはサポートされていません。
    • Fn::ImportValue
    • Fn::Cidr
    • Fn::Transform
    • Fn::ToJsonString

テンプレートが正しく検索されるように、これらの関数を一時的に静的な値に置き換えることができます。