关于 SAML SSO
SAML SSO 允许你从 SAML IdP 集中控制和安全访问 你的 GitHub Enterprise Server 实例。 当未经身份验证的用户在浏览器中访问 你的 GitHub Enterprise Server 实例 时,GitHub Enterprise Server 会将用户重定向到你的 SAML IdP 进行身份验证。 在用户使用 IdP 上的帐户成功进行身份验证后,IdP 会将用户重定向回 你的 GitHub Enterprise Server 实例。 GitHub Enterprise Server 将验证 IdP 的响应,然后授予用户访问权限。
当用户在 IdP 上成功进行身份验证后,用户对 你的 GitHub Enterprise Server 实例 的 SAML 会话将在浏览器中激活 24 小时。 24 小时后,用户必须再次使用您的 IdP 进行身份验证。
使用 JIT 预配时,如果从 IdP 中删除用户,还必须在 你的 GitHub Enterprise Server 实例 上手动暂停该用户的帐户。 否则,帐户的所有者可以继续使用访问令牌或 SSH 密钥进行身份验证。 有关详细信息,请参阅“挂起和取消挂起用户”。
支持的身份提供程序
GitHub Enterprise Server 支持 SAML SSO 与采用 SAML 2.0 标准的 IdP 一起使用。 有关详细信息,请参阅 OASIS 网站上的 SAML Wiki。
GitHub 官方支持和内部测试以下 IdP。
- Active Directory 联合身份验证服务 (AD FS)
- Azure Active Directory (Azure AD)
- Okta
- OneLogin
- PingOne
- Shibboleth
配置 SAML SSO
可以为 你的 GitHub Enterprise Server 实例 启用或禁用 SAML 身份验证,也可以编辑现有配置。 可以在 管理控制台 中查看和编辑 GitHub Enterprise Server 的身份验证设置。 有关详细信息,请参阅“从管理控制台管理实例”。
注意:GitHub 强烈建议在过渡环境中验证任何用于身份验证的新配置。 不正确的配置可能会导致 你的 GitHub Enterprise Server 实例 产生故障时间。 有关详细信息,请参阅“设置暂存实例”。
-
在 GitHub Enterprise Server 上的管理帐户中,在任一页面的右上角,单击 。
-
如果你尚未在“站点管理员”页上,请在左上角单击“站点管理员”。 1. 在“ 站点管理”边栏中,单击“管理控制台”。 1. 在“设置”边栏中,单击“身份验证”。
-
在“身份验证”下,选择“SAML”。
-
(可选)若要允许外部身份验证系统上没有帐户的人员使用内置身份验证登录,请选择“允许内置身份验证”。 有关详细信息,请参阅“允许对提供程序覆盖范围之外的用户进行内置身份验证”。
-
(可选)若要启用未经请求的响应 SSO,请选择“IdP 发起的 SSO”。 默认情况下,GitHub Enterprise Server 将对未经请求的标识提供者 (IdP) 发起的请求进行回复,并向 IdP 返回一个
AuthnRequest
。注意:建议将此值保持未选中状态。 应仅在罕见情况下才启用此功能,即 SAML 实现不支持服务提供程序发起的 SSO,并且 GitHub Enterprise 支持 建议执行此操作。
-
(可选)如果你不希望 SAML 提供程序为 你的 GitHub Enterprise Server 实例 上的用户确定管理员权限,请选择“禁用管理员降级/升级”
-
(可选)若要允许 你的 GitHub Enterprise Server 实例 从 SAML IdP 接收加密断言,请选择“需要加密断言”。
必须确保 IdP 支持加密断言,并且管理控制台中的加密和密钥传输方法与 IdP 上配置的值相匹配。 还必须向 IdP 提供 你的 GitHub Enterprise Server 实例 的公共证书。 有关详细信息,请参阅“启用加密断言”。
-
在“单一登录 URL”下,键入 IdP 上用于单一登录请求的 HTTP 或 HTTPS 终结点。 此值由您的 IdP 配置提供。 如果主机只能在内部网络中使用,则可能需要配置 你的 GitHub Enterprise Server 实例 以使用内部名称服务器。
-
(可选)在“颁发者”字段中,键入 SAML 颁发者的名称。 这将验证发送到 你的 GitHub Enterprise Server 实例 的消息的真实性。
-
选择“签名方法”和“摘要方法”下拉菜单,然后单击 SAML 颁发者用于验证来自 你的 GitHub Enterprise Server 实例 的请求完整性的哈希算法 。
-
选择“名称标识符格式”下拉菜单,然后单击格式。
-
在“验证证书”下,单击“选择文件”,然后选择一个证书以验证来自 IdP 的 SAML 响应。
-
在“用户属性”下,如果需要,请修改 SAML 属性名称以匹配你的 IdP,或者接受默认名称。