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