secret scanningについて
プロジェクトを外部サービスと通信させる場合、認証にトークンまたは秘密鍵を使用できます。 トークンや秘密鍵は、サービスプロバイダが発行できるシークレットです。 リポジトリにシークレットをチェックインする場合、リポジトリへの読み取りアクセスを持つすべてのユーザがシークレットを使用して、自分の権限で外部サービスにアクセスできます。 シークレットは、プロジェクトのリポジトリの外の、安全な専用の場所に保存することをお勧めします。
Secret scanningでは、シークレットの GitHub リポジトリに存在するすべてのブランチ上の Git 履歴全体がスキャンされます。
Secret scanningは、GitHub.com で次の 2 つの形式で使用できます。
-
。 すべてのパブリック リポジトリで自動的に実行されます。 シークレット スキャン パートナーによって指定されたパターンと一致するすべての文字列が、関連するパートナーに直接報告されます。
-
。 GitHub Advanced Security のライセンスで GitHub Enterprise Cloud を使っている Organization は、Organization が所有するリポジトリの追加スキャンを有効にして構成できます。secret scanning パートナーや他のサービス プロバイダーによって提供されるパターン、または Organization で定義したパターンと一致する文字列は、リポジトリの [セキュリティ] タブでアラートとして報告されます。 パブリック リポジトリ内の文字列がパートナーのパターンと一致する場合は、パートナーにも報告されます。詳しくは、GitHub Enterprise Cloud のドキュメントをご覧ください。
サービス プロバイダーは GitHub と提携して、スキャンのためのシークレット フォーマットを指定することができます。 パートナー プログラムについては、「Secret scanning パートナー プログラム」をご覧ください。
について
リポジトリをパブリックにするか、パブリック リポジトリに変更をプッシュすると、GitHub では常にコードがスキャンされて、パートナー パターンと一致するシークレットがないか確認されます。 secret scanning によって潜在的シークレットが検出された場合、シークレットを発行したサービス プロバイダーに通知します。 サービス プロバイダーは文字列を検証してから、シークレットを取り消すか、新しいシークレットを発行するか、または直接連絡するかを決定します。 その対応は、ユーザーまたはプロバイダーに関連するリスクによって決まります。 詳細については、「Supported secrets for partner patterns」(パートナー パターンでサポートされるシークレット) を参照してください。
パブリック リポジトリのsecret scanningの構成を変更することはできません。
注: GitHub Enterprise Cloud と GitHub Advanced Security を使用している Organization は、プライベート リポジトリを含め、所有するすべてのリポジトリで を有効にすることもできます。 詳細については、GitHub Enterprise Cloud ドキュメントを参照してください。