SaaS 群组的 SAML SSO

  • Tier: 专业版, 旗舰版
  • Offering: JihuLab.com

用户可以通过他们的 SAML 身份提供者登录极狐GitLab。

SCIM 同步用户与 JihuLab.com 上的群组。

  • 当您在 SCIM 应用中添加或移除用户时,SCIM 会在极狐GitLab 群组中添加或移除该用户。
  • 如果用户尚未成为群组成员,则在登录过程中将用户添加到群组中。

您只能为顶级群组配置 SAML SSO。

设置您的身份提供者#

SAML 标准意味着您可以使用广泛的身份提供者与极狐GitLab 配合。您的身份提供者可能有相关文档。它可以是通用的 SAML 文档或专门针对极狐GitLab 的文档。

在设置您的身份提供者时,请使用以下提供者特定的文档,以帮助避免常见问题并作为术语使用的指南。

对于未列出的身份提供者,您可以参考配置身份提供者的实例 SAML 说明以获得您提供者可能需要的信息的其他指导。

极狐GitLab 提供以下信息仅供参考。如果您对配置 SAML 应用有任何疑问,请联系您的提供者的支持。

如果您在设置身份提供者时遇到问题,请查看故障排除文档

Azure#

要将 Azure 设置为您的身份提供者的 SSO:

  1. 在左侧边栏,选择 搜索或转到 并找到您的群组。

  2. 选择 设置 > SAML SSO

  3. 注意此页面上的信息。

  4. 前往 Azure,创建一个非画廊应用,并为应用配置 SSO。以下极狐GitLab 设置对应 Azure 字段。

    极狐GitLab 设置Azure 字段
    标识符标识符(实体 ID)
    断言消费者服务 URL回复 URL(断言消费者服务 URL)
    极狐GitLab 单点登录 URL登录 URL
    身份提供者单点登录 URL登录 URL
    证书指纹指纹
  5. 您应设置以下属性:

    • 唯一用户标识符(名称 ID)user.objectID
    • 其他声明支持的属性
  6. 确保身份提供者设置为具有提供者启动的调用,以链接现有的极狐GitLab 账户。

  7. 可选。如果您使用 群组同步,请自定义群组声明的名称以匹配所需的属性。

查看一个关于在 Azure 上使用 SAML SSO 为群组进行 SCIM 预配的演示。此视频中的 objectID 映射已过时。请遵循SCIM 文档代替。

有关更多信息,请参阅Azure 配置示例

Google Workspace#

要将 Google Workspace 设置为您的身份提供者:

  1. 在左侧边栏,选择 搜索或转到 并找到您的群组。

  2. 选择 设置 > SAML SSO

  3. 注意此页面上的信息。

  4. 按照说明设置 Google 作为您的身份提供者的 SSO。以下极狐GitLab 设置对应 Google Workspace 字段。

    极狐GitLab 设置Google Workspace 字段
    标识符实体 ID
    断言消费者服务 URLACS URL
    极狐GitLab 单点登录 URL开始 URL
    身份提供者单点登录 URLSSO URL
  5. 当您检索证书时,Google Workspace 显示 SHA256 指纹。如果您需要稍后生成 SHA256 指纹,请参阅计算指纹

  6. 设置这些值:

    • 对于 主要电子邮件email
    • 对于 名字first_name
    • 对于 姓氏last_name
    • 对于 名称 ID 格式EMAIL
    • 对于 NameID基本信息 > 主要电子邮件。有关更多信息,请参阅支持的属性
  7. 确保身份提供者设置为具有提供者启动的调用,以链接现有的极狐GitLab 账户。

在极狐GitLab 的 SAML SSO 页面上,当您选择 验证 SAML 配置时,忽略建议设置 NameID 格式为 persistent 的警告。

Okta#

