Skip to main content

使用 GitHub UI 中的推送保护

了解 secret scanning 在更改中检测到机密时取消阻止提交的选项。

谁可以使用此功能?

Secret scanning alerts for partners runs automatically on public repositories and public npm packages to notify service providers about leaked secrets on GitHub.

Secret scanning alerts for users are available for public repositories for free. Organizations using GitHub Enterprise Cloud with a license for GitHub Advanced Security can also enable secret scanning alerts for users on their private and internal repositories. For more information, see "About secret scanning alerts" and "About GitHub Advanced Security."

For information about how you can try GitHub Enterprise with GitHub Advanced Security for free, see "Setting up a trial of GitHub Enterprise Cloud" and "Setting up a trial of GitHub Advanced Security" in the GitHub Enterprise Cloud documentation.

关于 GitHub UI 中的推送保护

在 GitHub UI 中创建和编辑文件时,推送保护会通过阻止包含支持的机密的提交来防止意外将机密提交到存储库。

如果尝试上传包含支持的机密的文件,GitHub 也会阻止提交。

Note

Web UI 中文件上传的推送保护目前处于测试阶段,可能会更改。

应该:

GitHub 在 Web UI 中一次只显示一个检测到的秘密。 如果存储库中已检测到特定机密并且警报已存在,则 GitHub 不会阻止该机密。

组织所有者可以提供在阻止推送时显示的自定义链接。 此自定义链接可以包含特定于组织的资源和建议。 例如,自定义链接可以指向自述文件,其中包含有关组织的机密保管库、向哪些团队和个人呈报问或是组织对于处理机密和重写提交历史记录的已批准策略的信息。

解决被阻止的提交

使用 Web UI 尝试将受支持的机密提交到受推送保护保护的存储库时,GitHub 将阻止提交。

你将看到一个对话框,其中包含有关机密位置的信息,以及允许推送机密的选项。 机密还会在文件中加下划线,以便可以轻松找到它。

若要解决 Web UI 中被阻止的提交,需要从文件中删除机密。 删除机密后,即可提交更改。

Note

若要了解如何解决命令行上被阻止的推送,请参阅“从命令行使用推送保护”。

绕过推送保护

如果 GitHub 阻止了你认为可以安全提交的机密,则你能够通过指定允许机密的原因来绕过阻止。

允许推送机密时,将在“安全性”选项卡中创建警报。如果指定机密为误报或仅在测试中使用,则 GitHub 会关闭警报,且不会发送通知。 如果指定机密是真实的并且稍后将修复它,GitHub 会将安全警报保持打开状态,并向提交的作者以及存储库管理员发送通知。 有关详细信息,请参阅“管理来自机密扫描的警报”。

当参与者绕过机密的推送保护块时,GitHub 还会向选择接收电子邮件通知的组织所有者、安全管理员和存储库管理员发送电子邮件警报。

  1. 在 GitHub 阻止提交时出现的对话框中,查看机密的名称和位置。

  2. 选择最能描述为何应该能够推送机密的选项。

    • 如果机密仅在测试中使用,并且不会构成任何威胁,请单击“它在测试中使用”。
    • 如果检测到的字符串不是机密,请单击“它是误报”。
    • 如果机密是真实的,但你打算稍后修复它,请单击“稍后修复”。

    注意: 如果存储库启用了秘密扫描,则需要指定绕过推送保护的原因。

    当推送到未启用机密扫描的_公共_存储库时,由于_用户的推送保护_(默认情况下,用户帐户处于启用状态),仍然可以防止意外推送机密。

    通过用户的推送保护,如果公共存储库的推送包含受支持的机密,GitHub 将自动阻止这些推送,但无需指定允许该机密的原因,并且 GitHub 也不会生成警报。 有关详细信息,请参阅“用户的推送保护”。

  3. 单击“允许机密”。

延伸阅读