この記事は、GitHub Advanced Security の大規模な導入に関するシリーズの一部です。 このシリーズの前の記事については「フェーズ 2: 大規模な有効化の準備」を参照してください。
パイロット プログラムについて
GHAS のパイロット ロールアウトで使用する影響の大きいプロジェクトまたはチームをいくつか特定することをお勧めします。 これにより、社内の最初のグループが GHAS に慣れ、GHAS に関する強固な基盤を構築してから、企業の残りの部分にロールアウトすることができます。
このフェーズのこれらの手順は、お客様の会社で GHAS を有効にし、その機能を使い始めて、結果を確認するのに役立ちます。 GitHub Professional Services と協力している場合は、担当者がオンボーディング セッション、GHAS ワークショップ、必要に応じたトラブルシューティングを通じて、このプロセス全体の追加の支援を提供できます。
パイロット プロジェクトを始める前に、最初のミーティング、中間レビュー、パイロット完了時の総括セッションなど、チームのミーティングをいくつかスケジュールすることをお勧めします。 これらのミーティングは、必要に応じて調整を行い、チームがパイロットを正常に完了できる状態で、準備を行いサポートを受けていることを確認するのに役立ちます。
GHAS 機能をリポジトリごとに、またはパイロットに参加しているすべての Organization のすべてのリポジトリで有効にして、各パイロット プロジェクトについて GHAS を有効にする必要があります。 詳細については、「リポジトリのセキュリティと分析設定を管理する」または「Organization のセキュリティおよび分析設定を管理する」を参照してください。
code scanning のパイロット
GitHub Actions を使用して code scanning を有効にするには、ランナーが GitHub AE でワークフローを実行できるようにする必要があります。「GitHub AE の GitHub Actions を使い始める」をご覧ください。
GitHub Actions ワークフローを作成して CodeQL アクションを実行すると、リポジトリでコード スキャンを実行できます。
GitHub Actions の詳細については、次を参照してください。
パイロット プログラムの一環として、リポジトリごとに code scanning を有効にすることをお勧めします。 詳しくは、「リポジトリの code scanning を構成する」を参照してください。
多くのリポジトリでコード スキャンを有効にする場合は、プロセスのスクリプトを記述することをお勧めします。
GitHub Actions ワークフローを複数のリポジトリに追加する pull request を開くスクリプトの例については、PowerShell を使用する例の場合は jhutchings1/Create-ActionsPRs
リポジトリを、PowerShell を使わず代わりに NodeJS を使用したいチームの場合は nickliffen/ghas-enablement
を参照してください。
初めてコード スキャンを実行すると、結果が見つからなかったり、普通ではない数の結果が返されたりする場合があります。 以降のスキャンでフラグが設定される内容を調整できます。 詳しくは、「code scanning のカスタマイズ」を参照してください。
GitHub code scanning で他のサードパーティ製コード分析ツールを使用する場合は、アクションを使用して、それらのツールを GitHub 内で実行できます。 または、サードパーティ製ツールによって生成された結果を SARIF ファイルとしてコード スキャンにアップロードすることもできます。 詳しくは、「Code scanningと統合する」を参照してください。
secret scanning のパイロット
GitHub は、誤ってコミットされたシークレットの不正使用を防ぐために、リポジトリで既知の種類のシークレットをスキャンします。
リポジトリごとにシークレット スキャン機能を有効にするか、プロジェクトに参加しているすべての組織のすべてのリポジトリで機能を有効にすることにより、各パイロット プロジェクトについて機能を有効にする必要があります。 詳細については、「リポジトリのセキュリティと分析設定を管理する」または「Organization のセキュリティおよび分析設定を管理する」を参照してください。
Enterprise 固有のカスタム パターン、特に secret scanning のパイロットを行うプロジェクトに関連するパターンを照合した場合は、それらを構成できます。 詳しくは、「シークレット スキャンのカスタム パターンの定義」を参照してください。
リポジトリにチェックインしたシークレットのアラートを表示して閉じる方法については、「シークレット スキャンからのアラートの管理」を参照してください。
このシリーズの次の記事については「フェーズ 4: 内部ドキュメントを作成する」を参照してください。