# REST API からのプッシュ保護を操作する

あなたのプッシュがGitHubに対してブロックされている場合、secret scanningがAPI要求のコンテンツ内にシークレットを検出したことを示します。これを解除するためのオプションをREST APIを使用して学びます。

## REST API からのプッシュ保護について

プッシュ保護は、含まれているシークレットを含むプッシュをブロックすることで、誤ってシークレットをリポジトリにコミットすることを防ぎます。

REST API の \[BLOB の作成] エンドポイントと \[ファイルコンテンツの作成または更新] エンドポイントには、プッシュ保護が含まれます。 「[Git BLOB の REST API エンドポイント](/ja/enterprise-server@3.22/rest/git/blobs?apiVersion=2022-11-28#create-a-blob)」と「[リポジトリ コンテンツの REST API エンドポイント](/ja/enterprise-server@3.22/rest/repos/contents?apiVersion=2022-11-28#create-or-update-file-contents)」を参照してください。

サポートされているシークレットがコンテンツに含まれるこれらのエンドポイントで要求を行うと、REST API はシークレットが検出されたことを示す 409 エラーを返します。

このエラーを解決する場合、次のいずれかの操作を行うことができます:

* もう一度試す前に、API 要求のコンテンツからシークレットを **削除** します。
* **プッシュ保護バイパスの作成**: \[プッシュ保護バイパスの作成] エンドポイントを使用してプッシュ保護をバイパスできます。 詳細については、「[シークレット スキャン用の REST API エンドポイント](/ja/enterprise-server@3.22/rest/secret-scanning/secret-scanning?apiVersion=2022-11-28#create-a-push-protection-bypass)」を参照してください。

## 詳細については、次を参照してください。

* [コマンド ラインからのプッシュ保護を操作する](/ja/enterprise-server@3.22/code-security/how-tos/secure-your-secrets/work-with-leak-prevention/push-protection-on-the-command-line)
* [GitHub UI でプッシュ保護を操作する](/ja/enterprise-server@3.22/code-security/how-tos/secure-your-secrets/work-with-leak-prevention/push-protection-in-the-github-ui)