注: この機能を使うには、サイト管理者が お使いの GitHub Enterprise Server インスタンス の secret scanning を有効にする必要があります。 詳しくは、「アプライアンスのシークレットスキャンを設定する」を参照してください。
secret scanningについて
プロジェクトを外部サービスと通信させる場合、認証にトークンまたは秘密鍵を使用できます。 トークンや秘密鍵は、サービスプロバイダが発行できるシークレットです。 リポジトリにシークレットをチェックインする場合、リポジトリへの読み取りアクセスを持つすべてのユーザがシークレットを使用して、自分の権限で外部サービスにアクセスできます。 シークレットは、プロジェクトのリポジトリの外の、安全な専用の場所に保存することをお勧めします。
Secret scanningでは、シークレットの GitHub リポジトリに存在するすべてのブランチ上の Git 履歴全体がスキャンされます。
GitHub ツールを使用して、secret scanning アラートに応答して実行されたアクションを監査できます。 詳しくは、「セキュリティ アラートの監査」を参照してください。
サービス プロバイダーは GitHub と提携して、スキャンのためのシークレット フォーマットを指定することができます。 パートナー プログラムについては、GitHub Enterprise Cloud ドキュメントの「Secret scanningパートナープログラム」を参照してください。
GitHub Enterprise Server の シークレット スキャンについて
シークレット スキャン は GitHub Advanced Security の一部として、組織が所有するすべてのリポジトリで利用できます。 この機能は、ユーザーが所有するリポジトリでは使用できません。リポジトリに対して secret scanning を有効にする場合、GitHub によって、多くのサービス プロバイダーが使うシークレットに一致するパターンがコードでスキャンされます。
サポートされているシークレットが漏洩した場合、GitHub Enterprise Server は、secret scanning アラートを生成します。 詳細については、「Secret scanning パターン」を参照してください。
リポジトリ管理者は、任意のリポジトリに対して シークレット スキャン を有効にすることができます。 組織の所有者は、すべてのリポジトリ、または組織内のすべての新しいリポジトリに対して シークレット スキャン を有効にすることもできます。 詳細については、「リポジトリのセキュリティと分析設定を管理する」および「Organization のセキュリティおよび分析設定を管理する」を参照してください。
リポジトリ、組織、またはエンタープライズ用のカスタム secret scanning パターンを定義することもできます。 詳しくは、GitHub Enterprise Cloud ドキュメントの「シークレット スキャンのカスタム パターンの定義
シークレット スキャン アラート へのアクセス
リポジトリの secret scanningを有効にする、または secret scanningが有効になっているリポジトリにコミットをプッシュすると、GitHub によってそれらのコミットの内容がスキャンされて、サービス プロバイダーで定義されているパターン、および Enterprise、Organization、またはリポジトリで定義されているカスタム パターンと一致するシークレットが確認されます。
secret scanningでシークレットが検出されると、GitHub によってアラートが送信されます。
- GitHub は、リポジトリ管理者と Organizationのオーナーにメールアラートを送信します。 リポジトリセキュリティ アラートまたはリポジトリ。
- シークレットをコミットしたコントリビューターがリポジトリを無視していない場合も、GitHub によってコントリビューターにメール アラートが送信されます。 メールには、関連する secret scanning アラートへのリンクが含まれています。 コミット作者は、リポジトリでこのアラートを表示して、アラートを解決できます。
- GitHub のリポジトリの [セキュリティ] タブにアラートが表示されます。
シークレット スキャン アラート の表示と解決について詳しくは、「シークレット スキャンからのアラートの管理」を参照してください。
リポジトリ管理者と組織所有者は、ユーザーおよびチームに シークレット スキャン アラート へのアクセスを許可できます。 詳しくは、「リポジトリのセキュリティと分析設定を管理する」を参照してください。
セキュリティの概要を使って、secret scanning が有効になっているリポジトリと検出されたアラートの組織レベルのビューを表示できます。 詳しくは、「セキュリティの概要について」を参照してください。
また、REST API を使って、リポジトリまたは組織全体でsecret scanningからの結果を監視できます。 API エンドポイントについて詳しくは、「シークレット スキャン」を参照してください。