| 場所 | Top navigation bar > Template Scanner |
Template Scannerは、Terraform、AWS Cloud Development Kit (CDK)、Serverless Framework、AWS CloudFormationテンプレートでTrend Cloud One™ – Conformityルールを実行し、AWS、Azure、GCPアカウントのリスクを検出することができます。サービスやリソースを開始する前に問題を特定し修正するために、ワークフローに予防的なセキュリティとガバナンスのコントロールを追加することができます。
Template Scannerとは何ですか?
Template Scannerは、Azure、AWS、GCPのクラウドインフラストラクチャが展開される前に、Infrastructure as Code (IaC)
のリスクを検出することで、コンプライアンスを維持するための予防策を提供します。
このサービスを使用して、CloudFormationテンプレートとTerraform構成ファイルを検索できます。
サポートされているクラウドプロバイダ
Template Scannerは現在、以下のクラウドプロバイダをサポートしています。各クラウドプロバイダの特定のカバレッジサポートの詳細については、Trend Cloud One Conformity - Template Scannerのカバレッジをご覧ください
- AWS
- Azure
- GCP
サポートされている機能
IaCファイルを検索するには、以下のいずれかまたは組み合わせを使用できます。
- アプリケーションUIを使用してテンプレートをアップロードする
- テンプレートを使用してリクエストを投稿するためのAPIの使用
-
Template Scanner GitHub Appをインストールし、プルリクエストを作成することによって。
|
機能
|
Template Scanner UI/API
|
GitHubアプリケーション
|
|
ファイルを読み込むためのグラフィカルインターフェース
|
![]() |
![]() |
|
パブリックAPI
|
![]() |
![]() |
|
アカウントとProfileのRule settings
|
![]() |
![]() |
|
GitHub統合
|
![]() |
![]() |
|
AWS CloudFormation
|
![]() |
![]() |
|
AWS クラウド開発キット (CDK)
|
![]() |
![]() |
|
Serverless Framework (AWS)
|
![]() |
![]() |
|
Terraform (AWS、Azure、GCP)
|
![]() Terraform Planファイル (
.json) およびHCLテンプレート (.tf) をサポート |
Terraformでは子モジュールもサポートされています。
|
UI経由でスキャン
- スキャンするルール設定の種類を選択してください:
- [Default rule settings]: 組織のRule settingsを使用してアップロードおよびスキャンします。
- [Profile rule settings]: 選択したProfileのRule settingsを使用してアップロードおよびスキャンします。
- [Account rule settings]: 選択したアカウントのRule settingsを使用してアップロードおよびスキャンします。
CloudFormationテンプレートをスキャンしています
- CloudFormation テンプレートは、JSON または YAML 形式でアップロードできます。
- YAMLテンプレートで!条件も使用できます。
AWS Cloud Development Kit (CDK) をスキャンしています
Template Scannerは、CDKコードからCloudFormationテンプレートを合成することで、CDKファイルの評価をサポートします。
- AWS CDK CLIをインストールする
- CDKコードがあるディレクトリで
cdk synthを実行します。これにより、YAML CloudFormationファイルが出力されます (必要に応じて--jsonを使用することもできます)。 - Template Scanner UIまたはAPIエンドポイントを使用して、
cdk synthによって生成されたCloudFormationファイルをスキャンします。
Serverless Frameworkをスキャン中
Template Scannerは、ServerlessコードからCloudFormationテンプレートを合成することによって、Serverless Frameworkアプリケーションの評価をサポートします。
serverlessファイルがあるディレクトリで、serverless packageを実行して.serverless/cloudformation-template-update-stack.jsonにJSONファイルをGenerateします。- 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ファイルと同じフォルダからTemplate Scannerにアップロードする準備ができました。
-
[Upload and scan]をクリックして、選択したRule settingsのスキャン結果を表示します。
-
テンプレートをスキャン中にパラメータが不足しているというメッセージが表示されます。スキャンプロセスを[Proceed]するか[キャンセル]するかを決定してください。

注意
パラメータが欠落しているリソースはスキャンされず、その結果、部分的なスキャン結果となります。 -

注意
失敗したチェックに対して提供される解決手順は、CLIまたはコンソール経由のワークフロー用です。これらの手順をCloudFormation内での解決のガイドとして使用することもできます。
Terraform HCLテンプレートをスキャンしています
- あなたの.tfファイルを含むZIPファイルを作成してください
- Template Scannerメニューをクリックしてください
- Terraformタブをクリックしてください
- ZIPファイルを参照
- アップロードして検索をクリックします。
API経由でスキャン
Template Scanner APIを自動化やビルドパイプラインで使用する方法については、APIリファレンスを参照してください。
追加の例は以下にあります:
GitHubプルリクエストを介してスキャン
Template Scanner GitHub Appは、CloudFormationテンプレートおよびTerraform構成ファイルの検索を自動的にトリガーするために使用できます。
サポートされているルール
次のAPIエンドポイントを使用して、Template Scannerでサポートされているルールのリストを取得できます。
サポートされているリソースの概要については、このページを参照してください。
なぜスキャン結果が表示されないのですか?
次のいずれかの理由により、空の応答またはエラーを受け取る場合があります:
- サポートされていないリソースタイプまたはルール - Template Scannerはリソースレベルのルールのみをサポートしています。サポートされているルールとリソースタイプの一覧についてはAPIを参照してください。今後、より多くのソースタイプのサポートを追加する予定です。優先的に必要な特定のリソースタイプがある場合は、Conformityにログインしてサポートチームにチケットを提出してください。
- デフォルト値のないパラメーター - デフォルト値のないパラメーターを持つ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
- 参照
テンプレートを正しくスキャンできるように、これらの関数を一時的に静的な値に置き換えることをお勧めします。


