{"meta":{"title":"使用与 REST API 相关的推送保护","intro":"了解用于当 GitHub 在 API 请求内容中检测到机密时使用 REST API 取消阻止推送到 secret scanning 的选项。","product":"安全性和代码质量","breadcrumbs":[{"href":"/zh/code-security","title":"安全性和代码质量"},{"href":"/zh/code-security/concepts","title":"Concepts"},{"href":"/zh/code-security/concepts/secret-security","title":"机密安全性"},{"href":"/zh/code-security/concepts/secret-security/push-protection-from-the-rest-api","title":"通过 REST API 的推送保护"}],"documentType":"article"},"body":"# 使用与 REST API 相关的推送保护\n\n了解用于当 GitHub 在 API 请求内容中检测到机密时使用 REST API 取消阻止推送到 secret scanning 的选项。\n\n## 关于 REST API 的推送防护机制\n\n推送保护通过阻止包含支持的机密的推送，防止你无意将机密提交到存储库。\n\nREST API 中的“创建 blob”和“创建或更新文件内容”终结点包括推送保护。 请参阅 [Git Blob 的 REST API 端点](/zh/rest/git/blobs?apiVersion=2022-11-28#create-a-blob) 和 [存储库内容的 REST API 终结点](/zh/rest/repos/contents?apiVersion=2022-11-28#create-or-update-file-contents)。\n\n如果对内容包括受支持的机密的这些终结点发出请求，REST API 将返回 409 错误，指示检测到机密。\n\n可通过以下任一方法解决该错误：\n\n* 在重试之前，从 API 请求的内容中**删除**机密。\n* **创建推送保护绕过**：你可以使用“创建推送保护绕过”终结点绕过推送保护。 有关详细信息，请参阅“[适用于机密扫描的 REST API 终结点](/zh/rest/secret-scanning/secret-scanning?apiVersion=2022-11-28#create-a-push-protection-bypass)”。\n\n## 延伸阅读\n\n* [从命令行使用推送保护](/zh/code-security/how-tos/secure-your-secrets/work-with-leak-prevention/push-protection-on-the-command-line)\n* [通过 GitHub UI 使用推送保护功能](/zh/code-security/how-tos/secure-your-secrets/work-with-leak-prevention/push-protection-in-the-github-ui)"}