用户标识和访问管理

已完成

身份验证是企业软件开发生态系统的网关。 每个用户与 GitHub 的交互都从身份验证开始。 虽然个人帐户可以依赖于用户名和密码,但强企业安全性强制实施 双重身份验证(2FA) 或更高级的方法,例如 密码生物识别登录。 将可用性与安全性相平衡至关重要,尤其是在快速节奏的开发环境中。

GitHub Enterprise 中的新式身份验证

为了确保安全简化的身份验证体验,GitHub 支持多种与标识管理系统集成的新式方法:

Passkeys 和 WebAuthn

  • Passkeys 是一种无密码登录方法,与物理设备绑定,并抵御网络钓鱼。
  • WebAuthn 支持生物识别因素和硬件令牌,例如 YubiKey。
  • 这些方法可显著减少基于凭据的攻击并提高登录 UX。

GitHub Mobile for 2FA

用户可以使用 GitHub Mobile 进行身份验证,该移动版支持推送通知,以便快速、安全审批 - 在不中断工作流的情况下增强 2FA。

OAuth 和 GitHub 应用

  • OAuth 应用 使用 GitHub 的 OAuth 2.0 流对用户进行身份验证,并授予对外部应用程序的范围访问权限。
  • GitHub 应用 作为具有精细权限的单独安装进行身份验证,非常适合 CI/CD 和自动化管道。

Enterprise 托管用户 (EMU)

GitHub Enterprise Cloud 中,EMU 确保通过 标识提供者(IdP)严格执行身份验证。 此模型:

  • 仅限制对企业管理的帐户的访问。
  • 强制对标识、凭据和会话策略进行集中控制。

使用 SAML SSO 进行组织管理

企业级身份验证的基础功能是 SAML 单一 Sign-On(SSO)。 SAML 将 IdP 与 GitHub 链接,使用户能够使用一组凭据跨服务登录。 GitHub 使用 IdP 在授予对组织或企业资源的访问权限之前验证用户标识。

当用户登录到 GitHub 时,他们可以看到他们所属的企业,但访问存储库数据需要通过 IdP 重新进行身份验证。

作为 企业管理员,你的职责包括:

  • 根据角色和需要知道来授权访问权限。
  • 监视和审核用户活动。
  • 限制权限范围并将攻击面降到最低。

管理存储库权限列表审阅的示例的屏幕截图。

若要为组织配置 SAML SSO,请将 IdP 与 GitHub 集成。 支持的提供程序包括:

  • Active Directory 联合服务 (AD FS)
  • Microsoft Entra ID
  • Okta
  • OneLogin
  • PingOne
  • Shibboleth

注意

GitHub 为实现 SAML 2.0 标准的标识提供者提供有限的支持。

企业访问和授权控制

GitHub 中的访问受可靠的多层授权模型控制:

Fine-Grained 个人访问令牌(PAT)

与经典 PAT 不同,细粒度 PAT

  • 限制对特定存储库和范围的访问。
  • 支持自动过期以降低风险风险。
  • 提供增强的可跟踪性和合规性控制。

自定义存储库角色

管理员可以定义超出默认权限集的 自定义角色 。 这支持:

  • 针对唯一工作流定制的委派访问权限。
  • 对敏感存储库执行最小特权原则。

安全策略强制实施

可以强制实施全局安全控制,例如:

  • 对所有用户强制实施 2FA
  • IP 允许列表 限制对已批准的网络的访问。
  • 除非获得明确批准,否则阻止未经验证的 OAuth 应用。

组织和企业级控件

  • 组织级 控制包括默认角色、基于团队的访问以及外部协作者的管理。
  • 企业级 治理包括:
    • 集中式 SAML 强制措施。
    • 基于 IdP 的登录限制。
    • 通过 GitHub Enterprise Cloud 实施全局策略。

存储库可见性和内部访问

当组织成员创建存储库时,他们可以在 公共专用内部 可见性选项之间进行选择:

  • 公共:可供 Internet 上的任何人使用。
  • 专用:受限于所选用户。
  • 内部:对企业中的所有成员可见,但对外部用户隐藏。

这种粒度可确保源代码、文档和其他资产仅与适当的利益干系人共享。