用户授权

已完成

用户使用 SAML 单一登录(SSO)成功通过标识提供者(IdP)进行身份验证后,下一个关键步骤是授权,即授予个人访问令牌(PAT)、SSH 密钥或 OAuth 应用等工具,并能够访问组织资源。

使用 SAML SSO 和 SCIM 自动执行用户授权

安全断言标记语言 (SAML) SSO 使企业和组织所有者能够控制对 GitHub 资源(如存储库、问题和拉取请求)的访问。 集成 SCIM(跨域标识管理系统),通过自动执行用户预配和取消预配来增强访问控制。

SCIM 设置的屏幕截图。

使用 SCIM 时,添加到 IdP 的新员工会自动授予对 GitHub 的访问权限,同时删除离开的用户、减少手动步骤并提高安全性。

备注

如果没有 SCIM,仅依靠 SAML SSO 不支持自动取消预配组织成员。

SCIM 还会在会话结束后撤销过时的令牌,从而降低安全风险。 如果没有 SCIM,必须手动撤消过时的令牌。

使用 SAML SSO 管理 SSH 密钥和 PAT

SAML SSO 和 SCIM 协同工作,以反映 GitHub 中的标识更改。 为了支持这种凝聚力:

  • NameIDuserName 必须在 SAML IdP 和 SCIM 客户端之间一致匹配。
  • 在 GitHub 中对 IdP 触发器 SCIM 更新进行组变更。

访问 API 或 Git 的用户必须使用授权的 PAT 或 SSH 密钥。 这些方法可审核并安全地绑定到 SAML SSO。

SSH 密钥的屏幕截图。

若要简化入职流程,请使用:https://github.com/orgs/ORGANIZATION/sso/sign_up配置用户。 在 IdP 仪表板中显示此链接。

用户首次进行身份验证时,GitHub 会将其帐户和 SCIM 数据链接到组织。 管理员可以稍后审核或撤销会话和凭据,以自动卸载。

SCIM 与 GitHub 集成

SCIM 通过支持本机集成和自定义配置,简化了 GitHub Enterprise Cloud 中的标识管理。

支持的 SCIM 提供程序

GitHub 原生支持:

  • Okta
  • Microsoft Entra ID
  • OneLogin
  • Ping 标识
  • Google Workspace

这些集成可确保可靠的配置和兼容性。

自定义 SCIM 集成

如果本机不支持 IdP,请使用 GitHub 的 SCIM API 生成自定义集成。

SCIM API 概述

SCIM 2.0 API 允许:

  • 创建、更新和删除用户
  • 管理群组

预配用户的示例请求

POST /scim/v2/Users
Content-Type: application/json

{
  "userName": "jdoe",
  "name": {
    "givenName": "John",
    "familyName": "Doe"
  },
  "emails": [
    {
      "value": "jdoe@example.com",
      "primary": true
    }
  ]
}

GitHub 处理此请求并将用户添加到组织。

入门

对于支持的提供程序

  1. 登录到 IdP 管理控制台。
  2. 启用 SCIM 预配。
  3. 提供 GitHub 的 SCIM 基础 URL 和持有者令牌。

IdP 管理控制台中 SCIM 配置步骤的屏幕截图。

对于自定义 IdP

  1. 使用 GitHub 的 SCIM REST API。
  2. 使用 PAT 进行身份验证。
  3. 测试与示例请求的集成。

SCIM 集成的主要优势

  • 供应: 自动创建帐户。
  • 更新: 同步角色和部门。
  • 正在取消预配:在用户退出时立即删除访问权限。

SCIM 与手动用户管理

方面 基于 SCIM 的管理 手动管理
自动化 自动预配和取消预配 需要手动干预
一致性 跨系统标准化用户数据 不一致的风险
安全性 及时停用访问权限 延迟或遗漏的撤消
可伸缩性 随着大型用户群体进行扩展 大规模应用时繁琐
遵从性 帮助满足策略和审核要求 更难跟踪和报告

将 IdP 连接到 GitHub

可以使用受支持的标识提供者或自带 SAML 2.0 IdP。

支持的(标准化流程)IdP

  • Okta
  • Microsoft Entra ID
  • Google Workspace

使用支持的 IdP 的一些优点包括:

  • 无缝集成
  • GitHub 兼容
  • 降低设置工作量

自带 IdP

自带 IdP 需要 SAML 2.0 支持。 它具有允许完全灵活性的优势。

集成步骤

类型 步骤
铺路路径: 1.导航到企业安全设置。
2. 选择您的 IdP。
3. 按照设置说明进行操作。
自定义 IdP: 1.转到安全设置。
2.选择自定义 IdP。
3.输入 SAML 元数据。 4. 验证连接。

比较 IdP 集成路径

功能 / 特点 标准化流程 自带 IdP
设置过程 ✅ 引导式设置 ⚠️ 手动配置
灵活性 ⚠️ 限制为列出的 IdP ✅ 任何 SAML 2.0 IdP
维护 ✅ GitHub 托管 ⚠️ 组织托管
自定义 ⚠️ 最低 ✅ 完全可自定义
支持和更新 ✅ GitHub 支持 ⚠️ 自托管

管理标识和访问

SAML SSO 配置

  1. 配置 SAML SSO URL。
  2. 提供公共证书。
  3. 添加 IdP 元数据。

凭据管理

PAT 和 SSH 密钥必须显式授权并链接到 IdP 标识,才能安全地访问组织资源。

审核 SAML 会话

  • 在设置中查看活动会话。
  • 根据需要撤销单个会话。

GitHub 成员身份注意事项

类型 注意事项
GitHub 实例成员身份 - 访问公共存储库
- 创建个人项目
- 公共用户配置可见性
组织成员身份 - 基于角色的内部访问
- 组织管理员可见的配置文件
- 可能会影响计费
多个组织成员身份 - 跨组织的不同角色
- 更广泛的资源访问
- 复杂的权限和计费
- 需要严格的治理