このページのトピック
Template Scanner
場所 | 上部のナビゲーションバー> Template Scanner |
Template Scannerを使用すると、Terraform および AWS CloudFormation テンプレートでTrend Cloud One™ – Conformity Rules を実行できます。ワークフローに予防的なセキュリティとガバナンスの制御を追加して、サービスやリソースを起動する前に問題を特定して修正できます。
このドキュメントでは、 Conformityアプリケーション内のTemplate Scannerについて説明します。 Infrastructure as Codeを検索するためのGithubアプリのドキュメントについては、Trend Cloud One™ - Template Scannerを参照してください。
コンテンツ
- Template Scannerとは何ですか?
- Template Scannerの使用方法
- CloudFormationテンプレートとTerraformプランの検索
- エンドポイントを使用してルールを取得する
- 検索結果が表示されないのはなぜですか?
Template Scannerとは何ですか?
Conformity は、テンプレートファイル内のリスクを検出してAWSインフラストラクチャがコンプライアンスを維持できるようにするための予防策として、 Template Scanner 機能を提供します。
CI / CDパイプラインと自動化でAPIエンドポイントを使用できます。
このサービスを使用して、テンプレートファイルを検索できます。現在、TerraformプランとCloudFormationテンプレートがサポートされています。Conformityプロファイルを使用してルールを設定できます。
スタックを作成するたびに、パラメータを使用してテンプレートへの入力値をカスタマイズできます。テンプレートでパラメータが定義されている場合は、引数フィールドを使用してパラメータ値を指定できます。
Template Scannerの使用方法
Template Scanner は、次の目的で使用できます。
エンドポイントを使用してルールを取得する
次のAPIエンドポイントを使用して、検索可能なルールのリストを取得できます。
UI経由で検索
- 検索するルール設定の種類を選択します。
- Default rule settings: 組織のルール設定を使用してアップロードおよび検索します。
- Profile rule settings: 選択したプロファイルのルール設定を使用してアップロードおよび検索します。
- Account rule settings: 選択したアカウントのルール設定を使用してアップロードおよび検索します。
CloudFormationテンプレートの検索
- CloudFormationテンプレートは、JSON形式またはYAML形式でアップロードできます。
- YAMLテンプレートで ! Conditionも使用できます。
Terraformの検索
-
Terraformテンプレートは、コマンドラインツールから次の手順に従って、JSON形式のTerraformプランに変換する必要があります。
- .tfテンプレートと同じディレクトリで、プロバイダの アクセスキー、 秘密鍵 、および エクスポート領域 (例:`export AWS_REGION=us-east-1`)をエクスポートします。
- コマンドを実行します。
terraform init
- コマンドを実行します。
terraform plan -out=your_file
- コマンド
terraform show -json your_file > your_file.json
を実行します。これで、Terraform JSONプランを.tfファイルと同じフォルダからTemplate Scannerにアップロードする準備ができました。 - 次のセクションの手順に従ってUI経由で検索するか、APIエンドポイントを使用します。
-
Upload and scan をクリックして、選択したルール設定のスキャン結果を表示します。
-
テンプレートの検索中に、パラメータが不足しているというメッセージが表示されます。検索プロセスを Proceed するか Cancel するかを決定します。
パラメータが指定されていないリソースは検索されないため、検索結果は部分的になります。
失敗したチェックで提供される解決手順は、CLIまたはコンソール経由のワークフロー用です。これらの手順は、CloudFormationで解決するためのガイドとして使用することもできます。
検索結果が表示されないのはなぜですか?
次のいずれかの理由で、空の応答またはエラーが返されることがあります。
- サポートされていないリソースタイプまたはルール: Template Scannerはリソースレベルのルールのみをサポートします。 サポートされているルールとリソースタイプのリストについては、APIを参照してください。今後、さらに多くのソースタイプのサポートを追加する予定です。優先的に必要な特定のリソースタイプがある場合は、 サポートチームにチケットを送信 してください。
- デフォルト値のないパラメータ: デフォルト値のないパラメータを含むCloudFormationテンプレートは、処理に失敗することがあります。
- サポートされていない組み込み関数: 次の関数は完全にはサポートされていません。
- Fn::ImportValue
- Fn::Cidr
- Fn::Transform
- Fn::ToJsonString
テンプレートが正しく検索されるように、これらの関数を一時的に静的な値に置き換えることができます。