場所 | トップナビゲーションバー > Template Scanner |
Template Scannerは、Terraform、AWS 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から検索
- 検索するルール設定の種類を選択します。
- [初期設定のルール設定]: 組織のルール設定を使用してアップロードおよび検索します。
- [プロファイルルールの設定]: 選択したプロファイルのルール設定を使用してアップロードおよび検索します。
- [アカウントルールの設定]: 選択したアカウントのルール設定を使用してアップロードおよび検索します。
CloudFormationテンプレートの検索
- CloudFormationテンプレートは、JSON形式またはYAML形式でアップロードできます。
- を使用することもできます。 YAMLテンプレートの条件。
AWS Cloud Development Kit (CDK) の検索
テンプレートスキャナは、CDKコードからCloudformationテンプレートを合成することで、CDKファイルの評価をサポートします。
- AWS CDK CLIをインストールする
- CDKコードがあるディレクトリで、
cdk synth
を実行します。これにより、YAML形式のCloudFormationファイルが出力されます (必要に応じて--json
を使用することもできます)。 cdk synth
によって生成されたCloudFormationファイルをスキャンするには、Template Scanner UIまたはAPIエンドポイントを使用してください。
サーバレスフレームワークの検索
テンプレートスキャナは、サーバレスコードからCloudformationテンプレートを合成することで、サーバレスフレームワークアプリケーションの評価をサポートします。
- ディレクトリに
サーバレス
ファイル、実行サーバレスパッケージ
でJSONファイルを生成するには.serverless/cloudformation-template-update-stack.json
。 - Template Scanner UIまたはAPIエンドポイントを使用して、生成されたCloudFormationファイルを検索します。
サーバレスパッケージ
。
Terraformプランをスキャンしています
-
コマンドラインツールから次の手順に従って、TerraformテンプレートをJSON形式のTerraformプランに変換する必要があります。
- .tfテンプレートと同じディレクトリで、プロバイダの [アクセスキー]、 [秘密鍵] 、および [輸出地域] をエクスポートします (例: 「AWS_REGION=us-east-1のエクスポート」)。
- コマンドを実行します。
terraform init
- コマンドを実行します。
terraform plan -out=your_file
- コマンドを実行します
terraform show -json your_file > your_file.json
。 Terraform JSON プランを .tf ファイルと同じフォルダーからテンプレート スキャナーにアップロードする準備ができました。
-
選択したルール設定の検索結果を表示するには、 [アップロードして検索] をクリックします。
-
テンプレートの検索中にパラメータが見つからないというメッセージが表示されます。検索処理を [続行] または [キャンセル] のどちらにするかを決定します。
注意
パラメータが指定されていないリソースは検索されないため、部分的な検索結果になります。 -
注意
失敗したチェックで提供される解決手順は、CLIまたはコンソールを介したワークフロー用です。これらの手順は、CloudFormation内での解決のガイドとして使用することもできます。
Terraform HCLテンプレートをスキャンしています
- あなたの.tfファイルを含むZIPファイルを作成してください
- Template Scannerメニューをクリックしてください
- Terraformタブをクリックしてください
- ZIPファイルを参照
- アップロードして検索
API経由で検索
APIレファレンス/参照情報を参照して、Template Scanner APIを自動化やビルドパイプラインで使用する方法をご確認ください。
以下に追加の例があります。
サポートされているルール
次のAPIエンドポイントを使用して、Template Scannerがサポートするルールのリストを取得できます。
サポートされているリソースの概要については、このページを参照してください。
検索結果が表示されないのはなぜですか?
次のいずれかの理由により、空の対応またはエラーが返されることがあります。
- サポートされていないリソースタイプまたはルールです - Template Scannerはリソースレベルのルールのみをサポートしています。サポートされているルールとリソースタイプのリストについては、APIを参照してください。今後、より多くのソースタイプのサポートを追加する予定です。優先的に必要な特定のリソースタイプがある場合は、アカウントマネージャにご連絡ください。
- デフォルト値のないパラメータ - デフォルト値のないパラメータを持つ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
- 参照
テンプレートが正しく検索されるように、これらの関数を一時的に静的な値に置き換えることができます。