要将 Okta 设置为您的身份提供者的 SSO:

  1. 在左侧边栏,选择 搜索或转到 并找到您的群组。

  2. 选择 设置 > SAML SSO

  3. 注意此页面上的信息。

  4. 按照说明在 Okta 中设置 SAML 应用。

    以下极狐GitLab 设置对应 Okta 字段。

    极狐GitLab 设置Okta 字段
    标识符受众 URI
    断言消费者服务 URL单点登录 URL
    极狐GitLab 单点登录 URL登录页面 URL(在 应用登录页面 设置下)
    身份提供者单点登录 URL身份提供者单点登录 URL
  5. 在 Okta 单点登录 URL 字段下,选择 将此用于接收者 URL 和目标 URL 复选框。

  6. 设置这些值:

    • 对于 应用用户名(名称 ID)自定义 user.getInternalProperty("id")
    • 对于 名称 ID 格式Persistent。有关更多信息,请参阅管理用户 SAML 身份
    • 对于 电子邮件user.email 或类似。
    • 对于其他 属性声明,请参阅支持的属性
  7. 确保身份提供者设置为具有提供者启动的调用,以链接现有的极狐GitLab 账户。

在应用目录中可用的 Okta 极狐GitLab 应用仅支持 SCIM

OneLogin#

OneLogin 支持自己的极狐GitLab (SaaS) 应用。

要将 OneLogin 设置为您的身份提供者:

  1. 在左侧边栏,选择 搜索或转到 并找到您的群组。

  2. 选择 设置 > SAML SSO

  3. 注意此页面上的信息。

  4. 如果您使用 OneLogin 通用 SAML 测试连接器(高级),您应使用 OneLogin SAML 测试连接器。以下极狐GitLab 设置对应 OneLogin 字段:

    极狐GitLab 设置OneLogin 字段
    标识符受众
    断言消费者服务 URL接收者
    断言消费者服务 URLACS(消费者)URL
    断言消费者服务 URL(转义版本)ACS(消费者)URL 验证器
    极狐GitLab 单点登录 URL登录 URL
    身份提供者单点登录 URLSAML 2.0 端点
  5. 对于 NameID,使用 OneLogin ID。有关更多信息,请参阅管理用户 SAML 身份

  6. 配置所需和支持的属性

  7. 确保身份提供者设置为具有提供者启动的调用,以链接现有的极狐GitLab 账户。

有关更多信息,请参阅OneLogin 配置示例

Keycloak#

要将 Keycloak 设置为您的身份提供者:

  1. 在左侧边栏,选择 搜索或转到 并找到您的群组。
  2. 选择 设置 > SAML SSO
  3. 注意此页面上的信息。
  4. 按照说明在 Keycloack 中创建 SAML 客户端。

以下极狐GitLab 设置对应 Keycloak 字段。

极狐GitLab 设置Keycloak 字段
标识符客户端 ID
断言消费者服务 URL有效重定向 URI
断言消费者服务 URL断言消费者服务 POST 绑定 URL
极狐GitLab 单点登录 URL主页 URL
  1. 在 Keycloak 中配置您的极狐GitLab 客户端。
    1. 在 Keycloak 中,转到 客户端 并选择您的极狐GitLab 客户端配置。
    2. 设置 选项卡中,在 SAML 能力 部分:
      1. 设置 名称 ID 格式persistent
      2. 打开 强制名称 ID 格式
      3. 打开 强制 POST 绑定
      4. 打开 包括 AuthnStatement
    3. 签名和加密 部分,打开 签名文档
    4. 密钥 选项卡中,确保所有部分都已禁用。
    5. 客户端范围 选项卡中:
      1. 选择极狐GitLab 的客户端范围。
      2. 选择 email 属性声明。
      3. 用户属性 字段设置为 email
      4. 选择 保存
  2. 从 Keycloak 中检索客户端信息。
    1. 操作 下拉列表中,选择 下载适配器配置
    2. 下载适配器配置 对话框中,从下拉列表中选择 mod-auth-mellon
    3. 选择 下载
    4. 解压下载的归档并打开 idp-metadata.xml
    5. 检索身份提供者单点登录 URL。
      1. 找到 <md:SingleSignOnService> 标签。
      2. 注意 Location 属性的值。
    6. 检索证书指纹。
      1. 注意 <ds:X509Certificate> 标签的值。
      2. 将值转换为 PEM 格式。
      3. 计算指纹

配置断言#

这些属性不区分大小写。

至少,您必须配置以下断言:

  1. NameID
  2. 电子邮件。

可选地,您可以将用户信息作为属性传递给极狐GitLab。

  • 用户的电子邮件地址可以是 emailmail 属性。
  • 用户名可以是 usernamenickname 属性。您应该只指定其中一个。

