Skip to main content

此版本的 GitHub Enterprise Server 已于以下日期停止服务 2024-03-26. 即使针对重大安全问题,也不会发布补丁。 为了获得更好的性能、更高的安全性和新功能,请升级到最新版本的 GitHub Enterprise。 如需升级帮助,请联系 GitHub Enterprise 支持

为存储库配置机密扫描

可以配置 GitHub 如何扫描存储库中遭到泄露的机密并生成警报。

谁可以使用此功能?

People with admin permissions to a repository can enable secret scanning for the repository.

如果企业拥有 GitHub Advanced Security许可证,则 Secret scanning 可在 GitHub Enterprise Server 中用于由组织拥有的存储库。 有关详细信息,请参阅 “关于机密扫描”和“关于 GitHub 高级安全性”。

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

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

启用 机密扫描

可以为任何组织拥有的存储库启用机密扫描。 启用后,secret scanning 将在 GitHub 仓库中存在的所有分支上扫描整个 Git 历史记录的任何密钥。 Secret scanning 不会扫描问题。 中的标题、描述和评论

还可以同时为组织中的多个存储库启用 secret scanning。 有关详细信息,请参阅“保护你的组织”。

注意:如果组织由企业帐户拥有,则企业所有者还可以在企业级别启用 secret scanning。 有关详细信息,请参阅“管理企业的 GitHub Advanced Security 功能”。

存储库管理员可以选择随时为存储库禁用secret scanning。 有关详细信息,请参阅“管理存储库的安全和分析设置”。

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

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

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

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

  4. 如果尚未对存储库启用 Advanced Security,请在“GitHub Advanced Security”右侧单击“启用”。

  5. 查看启用 Advanced Security 的影响,然后单击“为此存储库启用 GitHub Advanced Security”。

  6. 当您启用 Advanced Security 时,secret scanning 可能会因为组织的设置而自动启用。 如果显示“Secret scanning”带有“启用”按钮,则仍需通过单击“启用”来启用 secret scanning 。 如果你看到“禁用”按钮,则表示 secret scanning 已启用。

    “代码安全和分析”页的“Secret scanning”部分的屏幕截图,其中“启用”按钮以深橙色边框突出显示。

启用 机密扫描 的额外功能

可以通过存储库的“代码安全和分析”设置启用以下附加 secret scanning 功能:

从 机密扫描 中排除目录

可以将 secret_scanning.yml 文件配置为从 secret scanning 中排除目录,包括使用推送保护时。 例如,可以排除包含测试或随机生成内容的目录。

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

  2. 在文件列表上方,使用“添加文件”下拉列表,在其中单击“创建新文件” 。

  3. 在文件名字段中,键入 .github/secret_scanning.yml。

  4. 在“编辑新文件”下,键入 paths-ignore:,后跟要从 secret scanning 中排除的路径。

    paths-ignore:
      - "foo/bar/*.js"
    

    可以使用特殊字符(例如 *)来筛选路径。 有关筛选器模式的详细信息,请参阅“GitHub Actions 的工作流语法”。

    注意:

    • 如果 paths-ignore 中的条目超过 1,000 个,secret scanning 只会从扫描中排除前 1,000 个目录。
    • 如果 secret_scanning.yml 大于 1 MB,secret scanning 将忽略整个文件。

您也可以忽略来自 secret scanning 的个别警报。 有关详细信息,请参阅“管理来自机密扫描的警报”。

延伸阅读