Skip to main content

为企业启用 GitHub 高级安全性

可配置 GitHub Enterprise Server 以包括 GitHub Advanced Security。 这将提供额外的功能,帮助用户发现和修复其代码中的安全问题。

谁可以使用此功能?

GitHub Advanced Security 可用于 GitHub Enterprise Cloud 和 GitHub Enterprise Server 上的企业帐户。有关详细信息,请参阅“GitHub 的计划”。

有关 GitHub Advanced Security for Azure DevOps 的信息,请参阅 Microsoft Learn 中的配置 GitHub Advanced Security for Azure DevOps

关于启用 GitHub Advanced Security

GitHub Advanced Security 帮助开发者改善和维护代码的安全性和质量。 有关详细信息,请参阅“关于 GitHub 高级安全性”。

为企业启用 GitHub Advanced Security 后,所有组织的存储库管理员都可以启用这些功能,除非你设置了限制访问的策略。 请参阅“强制实施企业的代码安全性和分析策略”。

还可以通过 API 启用或禁用 Advanced Security 功能。 有关详细信息,请参阅 REST API 文档中的“适用于机密扫描的 REST API 终结点”。

有关 GitHub 高级安全的分阶段部署指南,请参阅“大规模采用 GitHub 高级安全性简介”。

检查您的许可是否包含 GitHub Advanced Security

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

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

  2. 在页面左侧的企业帐户边栏中,单击 设置”。

  3. 设置”下,单击“许可证”。

  4. 如果您的许可包括 GitHub Advanced Security,则许可页面将包括显示当前使用情况详细信息的部分。

启用 GitHub Advanced Security 的前提条件

  1. 升级 GitHub Enterprise Server 许可证以包含 GitHub Advanced Security。 有关授权的信息,请参阅“关于 GitHub 高级安全的计费”。

  2. 下载新的许可文件。 请参阅“下载 GitHub Enterprise 许可证”。

  3. 将新许可证文件上传到 GitHub Enterprise Server。 请参阅“将新许可证上传到 GitHub Enterprise Server”。

  4. 审查您计划启用的功能的先决条件。

启用和禁用 GitHub Advanced Security 功能

警告:更改此设置将导致 GitHub Enterprise Server 上面向用户的服务重新启动。 你应仔细安排此更改的时间,以最大程度地减少用户的停机时间。

  1. 在 GitHub Enterprise Server 上的管理帐户中,在任一页面的右上角,单击

  2. 如果你尚未在“站点管理员”页上,请在左上角单击“站点管理员”。

  3. 在“ 站点管理”边栏中,单击“管理控制台”。

  4. 在“设置”边栏中,单击“安全”。

  5. 在“安全”下,选择要启用的功能,取消选择要禁用的任何功能。

  6. 在“设置”边栏下,单击“保存设置”。

    注意:保存 管理控制台 中的设置会重启系统服务,这可能会导致用户可察觉的停机时间。

  7. 等待配置运行完毕。

当 GitHub Enterprise Server 完成重启后,您可以设置新启用功能所需的任何额外资源。 请参阅“为设备配置代码扫描”。

通过管理 shell (SSH) 启用或禁用 GitHub Advanced Security 功能

你可以通过编程方式在 GitHub Enterprise Server 上启用或禁用功能。 有关 GitHub Enterprise Server 的管理 shell 和命令行实用程序的详细信息,请参阅“访问管理 shell (SSH)”和“命令行实用程序”。

例如,当您部署用于暂存或灾难恢复的实例时,可以使用基础架构即代码工具启用任何 GitHub Advanced Security。

  1. 通过 SSH 连接到 你的 GitHub Enterprise Server 实例。 如果实例包含多个节点,例如,如果配置了高可用性或异地复制,则通过 SSH 连接到主节点。 如果使用群集,则可以通过 SSH 连接到任何节点。 将 HOSTNAME 替换为实例的主机名,或节点的主机名或 IP 地址。 有关详细信息,请参阅“访问管理 shell (SSH)”。

    Shell
    ssh -p 122 admin@HOSTNAME
    
  2. 启用 GitHub Advanced Security 的功能。

    • 要启用code scanning,请输入以下命令。

      Shell
      ghe-config app.minio.enabled true
      ghe-config app.code-scanning.enabled true
      
    • 要启用secret scanning,请输入以下命令。

      Shell
      ghe-config app.secret-scanning.enabled true
      
    • 要启用依赖项关系图,请输入以下命令。

      Shell
      ghe-config app.dependency-graph.enabled true
      
  3. 可以禁用 GitHub Advanced Security 的功能。

    • 要禁用 code scanning,请输入以下命令。

      Shell
      ghe-config app.code-scanning.enabled false
      
      • (可选)如果禁用code scanning,还可以为 GitHub Advanced Security禁用内部 MinIO 服务。 如果为实例启用了 Dependabot updates并且要禁用此服务,则还必须禁用 Dependabot updates。 禁用此服务不会影响 GitHub Actions 或 GitHub Packages 的 MinIO 存储。 有关 Dependabot updates的详细信息,请参阅“为企业启用 Dependabot”。

        • 要禁用 Dependabot updates,请输入以下命令。

          Shell
          ghe-config app.dependabot.enabled false
          
        • 要禁用 MinIO,请输入以下命令。

          Shell
          ghe-config app.minio.enabled false
          
    • 要禁用 secret scanning,请输入以下命令。

      Shell
      ghe-config app.secret-scanning.enabled false
      
    • 要禁用依赖项关系图,请输入以下命令。

      ghe-config app.dependency-graph.enabled false
      
  4. 若要应用配置,请运行以下命令。

    注意:在配置运行过程中,你的 GitHub Enterprise Server 实例 上的服务可能会重启,这可能会导致用户短暂停机。

    Shell
    ghe-config-apply
    
  5. 等待配置运行完毕。