Skip to main content

現在、GitHub AE は限定的リリースです。

シークレット スキャンについて

GitHub AE はリポジトリをスキャンして既知のシークレットのタイプを探し、誤ってコミットされたシークレットの不正使用を防止します。

GitHub AE の Organization 所有のリポジトリで Secret scanning が利用できます。 これは GitHub Advanced Security の機能です (ベータ リリース中は無料)。

secret scanningについて

プロジェクトを外部サービスと通信させる場合、認証にトークンまたは秘密鍵を使用できます。 トークンや秘密鍵は、サービスプロバイダが発行できるシークレットです。 リポジトリにシークレットをチェックインする場合、リポジトリへの読み取りアクセスを持つすべてのユーザがシークレットを使用して、自分の権限で外部サービスにアクセスできます。 シークレットは、プロジェクトのリポジトリの外の、安全な専用の場所に保存することをお勧めします。

Secret scanning では、シークレットの GitHub リポジトリ (リポジトリがアーカイブされている場合も含む) に存在するすべてのブランチ上の Git 履歴全体がスキャンされます。 Secret scanning は問題をスキャンしません。

GitHub ツールを使用して、secret scanning アラートに応答して実行されたアクションを監査できます。 詳しくは、「セキュリティ アラートの監査」を参照してください。

また、リポジトリまたは組織のプッシュ保護としてsecret scanningを有効にすることもできます。 この機能を有効にすると、secret scanningでは、共同作成者が検出済みのシークレットを含むコードをプッシュできなくなります。 続行するには、共同作成者がプッシュからシークレットを削除するか、必要に応じて保護をバイパスします。 詳しくは、「リポジトリと組織のプッシュ保護」をご覧ください。

注: secret scanning またはプッシュ保護が有効になっているリポジトリをフォークした場合、フォークではこれらの機能は既定で有効になりません。 スタンドアロン リポジトリで有効にするのと同じ方法で、secret scanning を有効にするか、フォークで保護をプッシュできます。

GitHub AE の シークレット スキャンについて

シークレット スキャンニング は GitHub Advanced Security の一部として、組織が所有するすべてのリポジトリで利用できます。 この機能は、ユーザーが所有するリポジトリでは使用できません。リポジトリに対して secret scanning を有効にする場合、GitHub によって、多くのサービス プロバイダーが使うシークレットに一致するパターンがコードでスキャンされます。

サポートされているシークレットが漏洩した場合、GitHub AE は、secret scanning アラートを生成します。 詳細については、「Secret scanning パターン」を参照してください。

リポジトリ管理者は、任意のリポジトリ (アーカイブされたリポジトリを含む) に対して シークレット スキャン を有効にすることができます。 組織の所有者は、すべてのリポジトリ、または組織内のすべての新しいリポジトリに対して シークレット スキャン を有効にすることもできます。 詳細については、「リポジトリのセキュリティと分析設定を管理する」および「組織のセキュリティおよび分析設定を管理する」を参照してください。

リポジトリ、組織、またはエンタープライズ用のカスタム secret scanning パターンを定義することもできます。 詳しくは、GitHub Enterprise Cloud ドキュメントの「シークレット スキャンのカスタム パターンの定義

シークレット スキャンニング アラート

へのアクセス

リポジトリの secret scanning を有効にする、または secret scanning が有効になっているリポジトリにコミットをプッシュすると、GitHub によってその内容がスキャンされ、サービス プロバイダーで定義されているパターン、およびエンタープライズ、組織、またはリポジトリで定義されているカスタム パターンと一致するシークレットが確認されます。

secret scanning がコミット内のシークレットを検出した場合、GitHub によってアラートが生成されます。

  • GitHub は、リポジトリ管理者と Organizationのオーナーにメールアラートを送信します。 リポジトリセキュリティ アラートまたはリポジトリ。
  • コミットでシークレットを導入したユーザーがリポジトリを無視していない場合、GitHub によって電子メール アラートも送信されます。 メールには、関連する secret scanning アラートへのリンクが含まれています。 シークレットを導入したユーザーは、リポジトリでこのアラートを表示して、アラートを解決できます。
  • GitHub のリポジトリの [セキュリティ] タブにアラートが表示されます。

シークレット スキャンニング アラート の表示と解決について詳しくは、「シークレット スキャンからのアラートの管理」を参照してください。

リポジトリ管理者と組織所有者は、ユーザーおよびチームに シークレット スキャンニング アラート へのアクセスを許可できます。 詳しくは、「リポジトリのセキュリティと分析設定を管理する」を参照してください。

セキュリティの概要を使って、secret scanning が有効になっているリポジトリと検出されたアラートの組織レベルのビューを表示できます。 詳しくは、「セキュリティの概要について」を参照してください。

また、REST API を使って、リポジトリ全体でsecret scanningからの結果を監視できます。 API エンドポイントについて詳しくは、「シークレット スキャン」を参照してください。

参考資料