有关可用属性的更多信息,请参阅极狐GitLab 私有化部署的 SAML SSO

使用元数据#

要配置某些身份提供者,您需要一个极狐GitLab 元数据 URL。要查找此 URL:

  1. 在左侧边栏,选择 搜索或转到 并找到您的群组。
  2. 选择 设置 > SAML SSO
  3. 复制提供的 极狐GitLab 元数据 URL
  4. 按照您的身份提供者的文档进行操作,并在请求时粘贴元数据 URL。

检查您的身份提供者的文档以查看它是否支持极狐GitLab 元数据 URL。

管理身份提供者#

在设置完身份提供者后,您可以:

  • 更换身份提供者。
  • 更改电子邮件域。

更换身份提供者#

您可以更换为不同的身份提供者。在更换过程中,用户无法访问任何 SAML 群组。为了减轻这种情况,您可以禁用 SSO 强制

要更换身份提供者:

  1. 配置群组与新的身份提供者。
  2. 可选。如果 NameID 不相同,为用户更改 NameID

更改电子邮件域#

要迁移用户到新的电子邮件域,请告知用户:

  1. 添加他们的新电子邮件作为他们账户的主要电子邮件并验证。
  2. 可选。移除他们账户中的旧电子邮件。

如果 NameID 使用电子邮件地址进行配置,为用户更改 NameID

配置极狐GitLab#

History
    • 在极狐GitLab 16.7 中引入设置自定义角色作为默认会员角色的能力。

在您设置身份提供者与极狐GitLab 配合后,您必须配置极狐GitLab 使用它进行身份验证:

  1. 在左侧边栏,选择 搜索或转到 并找到您的群组。
  2. 选择 设置 > SAML SSO
  3. 完成字段:
    • 身份提供者单点登录 URL 字段中,输入来自您的身份提供者的 SSO URL。
    • 证书指纹 字段中,输入 SAML 令牌签名证书的指纹。
  4. 对于 JihuLab.com 上的群组:在 默认会员角色 字段中,选择:
    1. 分配给新用户的角色。
    2. 分配给不是映射的 SAML 群组成员的用户的角色,当群组为该群组配置了 SAML 群组链接时。
  5. 对于极狐GitLab 私有化部署实例上的群组:在 默认会员角色 字段中,选择分配给新用户的角色。 默认角色是 访客。该角色成为所有被添加到群组的用户的起始角色:
    • 在极狐GitLab 16.7 及以后,群组所有者可以设置自定义角色
    • 在极狐GitLab 16.6 及以前,群组所有者可以设置默认会员角色,而不是 访客
  6. 选择 启用此群组的 SAML 身份验证 复选框。
  7. 推荐。选择:
    • 在极狐GitLab 17.4 及以后,禁用企业用户的密码身份验证。 有关更多信息,请参阅禁用企业用户的密码身份验证文档
    • 强制此群组仅通过 SSO 进行 Web 活动身份验证
    • 强制此群组仅通过 SSO 进行 Git 和依赖项代理活动的身份验证。 有关更多信息,请参阅SSO 强制文档
  8. 选择 保存更改

如果您在配置极狐GitLab 时遇到问题,请查看故障排除文档

用户访问和管理#

在群组 SSO 配置并启用后,用户可以通过身份提供者的仪表板访问 JihuLab.com 群组。如果 SCIM 已配置,请参阅 SCIM 页面上的用户访问

当用户尝试使用群组 SSO 登录时,极狐GitLab 会尝试找到或创建一个用户,基于以下几点:

  • 找到具有匹配 SAML 身份的现有用户。这意味着用户要么是由 SCIM 创建了他们的账户,要么他们以前使用群组的 SAML 身份提供者登录过。
  • 如果不存在具有相同电子邮件地址的账户,自动创建一个新账户。极狐GitLab 尝试匹配主要和次要电子邮件地址。
  • 如果已经存在具有相同电子邮件地址的账户,将用户重定向到登录页面以:
    • 使用其他电子邮件地址创建一个新账户。
    • 登录他们的现有账户以链接 SAML 身份。
History
    • 在极狐GitLab 15.7 中引入 记住我 复选框。
