用户标识和访问管理
身份验证是企业软件开发生态系统的网关。 每个用户与 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 上的任何人使用。
- 专用:受限于所选用户。
- 内部:对企业中的所有成员可见,但对外部用户隐藏。
这种粒度可确保源代码、文档和其他资产仅与适当的利益干系人共享。