このガイドは、既存または試用中のエンタープライズアカウントで GitHub Advanced Security の試用を計画し、開始していることを前提としています。 「GitHub Advanced Security の試用版を計画する」を参照してください。
イントロダクション
GitHub Secret Protection 機能は、プライベート リポジトリと内部リポジトリで、すべてのパブリック リポジトリと同じように機能します。 この記事では、 GitHub Secret Protectionを使用するときにセキュリティ リークからビジネスを保護するために使用できる追加機能に焦点を当てます。次に示します。
- カスタム パターンを定義して、使用する追加のアクセス トークンを識別する。
- AI を使って潜在的なパスワードを検出する。
- プッシュ保護と シークレット スキャンニング アラートのバイパス プロセスを制御および監査します。
- 公開されたトークンの有効性チェックを有効にします。
無料のシークレット リスク評価を実行する方法については、ドキュメントのGitHub Enterprise Cloudを参照してください。
無料のシークレット リスク評価を使用して、組織内のコードで漏洩したシークレットを既にスキャンしている場合は、組織の [ Security ] タブの追加ビューを使用して、そのデータをより完全に調査することもできます。
使用可能な機能の詳細については、「 GitHub Secret Protection」を参照してください。
Secret Protectionのセキュリティ構成
ほとんどの企業では、これらの機能を有効にしてセキュリティ構成を適用することで、すべてのリポジトリでプッシュ保護を使用して Secret Protection を有効にすることを選択しています。 これにより、ユーザーがGitHubでトークンをリークしようとしているときにフラグを設定するだけでなく、GitHubに既に追加されているアクセス トークンのリポジトリがチェックされます。 Enterprise レベルのセキュリティ構成の作成とテスト リポジトリへの適用については、「試用版 Enterprise でセキュリティ機能を有効にする」を参照してください。
の結果を表示するためのアクセスを提供します。 secret scanning
既定では、リポジトリ管理者と組織の所有者のみが、その領域内のすべての secret scanning アラートを表示できます。 試用の間に検出されたアラートにアクセスできるようにする、organization のすべてのチームとユーザーに、定義済みのセキュリティ マネージャー ロールを割り当てる必要があります。 試用に参加している各 organization の Enterprise アカウント所有者にこのロールを付与することもできます。 詳しくは、「組織でのセキュリティマネージャーの管理」をご覧ください。
評価版企業の組織で見つかった結果の概要は、企業の [ Security ] タブで確認できます。 セキュリティ アラートの種類ごとに個別のビューもあります。 「セキュリティの分析情報の表示」を参照してください。
追加のアクセス トークンを特定する
カスタム パターンを作成して、リポジトリ、organization、Enterprise レベルで追加のアクセス トークンを特定できます。 ほとんどの場合、カスタム パターンを Enterprise レベルで定義する必要があります。これにより、Enterprise 全体でパターンが確実に使われるようになります。 また、トークンの形式が変更されたときにパターンを更新する必要がある場合でも、メンテナンスが容易になります。
カスタム パターンを作成して発行すると、 secret scanning 保護とプッシュ保護の両方に、すべてのスキャンに新しいパターンが自動的に含まれます。 カスタム パターンの作成の詳細については、「シークレット スキャンのカスタム パターンの定義」を参照してください。
AI を使って潜在的なパスワードを検出する
Enterprise レベルでは、正規表現を使って特定できないシークレット (汎用シークレットまたは非プロバイダー パターンとも呼ばれます) を検出するために AI の使用を許可するかどうかを完全に制御できます。
- Enterprise 全体に対して機能をオンまたはオフにする。
- Organization およびリポジトリ レベルで機能の制御を禁止するポリシーを設定する。
- Organization 所有者またはリポジトリ管理者が機能を制御できるようにポリシーを設定する。
カスタム パターンと同様に、 secret scanning とプッシュ保護の両方で AI 検出を有効にすると、すべてのスキャンで AI 検出の使用が自動的に開始されます。 Enterprise レベルの制御については、「エンタープライズ用に追加のシークレット スキャン設定を設定する」と「エンタープライズのコード セキュリティと分析のためのポリシーの適用」を参照してください。
バイパス プロセスの制御と監査
プッシュ保護によって、GitHubなしでパブリック リポジトリ内のGitHub Secret Protectionへのプッシュがブロックされる場合、ユーザーには、コントロールをバイパスするか、ブランチとその履歴から強調表示されたコンテンツを削除するという 2 つの簡単なオプションがあります。 プッシュ保護をバイパスすることを選択した場合は、 secret scanning アラートが自動的に作成されます。 これにより、開発者は、 secret scanningによって識別されたコンテンツの監査証跡を提供しながら、作業のブロックを迅速に解除できます。
通常、大規模なチームは、アクセス トークンやその他のシークレットの公開の可能性をより厳密に制御したいと考えるものです。 GitHub Secret Protectionを使用すると、レビュー担当者グループを定義してプッシュ保護をバイパスする要求を承認できます。これにより、開発者がアクティブなトークンを誤ってリークするリスクを軽減できます。 レビュー担当者グループを定義して、 シークレット スキャンニング アラートを無視する要求を承認することもできます。
レビュー担当者は、organization レベルのセキュリティ構成またはリポジトリの設定で定義されます。 詳しくは、「プッシュ保護のために委任されたバイパスについて」をご覧ください。
有効性チェックを有効にする
有効性チェックを有効にして、検出されたトークンがリポジトリ、organization、Enterprise レベルでまだアクティブであるかどうかをチェックできます。 一般に、Enterprise または organization レベルのセキュリティ構成を使って、Enterprise 全体でこの機能を有効にすることをお勧めします。 詳細については、ドキュメントの GitHub Enterprise Cloudを参照してください。
次のステップ
Secret Protectionの追加コントロールを有効にしたら、ビジネス ニーズに対してそれらをテストし、さらに詳しく調べる準備が整います。 また、 GitHub Code Securityで使用できるオプションを調べることもできます。
* エンタープライズ試用版のお試し GitHub Code Security * 大規模に GitHub Advanced Security を実施する