codecamp

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 UI 样式选择器中选择

在 Okta 中添加 GitHub Enterprise Cloud 应用程序

  1. 在Okta的右上角,单击Admin

Okta中的管理按钮

  1. 在 Okta 仪表板中,单击 Applications(应用程序)

Okta 仪表板导航栏中的

  1. 单击 Add application(添加应用程序)

Okta 仪表板的 Applications(应用程序)选项卡中的

  1. 在搜索字段中键入"GitHub Enterprise Cloud"。

Okta 的

  1. 单击“GitHub Enterprise Cloud - Enterprise Accounts(企业帐户)”。

  1. 单击 Add(添加)

  1. (可选)在“Application label(应用程序标签)”右边输入应用程序的描述性名称。

应用程序标签字段

  1. 在“GitHub Enterprises”右侧,键入企业帐户的名称。 例如,如果企业帐户的 URL 是https://github.com/enterprises/octo-corp,请键入 octo-corp

GitHub Enterprises 字段

  1. 单击 Done(完成)

启用和测试 SAML SSO

  1. 在Okta的右上角,单击Admin

Okta中的管理按钮

  1. 在 Okta 仪表板中,单击 Applications(应用程序)

Okta 仪表板导航栏中的

  1. 单击您为企业帐户创建的应用程序的标签。

  1. 在Okta中将应用程序分配给您的用户。有关更多信息,请参见Okta文档中的将应用程序分配给用户

  1. 在应用程序名称下,单击登录

Okta 应用程序的

  1. 在 Settings(设置)右侧,单击 Edit(编辑)

  1. 在“Configured SAML Attributes(配置的 SAML 属性)”下,使用下拉菜单并选择 Matches regex(匹配正则表达式)

  1. 在下拉菜单右侧键入 .*.*

  1. 单击 Save(保存)

  1. 在“SIGN ON METHODS(登录方式)”下,单击 View Setup Instructions(查看设置说明)

Okta 应用程序的

  1. 使用设置说明中的信息为企业帐户启用 SAML。 更多信息请参阅“在企业帐户中实施安全设置”。

在 Okta 中创建组

  1. 在 Okta 中,创建一个组来匹配企业帐户拥有的每个组织。 每个组的名称必须与组织的帐户名称匹配(而不是组织的显示名称)。 例如,如果组织的 URL 为https://github.com/octo-org,则将组命名为 octo-org
  2. 将为企业帐户创建的应用程序分配给每个组。 GitHub 将接收每个用户的所有数据。
  3. 根据您希望用户所属的组织将用户添加到组。

在 Okta 中使用 SCIM 配置用户预配

如果您正在参加针对企业帐户用户配置的私人Beta版,则当您为企业帐户启用SAML时,默认情况下会在GitHub中启用SCIM置备和取消置备。您可以通过在IdP中配置SCIM,使用资源调配来管理组织成员身份。

要在 Okta 中使用 SCIM 配置用户预配,必须授权 OAuth 应用程序创建 Okta 可用于代表您向 GitHub 验证的令牌。 Okta-oauth 应用程序由 Okta 与 GitHub 合作创建。

  1. 在Okta的右上角,单击Admin

Okta中的管理按钮

  1. 在 Okta 仪表板中,单击 Applications(应用程序)

Okta 仪表板导航栏中的

  1. 单击您为企业帐户创建的应用程序的标签。

  1. 在应用程序的名称下,单击Provisioning

Okta 应用程序的

  1. 单击 Configure API Integration(配置 API 集成)

Okta 应用程序的

  1. 选择 Enable API integration(启用 API 集成)

Okta 应用程序的

  1. 单击 Authenticate with Github Enterprise Cloud - Enterprise Accounts(向 Github Enterprise Cloud 验证 - 企业帐户)

用于向 GitHub 验证的按钮

  1. 在企业帐户名称的右侧,单击 Grant(授予)

  1. 单击 Authorize okta-oauth(授权 okta-oauth)

  1. 单击 Save(保存)

用于 Okta 应用程序配置的

  1. 在“Provisioning to App(配置到 App)”的右侧,单击 Edit(编辑)

用于 Okta 应用程序配置选项的

  1. 在“Create Users(创建用户)”的右侧,选择 Enable(启用)

用于 Okta 应用程序

  1. 在“Update User Attributes(更新用户属性)”的右侧,选择 Enable(启用)

用于 Okta 应用程序

  1. 在“Deactivate Users(停用用户)”的右侧,选择 Enable(启用)

用于 Okta 应用程序

  1. 单击 Save(保存)

用于 Okta 应用程序配置的

  1. 在应用程序名称下,单击 Push Groups(推送组)

Push Groups(推送组)选项卡

  1. 使用 Push Groups(推送组)下拉菜单,然后选择 Find groups by name(按名称查找组)

Push Groups(推送组)下拉菜单

  1. 为您要启用用户预配的企业帐户中的每个组织添加推送组。

  • 在“PUSH GROUPS BY NAME(按名称推送组)”下,搜索与企业帐户拥有的组织对应的组,然后单击搜索结果中的组。

  • 在组名称的右侧,在"匹配结果“Match results & push action(匹配结果和推送操作)”下拉菜单中,验证是否选择了 Create Group(创建组)

选择了 Create Group(创建组)的匹配结果下拉菜单

  • 单击 Save(保存)

  • 对每个组织重复。

  1. 在应用程序名称下,单击 Assignments(分配)

Assignments(分配)选项卡

  1. 如果看到 Provision users(预配用户),则表示尚未预配在为该组添加推送组之前属于 Okta 组成员的用户。 要将 SCIM 数据发送到这些用户的 GitHub,请单击 Provision users(预配用户)

启用 SAML 用户预配

在启用 SCIM 预配和解除预配后,您可以选择启用 SAML 用户预配和解除预配。

  1. 通过访问 https://github.com/enterprises/ENTERPRISE-NAME(将 ENTERPRISE-NAME 替换为您的企业帐户名称)导航至您的企业帐户。

  1. 在企业帐户侧边栏中,单击 settingSettings(设置)

企业帐户侧边栏中的“设置”选项卡

  1. 在左侧边栏中,单击 Security(安全)

企业帐户设置侧栏中的“安全”选项卡

  1. 在“SAML User Provisioning(SAML 用户预配)”下,选择 Enable SAML user provisioning(启用 SAML 用户预配)

使用 SAML 启用用户预配的复选框

  1. 单击 Save(保存)

  1. (可选)启用 SAML 用户解除预配。

  • 选择 Enable SAML user deprovisioning(启用 SAML 用户解除预配),然后单击 Save(保存)

使用 SAML 启用用户解除预配的复选框

  • 阅读警告,然后单击 Enable SAML deprovisioning(启用 SAML 解除预配)

启用 SAML 解除预配按钮

GitHub 在企业帐户中实施安全设置
GitHub 在企业帐户中实施关于依赖项洞察的策略
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

GitHub 身份验证

在 GitHub 上管理订阅和通知

在 GitHub 上管理活动的订阅

GitHub 组织和团队

GitHub 管理对组织仓库的 Git 访问

GitHub 计费和付款

GitHub 使用议题和拉取请求进行协作

GitHub 在具有代码质量功能的仓库上进行协作

管理在 GitHub 上的工作

GitHub 建立强大的社区

GitHub 管理仓库

GitHub 自定义 GitHub 工作流程

在 GitHub Marketplace 中购买并安装应用程序

通过 GitHub Jobs 寻找人才

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }