Skip to main content

存储库和组织的推送保护

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

谁可以使用此功能?

如果你的企业拥有 GitHub Advanced Security 的许可证,则推送保护可用于 GitHub Advanced Security 中的组织拥有的存储库。

注意:站点管理员必须为 你的 GitHub Enterprise Server 实例 启用 secret scanning,你才能使用这些功能。 有关详细信息,请参阅“为设备配置密码扫描”。

如果企业所有者在企业级别设置了策略,你可能无法启用或禁用 secret scanning。 有关详细信息,请参阅“强制实施企业的代码安全性和分析策略”。

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

截至目前,secret scanning 在推送后检查机密,并向用户提醒公开的机密。__ 为组织或存储库启用推送保护时,secret scanning 还会检查推送是否支持受支持的机密。 Secret scanning 列出了它检测到的所有机密,便于作者进行查看和删除,或者根据允许推送这些机密。 Secret scanning 还可以检查推送的自定义模式。 有关详细信息,请参阅“为机密扫描定义自定义模式”。

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

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

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

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

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

如果是组织所有者或安全管理员,则可以查看有关推送保护在整个组织中执行情况的指标。 有关详细信息,请参阅“查看组织中机密扫描推送保护的指标”。

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

启用 secret scanning 作为推送保护

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

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

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

企业管理员还可以通过 API 启用或禁用 secret scanning 作为企业的推送保护。 有关详细信息,请参阅“适用于企业代码安全性和分析的 REST API 终结点”。

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

启用 secret scanning 作为企业的推送保护

  1. 在 GitHub Enterprise Server 的右上角,单击你的个人资料照片,然后单击“企业设置”****。

    单击 GitHub Enterprise Server 上的个人资料照片时显示的下拉菜单的屏幕截图。 “企业设置”选项以深橙色边框突出显示。

  2. 在企业帐户边栏中,单击“设置”。

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

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

    “代码安全性和分析”页的“推送保护”部分的屏幕截图。 标记为“全部启用”和“全部禁用”的两个按钮以深橙色突出显示。

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

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

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

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

可以使用安全概述来查找一组存储库,并同时启用或禁用 secret scanning 作为所有这些存储库的推送保护。 有关详细信息,请参阅“为多个存储库启用安全功能”。

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

  1. 在 你的 GitHub Enterprise Server 实例 上,导航到组织的主页。

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

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

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

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

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

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

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

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

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

  1. 在 你的 GitHub Enterprise Server 实例 上,导航到存储库的主页。

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

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

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

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

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

为自定义模式启用推送保护

可以启用 secret scanning 作为在企业、组织或存储库级别存储的自定义模式的推送保护。

为企业中存储的自定义模式启用推送保护

注意:

  • 若要为自定义模式启用推送保护,需要在企业级启用 secret scanning 作为推送保护。 有关详细信息,请参阅“存储库和组织的推送保护”。
  • 为常见的自定义模式启用推送保护可能会对参与者造成干扰。

在企业级别为自定义模式启用推送保护之前,还必须使用试运行测试自定义模式。 只能对具有管理访问权限的存储库执行试运行。 如果企业所有者想要对组织中的任何存储库执行试运行,则必须分配有组织所有者角色才可以。 有关详细信息,请参阅“管理企业拥有的组织中的角色”。

  1. 在 GitHub Enterprise Server 的右上角,单击你的个人资料照片,然后单击“企业设置”****。

    单击 GitHub Enterprise Server 上的个人资料照片时显示的下拉菜单的屏幕截图。 “企业设置”选项以深橙色边框突出显示。

  2. 在企业帐户边栏中,单击“ 策略”。 1. 在 “策略”下,单击“代码安全性和分析”。

  3. 在“代码安全性和分析”下,单击“安全功能”。 1. 在“Secret scanning”的“自定义模式”下,单击 以获取感兴趣的模式。

    Note

    在企业级别,只能为已创建的自定义模式编辑和启用推送保护。

  4. 若要为自定义模式启用推送保护,请向下滚动到“推送保护”,然后单击“启用”。

    Note

    启用推送保护的选项仅对已发布的模式可见。

    自定义模式页面的屏幕截图,其中“启用推送保护”按钮以深橙色边框突出显示。

启用 secret scanning 作为组织中自定义模式的推送保护

在组织级别为自定义模式启用推送保护之前,必须确保在组织中为要扫描的存储库启用 secret scanning。 要启用组织中所有存储库上的 secret scanning,请参阅“管理组织的安全和分析设置”。

  1. 在 GitHub Enterprise Server 的右上角,选择个人资料照片,然后单击 “你的组织”****。

    @octocat 的个人资料图片下的下拉菜单的屏幕截图。 “你的组织”以深橙色标出。

  2. 在组织旁边,单击“设置”。

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

  4. 在“代码安全性和分析”下,查找“GitHub Advanced Security”。1. 在“Secret scanning”的“自定义模式”下,单击 以获取感兴趣的模式。

  5. 若要为自定义模式启用推送保护,请向下滚动到“推送保护”,然后单击“启用”。

    注意:

    • 启用推送保护的选项仅对已发布的模式可见。
    • 自定义模式的推送保护仅适用于组织中启用了 secret scanning 作为推送保护的存储库。 有关详细信息,请参阅“存储库和组织的推送保护”。
    • 为常见的自定义模式启用推送保护可能会对参与者造成干扰。

    自定义模式页的“推送保护”部分的屏幕截图。 标有“启用”的按钮用深橙色框出。

启用 secret scanning 作为存储库中自定义模式的推送保护

在存储库级别为自定义模式启用推送保护之前,必须定义存储库的自定义模式,并在存储库中对其进行测试。 有关详细信息,请参阅“为机密扫描定义自定义模式”。

  1. 在 你的 GitHub Enterprise Server 实例 上,导航到存储库的主页。

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

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

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

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

  5. 在“Secret scanning”的“自定义模式”下,单击 以获取感兴趣的模式。

  6. 若要为自定义模式启用推送保护,请向下滚动到“推送保护”,然后单击“启用”。

    Note

    启用推送保护的选项仅对已发布的模式可见。

    自定义模式页的“推送保护”部分的屏幕截图。 标有“启用”的按钮用深橙色框出。

延伸阅读