GitHub 使用 Okta 为企业帐户配置 SAML 单点登录和 SCIM
您可以使用安全声明标记语言 (SAML) 单点登录 (SSO) 和跨域身份管理系统 (SCIM) 与 Okta 一起来自动管理对 GitHub 上企业帐户的访问。
企业帐户可用于 GitHub Enterprise Cloud 和 GitHub Enterprise Server。 更多信息请参阅“关于企业帐户”。
注意:企业帐户的用户配置当前处于私有Beta中,并且可能会更改。要请求访问测试版,请联系我们的帐户管理团队。
关于 SAML 和 SCIM 与 Octa
您可以通过配置企业帐户使用 SAML SSO 和 SCIM 以及身份提供程序 (IdP) Okta,从一个中心界面控制对 GitHub 企业帐户及其他 web 应用程序的访问。
SAML SSO 控制并保护对企业帐户资源(如组织、仓库、议题和拉取请求)的访问。 当您在 Okta 中进行更改时,SCIM 会自动添加、管理和删除成员对您的企业帐户拥有的组织的访问权限。 更多信息请参阅“在企业帐户中实施安全设置”。
启用 SCIM 后,您在 Okta 中为其分配了 GitHub Enterprise Cloud 应用程序的任何用户都可以使用以下配置。
功能 | 描述 |
---|---|
推送新用户 | 在 Okta 中创建的新用户可以访问企业帐户资源,并且可以选择被自动邀请加入企业帐户拥有的任何组织 |
推送用户停用 | 停用 Okta 中的用户将撤销用户对企业帐户资源的访问权限,并从企业帐户拥有的所有组织中删除该用户 |
推送个人资料更新 | 对 Okta 中用户配置文件的更新将被推送到用户的企业帐户元数据 |
重新激活用户 | 在 Okta 中重新激活用户将重新启用用户对企业帐户的访问权限,并可以选择发送电子邮件邀请,以便邀请该用户重新加入其以前所属的企业帐户拥有的任何组织。 |
基本要求
您必须在Okta中使用“Classic UI” 更多信息请参阅 Okta 博客中的有组织的导航。
在 Okta 中添加 GitHub Enterprise Cloud 应用程序
- 在Okta的右上角,单击Admin。
- 在 Okta 仪表板中,单击 Applications(应用程序)。
- 单击 Add application(添加应用程序)。
- 在搜索字段中键入"GitHub Enterprise Cloud"。
- 单击“GitHub Enterprise Cloud - Enterprise Accounts(企业帐户)”。
- 单击 Add(添加)。
- (可选)在“Application label(应用程序标签)”右边输入应用程序的描述性名称。
- 在“GitHub Enterprises”右侧,键入企业帐户的名称。 例如,如果企业帐户的 URL 是
https://github.com/enterprises/octo-corp
,请键入octo-corp
。
- 单击 Done(完成)。
启用和测试 SAML SSO
- 在Okta的右上角,单击Admin。
- 在 Okta 仪表板中,单击 Applications(应用程序)。
- 单击您为企业帐户创建的应用程序的标签。
- 在Okta中将应用程序分配给您的用户。有关更多信息,请参见Okta文档中的将应用程序分配给用户。
- 在应用程序名称下,单击登录。
- 在 Settings(设置)右侧,单击 Edit(编辑)。
- 在“Configured SAML Attributes(配置的 SAML 属性)”下,使用下拉菜单并选择 Matches regex(匹配正则表达式)。
- 在下拉菜单右侧键入
.*.*
。
- 单击 Save(保存)。
- 在“SIGN ON METHODS(登录方式)”下,单击 View Setup Instructions(查看设置说明)。
- 使用设置说明中的信息为企业帐户启用 SAML。 更多信息请参阅“在企业帐户中实施安全设置”。
在 Okta 中创建组
- 在 Okta 中,创建一个组来匹配企业帐户拥有的每个组织。 每个组的名称必须与组织的帐户名称匹配(而不是组织的显示名称)。 例如,如果组织的 URL 为
https://github.com/octo-org
,则将组命名为octo-org
。 - 将为企业帐户创建的应用程序分配给每个组。 GitHub 将接收每个用户的所有
组
数据。 - 根据您希望用户所属的组织将用户添加到组。
在 Okta 中使用 SCIM 配置用户预配
如果您正在参加针对企业帐户用户配置的私人Beta版,则当您为企业帐户启用SAML时,默认情况下会在GitHub中启用SCIM置备和取消置备。您可以通过在IdP中配置SCIM,使用资源调配来管理组织成员身份。
要在 Okta 中使用 SCIM 配置用户预配,必须授权 OAuth 应用程序创建 Okta 可用于代表您向 GitHub 验证的令牌。 Okta-oauth 应用程序由 Okta 与 GitHub 合作创建。
- 在Okta的右上角,单击Admin。
- 在 Okta 仪表板中,单击 Applications(应用程序)。
- 单击您为企业帐户创建的应用程序的标签。
- 在应用程序的名称下,单击Provisioning。
- 单击 Configure API Integration(配置 API 集成)。
- 选择 Enable API integration(启用 API 集成)。
- 单击 Authenticate with Github Enterprise Cloud - Enterprise Accounts(向 Github Enterprise Cloud 验证 - 企业帐户)。
- 在企业帐户名称的右侧,单击 Grant(授予)。
- 单击 Authorize okta-oauth(授权 okta-oauth)。
- 单击 Save(保存)。
- 在“Provisioning to App(配置到 App)”的右侧,单击 Edit(编辑)。
- 在“Create Users(创建用户)”的右侧,选择 Enable(启用)。
- 在“Update User Attributes(更新用户属性)”的右侧,选择 Enable(启用)。
- 在“Deactivate Users(停用用户)”的右侧,选择 Enable(启用)。
- 单击 Save(保存)。
- 在应用程序名称下,单击 Push Groups(推送组)。
- 使用 Push Groups(推送组)下拉菜单,然后选择 Find groups by name(按名称查找组)。
- 为您要启用用户预配的企业帐户中的每个组织添加推送组。
- 在“PUSH GROUPS BY NAME(按名称推送组)”下,搜索与企业帐户拥有的组织对应的组,然后单击搜索结果中的组。
- 在组名称的右侧,在"匹配结果“Match results & push action(匹配结果和推送操作)”下拉菜单中,验证是否选择了 Create Group(创建组)。
- 单击 Save(保存)。
- 对每个组织重复。
- 在应用程序名称下,单击 Assignments(分配)。
- 如果看到 Provision users(预配用户),则表示尚未预配在为该组添加推送组之前属于 Okta 组成员的用户。 要将 SCIM 数据发送到这些用户的 GitHub,请单击 Provision users(预配用户)。
启用 SAML 用户预配
在启用 SCIM 预配和解除预配后,您可以选择启用 SAML 用户预配和解除预配。
- 通过访问
https://github.com/enterprises/ENTERPRISE-NAME
(将ENTERPRISE-NAME
替换为您的企业帐户名称)导航至您的企业帐户。
- 在企业帐户侧边栏中,单击 Settings(设置)。
- 在左侧边栏中,单击 Security(安全)。
- 在“SAML User Provisioning(SAML 用户预配)”下,选择 Enable SAML user provisioning(启用 SAML 用户预配)。
- 单击 Save(保存)。
- (可选)启用 SAML 用户解除预配。
- 选择 Enable SAML user deprovisioning(启用 SAML 用户解除预配),然后单击 Save(保存)。
- 阅读警告,然后单击 Enable SAML deprovisioning(启用 SAML 解除预配)。