如果用户是该群组的[企业用户](../../enterprise_user/_index.md),以下步骤不适用。企业用户必须改为[使用与极狐GitLab 账户具有相同电子邮件的 SAML 账户登录](#returning-users-automatic-identity-relinking)。这允许极狐GitLab 将 SAML 账户链接到现有账户。

要将 SAML 链接到您的现有 JihuLab.com 账户:

  1. 登录到您的 JihuLab.com 账户。重置您的密码 如果有必要。
  2. 找到并访问您正在登录的群组的 极狐GitLab 单点登录 URL。群组所有者可以在群组的 设置 > SAML SSO 页面上找到此信息。 如果配置了登录 URL,用户可以从身份提供者连接到极狐GitLab 应用。
  3. 可选。选择 记住我 复选框以保持登录极狐GitLab 两周。 您可能仍然需要更频繁地重新与您的 SAML 提供者进行身份验证。
  4. 选择 授权
  5. 如果提示,请在身份提供者上输入您的凭据。
  6. 然后您会被重定向回 JihuLab.com,现在应该可以访问该群组。 将来,您可以使用 SAML 登录 JihuLab.com。

如果用户已经是该群组的成员,则链接 SAML 身份不会更改他们的角色。

在后续访问中,您应该能够使用 SAML 登录 JihuLab.com或直接访问链接。如果 强制 SSO 选项已打开,您将被重定向通过身份提供者登录。

使用 SAML 登录 JihuLab.com#

  1. 登录到您的身份提供者。
  2. 从应用列表中选择 "GitLab.com" 应用。(名称由身份提供者的管理员设置。)
  3. 然后您将登录到 JihuLab.com 并重定向到该群组。

管理用户 SAML 身份#

History
    • 在极狐GitLab 15.5 中引入使用 SAML API 更新 SAML 身份的 SAML 身份。

JihuLab.com 使用 SAML NameID 来识别用户。NameID 是:

  • SAML 响应中的必填字段。
  • 不区分大小写。

NameID 必须:

  • 对每个用户都是唯一的。
  • 是一个永远不会改变的持久值,例如随机生成的唯一用户 ID。
  • 在后续登录尝试中精确匹配,因此不应依赖用户输入可能会在大小写之间更改。

NameID 不应是电子邮件地址或用户名,因为:

  • 电子邮件地址和用户名更有可能随时间变化。例如,当一个人的名字发生变化时。
  • 电子邮件地址不区分大小写,这可能导致用户无法登录。

NameID 格式必须是 Persistent,除非您使用需要不同格式的字段,例如电子邮件。您可以使用任何格式,但不能使用 Transient

更改用户 NameID#

群组所有者可以使用 SAML API 更改其群组成员的 NameID 并更新他们的 SAML 身份。

如果 SCIM 已配置,群组所有者可以使用 SCIM API 更新 SCIM 身份。

或者,要求用户重新连接他们的 SAML 账户。

  1. 要求相关用户取消与群组的账户链接
  2. 要求相关用户将他们的账户链接到新的 SAML 应用
用户使用 SSO SAML 登录极狐GitLab 后,更改 **NameID** 值会破坏配置并可能将用户锁定在极狐GitLab 群组之外。

有关特定身份提供者的推荐值和格式的更多信息,请参阅设置您的身份提供者

从 SAML 响应配置企业用户设置#

History
    • 在极狐GitLab 16.7 中更改为仅配置企业用户设置。

极狐GitLab 允许基于 SAML 响应中的值设置某些用户属性。 如果该用户是群组的企业用户,则现有用户的属性会从 SAML 响应值中更新。

支持的用户属性#

  • can_create_group - truefalse,表示企业用户是否可以创建新的顶级群组。默认值是 true
  • projects_limit - 企业用户可以创建的个人项目总数。值为 0 表示用户无法在其个人命名空间中创建新项目。默认值是 100000

示例 SAML 响应#

您可以在浏览器的开发工具或控制台中找到 SAML 响应,格式为 base64 编码。使用您选择的 base64 解码工具将信息转换为 XML。以下是一个示例 SAML 响应。

xml
1 <saml2:AttributeStatement> 2 <saml2:Attribute Name="email" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic"> 3 <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">user.email</saml2:AttributeValue> 4 </saml2:Attribute> 5 <saml2:Attribute Name="username" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic"> 6 <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">user.nickName</saml2:AttributeValue> 7 </saml2:Attribute> 8 <saml2:Attribute Name="first_name" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> 9 <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">user.firstName</saml2:AttributeValue> 10 </saml2:Attribute> 11 <saml2:Attribute Name="last_name" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> 12 <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">user.lastName</saml2:AttributeValue> 13 </saml2:Attribute> 14 <saml2:Attribute Name="can_create_group" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> 15 <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">true</saml2:AttributeValue> 16 </saml2:Attribute> 17 <saml2:Attribute Name="projects_limit" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> 18 <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">10</saml2:AttributeValue> 19 </saml2:Attribute> 20 </saml2:AttributeStatement>

通过验证域绕过用户电子邮件确认#

History
    • 在极狐GitLab 15.4 中引入。

默认情况下,通过 SAML 或 SCIM 配置的用户会收到验证邮件以确认其身份。相反,您可以使用自定义域配置极狐GitLab,极狐GitLab 会自动确认用户账户。用户仍会收到一封企业用户欢迎邮件。如果以下两个条件都为真,则跳过确认:

  • 用户通过 SAML 或 SCIM 配置。
  • 用户的电子邮件地址属于验证域。

禁用企业用户的密码身份验证#

History
    • 在极狐GitLab 17.4 中引入。

先决条件:

  • 您必须拥有该群组的所有者角色,该群组的企业用户属于。
  • 群组 SSO 必须启用。

您可以禁用群组中所有企业用户的密码身份验证。这也适用于作为群组管理员的企业用户。配置此设置可以阻止企业用户更改、重置或使用他们的密码进行身份验证。相反,这些用户可以使用以下方式进行身份验证:

要禁用企业用户的密码身份验证:

  1. 在左侧边栏,选择 搜索或转到 并找到您的群组。
  2. 选择 设置 > SAML SSO
  3. 配置 下,选择 禁用企业用户的密码身份验证
  4. 选择 保存更改

返回用户(自动身份重新链接)#

如果企业用户从群组中移除然后返回,他们可以使用他们的企业 SSO 账户登录。 只要身份提供者中的用户电子邮件地址与现有极狐GitLab 账户上的电子邮件地址保持一致,SSO 身份就会自动链接到该账户,并且用户可以无问题地登录。

阻止用户访问#

当仅使用 SAML SSO 配置时,要撤销用户对群组的访问权限,可以:

  • 从(依次)身份提供者上的用户数据存储或特定应用上的用户列表中移除用户。
    1. 极狐GitLab.com 群组。
  • 在群组的顶层使用群组同步,默认角色设置为最小访问以自动阻止对群组中所有资源的访问。

当也使用 SCIM 时,要撤销用户对群组的访问,请参阅移除访问

用户可以从他们的个人资料页面取消与群组的 SAML 连接。这在以下情况下可能很有帮助:

  • 您不再希望群组能够在极狐GitLab.com 上为您登录。
  • 您的 SAML NameID 已更改,因此极狐GitLab 无法再找到您的用户。
取消链接账户会移除分配给该用户在群组中的所有角色。 如果用户重新链接他们的账户,角色需要重新分配。

群组至少需要一个所有者。如果您的账户是群组中的唯一所有者,则不允许您取消链接账户。在这种情况下,设置另一个用户作为群组所有者,然后您可以取消链接账户。

例如,取消链接 MyOrg 账户:

  1. 在左侧边栏,选择您的头像。
  2. 选择 编辑个人资料
  3. 在左侧边栏,选择 账户
  4. 服务登录 部分,选择连接账户旁边的 断开连接

SSO 强制#

History
    • 在极狐GitLab 15.5 中做了改进:即使 SSO 强制未启用也包括透明强制。使用名为 transparent_sso_enforcement功能标志。在 JihuLab.com 上禁用。
    • 在极狐GitLab 15.8 中做了改进:默认在 JihuLab.com 上启用透明 SSO。
    • 在极狐GitLab 15.10 中 GA。功能标志 transparent_sso_enforcement 被移除。

在 JihuLab.com 上,SSO 被强制:

  • 当 SAML SSO 被启用。
  • 对于访问组织群组层次结构中的群组和项目的现有 SAML 身份用户。用户可以使用他们的 JihuLab.com 凭据查看组织外的其他群组和项目,以及他们的用户设置,而无需通过 SAML SSO 登录。

如果以下情况之一或两者都为真,则用户具有 SAML 身份:

  • 他们已使用他们的极狐GitLab 群组单点登录 URL 登录到极狐GitLab。
  • 他们是由 SCIM 配置的。

用户不会在每次访问时提示通过 SSO 登录。极狐GitLab 检查用户是否通过 SSO 进行了身份验证。如果用户最后一次登录超过 24 小时,极狐GitLab 会提示用户再次通过 SSO 登录。

SSO 强制如下:

项目/群组可见性强制 SSO 设置具有身份的成员没有身份的成员非成员或未登录
私有关闭强制不强制不强制
私有开启强制强制强制
公开关闭强制不强制不强制
公开开启强制强制不强制

仅针对 Web 活动强制 SSO#

当启用 强制此群组仅通过 SSO 进行 Web 活动身份验证 选项时:

  • 所有成员必须使用他们的极狐GitLab 群组单点登录 URL 访问群组资源,无论他们是否具有现有的 SAML 身份。
  • 当用户访问组织群组层次结构中的群组和项目时,强制 SSO。用户可以查看组织外的其他群组和项目而无需通过 SAML SSO 登录。
  • 无法手动添加用户作为新成员。
  • 具有所有者角色的用户可以使用标准登录过程进行必要更改到顶级群组设置。
  • 对于非成员或未登录的用户:
    • 当他们访问公共群组资源时不强制 SSO。
    • 当他们访问私人群组资源时强制 SSO。
  • 对于组织群组层次结构中的项目,仪表板可见性如下:
    • 当查看您的待办事项时强制 SSO。如果您的 SSO 会话已过期,您的待办事项将被隐藏,并显示一个警告。
    • 当查看您的分配议题列表时强制 SSO。如果您的 SSO 会话已过期,您的议题将被隐藏。
    • 当查看您是分配者或请求您审核的合并请求列表时不强制 SSO。即使您的 SSO 会话已过期,您也可以查看合并请求。

启用时,针对 Web 活动的 SSO 强制具有以下影响:

  • 对于群组,用户无法在顶级群组之外共享群组中的项目,即使项目已被分叉。
  • 来自 CI/CD 作业的 Git 活动没有强制 SSO 检查。
  • 不与常规用户绑定的凭据(例如,项目和群组访问令牌,以及部署密钥)没有强制 SSO 检查。
  • 用户必须通过 SSO 登录才能使用依赖项代理拉取图像。
  • 当启用 强制此群组仅通过 SSO 进行 Git 和依赖项代理活动的身份验证 选项时,任何涉及 Git 活动的 API 端点都处于 SSO 强制之下。例如,创建或删除分支、提交或标签。对于 SSH 和 HTTPS 上的 Git 活动,用户必须至少有一个通过 SSO 登录的活动会话才能推送到或从极狐GitLab 仓库中拉取。活动会话可以在不同设备上。

当针对 Web 活动强制 SSO 时,非 SSO 群组成员不会立即失去访问权限。如果用户:

  • 有活动会话,他们可以继续访问群组最多 24 小时,直到身份提供者会话超时。
  • 已注销,他们无法在从身份提供者中移除后访问群组。

迁移到新的身份提供者#

要迁移到新的身份提供者,请使用SAML API更新您所有群组成员的身份。

例如:

  1. 设置维护窗口以确保没有用户在该时间内活跃。
  2. 使用 SAML API更新每个用户的身份
  3. 配置新的身份提供者。
  4. 测试登录是否正常工作。

故障排除#

如果您发现难以匹配极狐GitLab 和身份提供者之间的不同 SAML 术语:

  1. 检查您的身份提供者的文档。查看他们的示例 SAML 配置以获取有关他们使用的术语的信息。
  2. 检查极狐GitLab 私有化部署的 SAML SSO 文档。 极狐GitLab 私有化部署 SAML 配置文件支持比 JihuLab.com 文件更多的选项。您可以在以下位置找到有关极狐GitLab 私有化部署实例文件的信息:
  3. 将您的提供者的 XML 响应与我们的用于内部测试的示例 XML进行比较。

有关其他故障排除信息,请参阅故障排除 SAML 指南