ビュー:
Template Scanner GitHubアプリは、infrastructure-as-codeテンプレートを検索し、最適なセキュリティプラクティスに基づいて評価します。組織内のリポジトリを選択して、開いたり更新したりするすべてのプルリクエストを自動的に検索するか、選択したGitHubリポジトリで更新できます。
注意
注意
現在、GitHub Enterprise組織はサポートしていません。

Template Scanner GitHubアプリのインストール方法 親トピック

GitHubソースアカウントの使い方の手順に従って、GitHubアプリをインストールしてください。

スキャン対象の設定方法 親トピック

デフォルトでは、Template Scanner GitHubアプリはリポジトリのルートにあるCloudFormationテンプレート (例: cloudformation.yml、cloudformation.json、template.yml) およびリポジトリ内の任意のレベルにあるTerraform ".tf"ファイルをスキャンします。
スキャン対象を設定および上書きするには:
  1. リポジトリのルートに.template-securityというディレクトリを作成します。
  2. .template-security/にconfig.jsonファイルを追加し、設定を行ってください。例:
    {
      "frameworks": {
        "terraform": { "templateFilesPattern": "**/*(*.tf|*.tfvars)" },
        "cloudformation": { "templateFilesPattern": "**/*(*.yml)" }
      }
    }

利用可能な構成 親トピック

  • frameworks: (object) スキャンしたいフレームワークをキーとして含みます。サポートされている値 "terraform" | "cloudformation"
  • templateFilesPattern: (string) ファイルパターンを使用してファイルとディレクトリを一致させます。

パス部分を一致させるための特殊文字: 親トピック

  • * は単一のパス部分内の0文字以上に一致します
  • ? は1文字に一致します
  • [...]は、RegExpの範囲に似た文字の範囲に一致します。範囲の最初の文字が!または^の場合、その範囲に含まれない任意の文字に一致します。
  • !(pattern|pattern|pattern) は、いずれのパターンにも一致しないものに一致します。
  • ?(pattern|pattern|pattern) は、パターンが0回または1回出現することに一致します。
  • +(pattern|pattern|pattern) パターンの1回以上の出現に一致します。
  • *(a|b|c) パターンの0回以上の出現に一致します
  • @(pattern|pat*|pat?erN)はパターンのいずれか1つに正確に一致します
  • ** globstarがパス部分に単独で存在する場合、0個以上のディレクトリおよびサブディレクトリに一致します。ただし、シンボリックリンクされたディレクトリはクロールしません。

ドット (.) の使用に関する注意 親トピック

ファイルまたはディレクトリパスの一部が最初の文字として.を持つ場合、そのパターンの対応するパス部分も最初の文字として.を持たない限り、グロブパターンには一致しません。
例えば、パターンa/.*/ca/.b/cのファイルに一致します。しかし、パターンa/*/cは一致しません。なぜなら、*はドット文字で始まらないからです。

例: 親トピック

-  `*(*.tf)` Match only files ending with `.tf`
-  `**/*(*.tf|*.tfvars)` Starting from the top directory, match files ending with `.tf` or `.tfvars`
-  `*(*.tf|*.tfvars)` Match files ending with `.tf` or `.tfvars` in the root directory only

スキャンを開始する方法 親トピック

スキャンを開始するには:
  1. Template Scanner Github AppをインストールしたリポジトリでGithubにプルリクエストを作成します。プルリクエストの下部でスキャンのステータスを確認できるはずです。
  2. [Details]をクリックして、スキャンによって生成された検出結果を表示します。
    PR=62d88f9a-6eaf-4611-9fa3-eaeac012a6fd.png