Skip to main content

ユーザーのプッシュ保護

ユーザーのプッシュ保護を使用すると、GitHub 全体のパブリック リポジトリへのすべてのプッシュで自動的に保護されます。

この機能を使用できるユーザーについて

ユーザーのプッシュ保護は、次のリポジトリの種類で既定でオンになっています。

  • パブリック リポジトリ

ユーザーのプッシュ保護について

ユーザーのプッシュ保護により、GitHub 全体でシークレットが誤ってパブリック リポジトリにコミットされるのを自動的に保護できます。

シークレットをパブリック リポジトリにプッシュしようとすると、GitHub によってプッシュがブロックされます。 シークレットを許可しても安全であると思われる場合は、ブロックをバイパスするオプションがあります。 それ以外の場合は、再度プッシュする前に、コミットからシークレットを削除する必要があります。 禁止されたプッシュの解決方法の詳細については、GitHub UI を使用するかコマンド ラインを使用するかに応じて、「GitHub UI でのプッシュ保護の操作」または「コマンド ラインからのプッシュ保護を操作する」を参照してください。

ユーザーのプッシュ保護は、既定で常にオンになっています。 この機能は、個人用アカウント設定を使用していつでも無効にすることができます。 これにより、シークレットが誤って漏洩する可能性があります。 詳しくは、「ユーザーのプッシュ保護の無効化」を参照してください。

ユーザーのプッシュ保護は、リポジトリ管理者または組織のオーナーが有効にする必要がある secret scanning 機能である _リポジトリおよび組織のプッシュ保護_とは異なります。 リポジトリと組織のプッシュ保護を使用すると、secret scanning は共同作成者がシークレットをリポジトリにプッシュするのをブロックし、共同作成者が保護をバイパスするたびにアラートを生成します。 詳しくは、「プッシュ保護について」をご覧ください。

ユーザーのプッシュ保護では、リポジトリ自体で GitHub が有効になっていない限り、保護をバイパスしてシークレットをパブリック リポジトリにプッシュしても、GitHub はアラートを作成しません。 ただし、バイパスされたシークレットが GitHub トークンの場合、トークンは取り消され、電子メールで通知されます。

プッシュ保護のためにサポートされるシークレットとサービス プロバイダーの詳細については、「サポートされているシークレット スキャン パターン」を参照してください。

ユーザーのプッシュ保護を無効にする

個人アカウントの設定を使用して、ユーザーのプッシュ保護を無効にすることができます。

  1. GitHub で、任意のページの右上隅にある自分のプロフィール写真をクリックしてから、 [設定] をクリックします。

  2. サイドバーの [Security] セクションで、[ Code security] をクリックします。

  3. 「ユーザー」の「自分の保護をプッシュする」の右側にある [無効にする] をクリックします。

    「コードのセキュリティと解析」設定ページの「ユーザー」セクションのスクリーンショット。 "無効" というラベルが付いたボタンが濃いオレンジ色の枠線で囲まれています。