Skip to main content

关于使用 SAML 单点登录进行身份验证

可以通过身份提供商 (IdP) 验证来访问使用 SAML 单一登录 (SSO) 的组织。

关于使用 SAML SSO 进行身份验证

SAML 单一登录 (SSO) 为使用 GitHub Enterprise Cloud 的组织所有者和企业所有者提供了一种控制安全访问存储库、问题和拉取请求等组织资源的方法。 组织所有者可以邀请你在 GitHub 上的个人帐户加入其使用 SAML SSO 的组织,这样你可以对该组织做出贡献,并且保留你在 GitHub 上的现有身份和贡献。

如果你是 enterprise with managed users 的成员,则将转而使用为你预配且由你的企业控制的新帐户。 有关详细信息,请参阅“GitHub 帐户的类型”。

在访问使用 SAML SSO 的组织中的专用资源时,GitHub 会将你重定向到组织的 SAML IdP 进行身份验证。 在 IdP 上成功验证您的帐户后,IdP 会将您重定向回到 GitHub,您可以在那里访问组织的资源。

注意:

  • 组织成员不需要 SAML 身份验证来执行读取操作,例如查看、克隆公共资源和创建其分支。
  • 外部协作者不需要进行 SAML 身份验证。 有关外部协作者的详细信息,请参阅“组织中的角色”。

如果您最近在浏览器中使用组织的 SAML IdP 进行过身份验证,则在访问使用 SAML SSO 的 GitHub 组织时会自动获得授权。 如果您最近没有在浏览器中使用组织的 SAML IdP 进行身份验证,则必须在 SAML IdP 进行身份验证后才可访问组织。

You must periodically authenticate with your SAML IdP to authenticate and gain access to the organization's resources on GitHub.com. The duration of this login period is specified by your IdP and is generally 24 hours. This periodic login requirement limits the length of access and requires you to re-identify yourself to continue. You can view and manage your active SAML sessions in your security settings. For more information, see "Viewing and managing your active SAML sessions."

关联的 SAML 标识

使用 IdP 帐户进行身份验证并返回到 GitHub 时,GitHub 会在组织或企业中记录你的 GitHub 个人帐户与你登录到的 SAML 标识之间的关联。 这个关联的标识用于验证你在该组织中的成员身份,并且根据你的组织或企业设置,还用于确定你所属的具体组织和团队。 每个 GitHub 帐户只能关联到每个组织的一个 SAML 标识。 同样地,每个 SAML 标识只能关联到一个组织中的一个 GitHub 帐户。

如果使用已关联到其他 GitHub 帐户的 SAML 标识登录,会收到一条错误消息,指示无法使用该 SAML 标识进行登录。 如果尝试使用新的 GitHub 帐户在组织内部工作,就可能会出现这种情况。 如果不想将该 SAML 标识与该 GitHub 帐户一起使用,则需要注销该 SAML 标识,然后重复 SAML 登录。 如果确实要将该 SAML 标识与 GitHub 帐户一起使用,需要要求管理员取消该 SAML 标识与旧帐户的关联,以便你可将其关联到新帐户。 根据组织或企业的设置,管理员可能需要在 SAML 提供商中重新分配你的标识。 有关详细信息,请参阅“查看和管理成员对组织的 SAML 访问权限”。

如果用于登录的 SAML 标识与当前关联到 GitHub 帐户的 SAML 标识不匹配,会收到一条警告,要求你重新关联帐户。 SAML 标识用于管理访问权限和团队成员身份,因此继续使用新的 SAML 标识可能会导致你无法再访问 GitHub 中的团队和组织。 只有当你知道将来应该使用这个新的 SAML 标识进行身份验证时,才继续操作。

使用 SAML SSO 授权 PAT 和 SSH 密钥

要在命令行上使用 API 或 Git 访问使用 SAML SSO 的组织中受保护的内容,需要使用授权的 HTTPS 个人访问令牌或授权的 SSH 密钥。

如果没有个人访问令牌或 SSH 密钥,可以创建用于命令行的个人访问令牌或生成新的 SSH 密钥。 有关详细信息,请参阅“创建个人访问令牌”或“生成新的 SSH 密钥并将其添加到 ssh-agent”。

要对使用或实施 SAML SSO 的组织使用新的或现有的个人访问令牌或 SSH 密钥,需要授权该令牌或授权 SSH 密钥用于 SAML SSO 组织。 有关详细信息,请参阅“授权用于 SAML 单一登录的个人访问令牌”或“授权用于 SAML 单一登录的 SSH 密钥”。

关于 OAuth Apps、GitHub Apps 和 SAML SSO

每次授权 OAuth App 或 GitHub App 访问使用或实施 SAML SSO 的组织时,你都必须有一个活动的 SAML 会话。 可以通过在浏览器中导航到 https://github.com/orgs/ORGANIZATION-NAME/sso 来创建活动的 SAML 会话。

企业或组织所有者为组织启用或强制实施 SAML SSO 后,以及首次通过 SAML 进行身份验证后,必须对之前授权访问组织的任何 OAuth Apps 或 GitHub Apps 进行重新授权。

若要查看已授权的 OAuth Apps,请访问 OAuth Apps 页面。 若要查看已授权的 GitHub Apps,请访问 GitHub Apps 页面

延伸阅读