教程:Microsoft Entra SSO 与 GitHub Enterprise Cloud - Enterprise Account 的集成
本教程介绍了如何设置 Microsoft Entra SAML 与 GitHub Enterprise Cloud - Enterprise Account 的集成。 将 GitHub Enterprise Cloud - Enterprise Account 与 Microsoft Entra ID 集成后,可以:
- 在 Microsoft Entra ID 中控制谁有权访问 GitHub Enterprise Account 及其中的任何组织。
先决条件
若要开始操作,需备齐以下项目:
- 一个 Microsoft Entra 订阅。 如果你没有订阅,可以获取一个免费帐户。
- 一个 GitHub 企业帐户。
- 一个用作企业帐户所有者的 GitHub 用户帐户。
方案描述
在本教程中,你将为 GitHub 企业帐户配置 SAML 集成,并测试企业帐户所有者和企业/组织成员的身份验证和访问权限。
注意
GitHub Enterprise Cloud - Enterprise Account
应用程序不支持启用 自动 SCIM 预配。 如果需要为 GitHub Enterprise Cloud 环境设置预配,则必须在组织级别配置 SAML,并且必须改用 GitHub Enterprise Cloud - Organization
Microsoft Entra 应用程序。 如果要为企业设置为企业托管用户 (EMU) 启用的 SAML 和 SCIM 预配集成,则必须使用 GitHub Enterprise Managed User
Microsoft Entra 应用程序进行 SAML/预配集成,或使用 GitHub Enterprise Managed User (OIDC)
Microsoft Entra 应用程序进行 OIDC/预配集成。
- GitHub Enterprise Cloud - 企业帐户支持 SP 和 IDP 发起的 SSO 。
从库中添加 GitHub Enterprise Cloud - 企业帐户
若要配置 GitHub Enterprise Cloud - Enterprise Account 与 Microsoft Entra ID 的集成,需要从库中将 GitHub Enterprise Cloud - Enterprise Account 添加到托管 SaaS 应用列表。
- 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心。
- 浏览至“标识”>“应用程序”>“企业应用程序”>“新建应用程序”。
- 在“从库中添加”部分的搜索框中,键入“GitHub Enterprise Cloud - 企业帐户” 。
- 从结果面板中选择“GitHub Enterprise Cloud - 企业帐户”,然后添加应用。 在该应用添加到租户时等待几秒钟。
或者,也可以使用企业应用配置向导。 在此向导中,可以将应用程序添加到租户,将用户/组添加到应用,分配角色,并逐步完成 SSO 配置。 详细了解 Microsoft 365 向导。
配置并测试 GitHub Enterprise Cloud - Enterprise Account 的 Microsoft Entra SSO
使用名为“B.Simon”的测试用户配置并测试 GitHub Enterprise Cloud - Enterprise Account 的 Microsoft Entra SSO。 若要正常使用 SSO,需要在 Microsoft Entra 用户与 GitHub Enterprise Cloud - Enterprise Account 中的相关用户之间建立链接关系。
若要配置并测试 GitHub Enterprise Cloud - Enterprise Account 的 Microsoft Entra SSO,请执行以下步骤:
- 配置 Microsoft Entra SSO - 使用户能够使用此功能。
- 创建 Microsoft Entra 测试用户 - 使用 B.Simon 测试 Microsoft Entra 单一登录。
- 将 Microsoft Entra 用户和测试用户帐户分配给 GitHub 应用 - 启用你的用户帐户和测试用户
B.Simon
以使用 Microsoft Entra 单一登录。
- 为企业帐户及其组织启用和测试 SAML - 在应用程序端配置单一登录设置。
- 使用另一个企业帐户所有者或组织成员帐户测试 SSO - 验证配置是否正常发挥作用。
配置 Microsoft Entra SSO
按照以下步骤启用 Microsoft Entra SSO。
至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心。
浏览到“标识”>“应用程序”>“企业应用程序”>“GitHub Enterprise Cloud - Enterprise Account”>“单一登录”。
在“选择单一登录方法”页上选择“SAML” 。
在“设置 SAML 单一登录”页面上,单击“基本 SAML 配置”旁边的铅笔图标以编辑设置 。
在“基本 SAML 配置” 部分中,按照以下步骤操作:
a. 在“标识符(实体 ID)”文本框中,使用以下模式键入 URL:
https://github.com/enterprises/<ENTERPRISE-SLUG>
b. 在“回复 URL”文本框中,使用以下模式键入 URL:
https://github.com/enterprises/<ENTERPRISE-SLUG>/saml/consume
如果要在 SP 发起的模式下配置应用程序,请执行以下步骤:
在“登录 URL”文本框中,使用以下模式键入 URL:
注意
将
<ENTERPRISE-SLUG>
替换为 GitHub 企业帐户的实际名称。在“使用 SAML 设置单一登录”页的“SAML 签名证书”部分中,找到“证书(Base64)”,选择“下载”以下载该证书并将其保存到计算机上 。
在“设置 GitHub Enterprise Cloud - 企业帐户”部分,根据要求复制相应的 URL。
创建 Microsoft Entra 测试用户
在本部分中,将在 Azure 门户中创建一个名为 B.Simon
的测试用户。
- 至少以用户管理员身份登录到 Microsoft Entra 管理中心。
- 浏览到“标识”>“用户”>“所有用户”。
- 选择屏幕顶部的“新建用户”>“创建新用户”。
- 在“用户”属性中执行以下步骤:
- 在“显示名称”字段中输入
B.Simon
。 - 在“用户主体名称”字段中,输入 username@companydomain.extension。 例如
B.Simon@contoso.com
。 - 选中“显示密码”复选框,然后记下“密码”框中显示的值。
- 选择“查看 + 创建”。
- 在“显示名称”字段中输入
- 选择“创建”。
将 Microsoft Entra 用户和测试用户帐户分配给 GitHub 应用
在本部分,你将向 B.Simon
和你的用户帐户授予访问 GitHub Enterprise Cloud - 企业帐户的权限,使其能够使用 Azure 单一登录。
- 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心。
- 浏览到“标识”>“应用程序”>“企业应用程序”>“GitHub Enterprise Cloud - Enterprise Account”。
- 在应用的概述页中,找到“管理”部分,选择“用户和组” 。
- 选择“添加用户”,然后在“添加分配”对话框中选择“用户和组”。
- 在“用户和组”对话框中,从用户列表中选择 B.Simon 和你的用户账户,然后单击屏幕底部的“选择”按钮 。
- 如果你希望将某角色分配给用户,可以从“选择角色”下拉列表中选择该角色。 如果尚未为此应用设置任何角色,你将看到选择了“默认访问权限”角色。
- 在“添加分配”对话框中,单击“分配”按钮。
为企业帐户及其组织启用和测试 SAML
若要在“GitHub Enterprise Cloud - 企业帐户”端配置单一登录,请按照此 GitHub 文档中列出的步骤操作。
- 使用作为企业帐户所有者的用户帐户登录 GitHub.com。
- 复制应用中的
Login URL
字段中的值,并将其粘贴到 GitHub 企业帐户 SAML 设置的Sign on URL
字段中。 - 复制应用中的
Azure AD Identifier
字段中的值,并将其粘贴到 GitHub 企业帐户 SAML 设置的Issuer
字段中。 - 复制上述步骤中从 Azure 门户下载的“证书(Base64)”文件的内容,并将其粘贴到 GitHub 企业帐户 SAML 设置的相应字段中。
- 单击
Test SAML configuration
,并确认你能够成功地从 GitHub 企业帐户向 Microsoft Entra 进行身份验证。 - 测试成功后,保存设置。
- 在首次通过 SAML 从 GitHub 企业帐户进行身份验证后,将在 GitHub 企业帐户中创建一个链接的外部标识,它将已登录的 GitHub 用户帐户与 Microsoft Entra 用户帐户相关联。
为 GitHub 企业帐户启用 SAML SSO 后,默认情况下将为企业帐户拥有的所有组织启用 SAML SSO。 所有成员都需要使用 SAML SSO 进行身份验证,以获得对其所属组织的访问权限,而企业所有者在访问企业帐户时将需要使用 SAML SSO 进行身份验证。
使用另一个企业帐户所有者或组织成员帐户测试 SSO
为 GitHub 企业帐户设置 SAML 集成后(也适用于企业帐户中的 GitHub 组织),分配给 Microsoft Entra 中的应用的其他企业帐户所有者应该能够导航到 GitHub 企业帐户 URL (https://github.com/enterprises/<enterprise account>
),通过 SAML 进行身份验证,并访问 GitHub 企业帐户下的策略和设置。
企业帐户中组织的所有者应该能够邀请用户加入其 GitHub 组织。 使用组织所有者帐户登录 GitHub.com,然后按照本文中的步骤邀请 B.Simon
加入组织。 如果还没有 GitHub 用户帐户,则需要为 B.Simon
创建一个。
若要使用 B.Simon
测试用户帐户在企业帐户下测试 GitHub 组织访问权限:
- 邀请
B.Simon
作为组织所有者加入企业帐户下的组织。 - 使用要关联到
B.Simon
Microsoft Entra 用户帐户的用户帐户登录 GitHub.com。 - 使用
B.Simon
用户帐户登录到 Microsoft Entra ID。 - 转到 GitHub 组织。 系统应会提示用户通过 SAML 进行身份验证。 SAML 身份验证成功之后,
B.Simon
应该能够访问组织资源。
后续步骤
配置 GitHub Enterprise Cloud - 企业帐户后,可以强制实施会话控制,从而实时防止组织的敏感数据外泄和渗透。 会话控制从条件访问扩展而来。 了解如何通过 Microsoft Defender for Cloud Apps 强制实施会话控制。