Skip to main content

存储库和组织的推送保护

通过对存储库和组织的推送保护,secret scanning 会阻止参与者将机密推送到存储库,并在参与者绕过该阻止时生成警报。

谁可以使用此功能?

公共存储库可免费使用存储库和组织推送保护功能。 使用 GitHub Enterprise Cloud 且拥有 GitHub Advanced Security 许可证的组织也可以在其专用存储库和内部存储库上启用推送保护。

存储库和组织的推送保护简介

截至目前,secret scanning 在推送后检查机密,并向用户提醒公开的机密。__ 为组织或存储库启用推送保护时,secret scanning 还会检查推送是否支持受支持的机密。 Secret scanning 列出了它检测到的所有机密,便于作者进行查看和删除,或者根据允许推送这些机密。

如果参与者绕过机密的推送保护块,GitHub:

  • 在存储库的“安全性”选项卡中创建一条警报。****
  • 将绕过事件添加到审核日志。
  • 向监管存储库的组织或个人帐户所有者、安全管理员和存储库管理员发送一封电子邮件警报,其中包含指向机密的链接以及允许使用该机密的原因。

此表显示了用户可以绕过推送保护块的每种方式的警报行为。

绕过原因警报行为
它在测试中使用GitHub 创建已关闭的警报,该警报解析为“在测试中使用”
这是假正GitHub 创建已关闭的警报,该警报解析为“假正”
我稍后会修复它GitHub 创建未结警报

在存储库或组织的 secret scanning 警报页上,你可以应用 bypassed:true 筛选条件轻松查看哪些警报是用户绕过推送保护产生的结果。 有关查看这些警报的详细信息,请参阅“管理来自机密扫描的警报”。

可以监视安全警报,了解用户何时绕过推送保护并创建警报。 有关详细信息,请参阅“审核安全警报”。

**** 注意:github.dev 基于 Web 的编辑器不支持推送保护。 有关编辑器的详细信息,请参阅“github.dev 基于 web 的编辑器”。

有关推送保护支持的机密和服务提供商的信息,请参阅“机密扫描模式”。

启用 secret scanning 作为推送保护

若要在公共存储库中使用 secret scanning 作为推送保护,组织或存储库需要启用 secret scanning。 的用户自有存储库 有关详细信息,请参阅 “管理组织的安全和分析设置”、“管理存储库的安全和分析设置”和“关于 GitHub 高级安全性”。

组织所有者、安全管理员和存储库管理员还可以通过 API 为 secret scanning 启用推送保护。 有关详细信息,请参阅“存储库的 REST API 终结点”,并展开“security_and_analysis 对象的属性”部分。

组织所有者可以提供在阻止推送时显示的自定义链接。 此自定义链接可以包含特定于组织的资源和建议,例如有关使用建议机密保管库或者要联系谁来了解与所阻止的机密相关的问题的指示。

还可以通过个人帐户设置为所有现有公共存储库启用推送保护。 对于新创建的任何公共存储库,默认情况下将启用推送保护。 有关详细信息,请参阅“为存储库配置机密扫描”。

注意:**** 在启用了 secret scanning 作为推送保护的情况下为存储库创建分支时,默认情况下不会在分支上启用此功能。 可以在分支上启用此功能,就像在独立存储库上启用它一样。

启用 secret scanning 作为组织的推送保护

可以使用“代码安全性和分析”的组织设置页,为组织中的所有现有存储库启用或禁用作为推送保护的 secret scanning。

  1. 在 GitHub.com 上,导航到组织的主页。

  2. 在组织名称下,单击 “设置”****。 如果看不到“设置”选项卡,请选择“”下拉菜单,然后单击“设置”********。

    组织配置文件中选项卡的屏幕截图。 “设置”选项卡以深橙色标出。

  3. 在边栏的“安全性”部分中,单击“ 代码安全性和分析”。

Note

如果你的组织已注册参加 security configurations 和 global settings 公共 beta 版本,则会看到“代码安全”下拉菜单,而不是“代码安全和分析”下拉菜单。 选择 代码安全,然后单击“配置”。 有关如何为具有 security configurations 大规模启用推送保护和其他安全功能的后续步骤,请参阅“在组织中应用 GitHub 建议的安全配置”。

  1. 在“代码安全性和分析”下,查找“GitHub Advanced Security”。1. 在“Secret scanning”下的“推送保护”下,单击“全部启用”。

  2. (可选)单击“自动启用添加到 secret scanning 的存储库”。

  3. (可选)若要在消息中包含成员在尝试推送机密时会看到的自定义链接,请选择“阻止提交时在 CLI 和 Web UI 中添加资源链接”,然后键入 URL,并单击“保存链接” 。

    “代码安全性和分析”页的“推送保护”部分的屏幕截图。 “在阻止提交时在 CLI 和 Web UI 中添加资源链接”复选框和自定义链接文本字段以深橙色边框突出显示。

有关在整个组织中启用安全功能的详细信息,请参阅“保护组织快速入门”。

启用 secret scanning 作为存储库的推送保护

  1. 在 GitHub.com 上,导航到存储库的主页。

  2. 在存储库名称下,单击 “设置”。 如果看不到“设置”选项卡,请选择“”下拉菜单,然后单击“设置”********。

    存储库标头的屏幕截图,其中显示了选项卡。 “设置”选项卡以深橙色边框突出显示。

  3. 在边栏的“安全性”部分中,单击“ 代码安全性和分析”。

  4. 在“代码安全性和分析”下,查找“GitHub Advanced Security”。

  5. 在“Secret scanning”下的“推送保护”下,单击“启用”。

延伸阅读