Just-in-Time 供应

Just-in-Time (JIT) 配置在每次成功的单点登录 (SSO) 身份验证后自动创建并更新用户帐户。JIT 会验证登录的用户是否属于组织以及在您的身份提供商 (IdP) 中分配给他们的团队。创建 SSO 连接时,默认情况下会开启 JIT 预置。

启用了 JIT 配置的 SSO 身份验证

当用户使用 SSO 登录并且您的 SSO 配置启用了 JIT 配置时,以下步骤会自动进行:

  1. 系统会检查用户的电子邮件地址是否存在 Docker 账户。

    • 如果存在账户:系统使用现有账户,并在必要时更新用户的全名。
    • 如果不存在帐户:使用基本用户属性(电子邮件、姓名和姓氏)创建新的 Docker 帐户。根据用户的电子邮件、姓名和随机数生成唯一的用户名,以确保所有用户名在整个平台上都是唯一的。
  2. 系统会检查是否有任何待处理的 SSO 组织邀请。

    • 找到邀请:自动接受邀请。
    • 邀请包括特定组:用户将添加到 SSO 组织内的该组。
  3. 系统在身份验证期间验证 IdP 是否具有共享组映射。

    • 提供的组映射:用户被分配到相关的组织和团队。
    • 未提供组映射:系统检查用户是否已是组织的一部分。否则,用户将添加到 SSO 连接中配置的默认组织和团队。

下图概述了启用 JIT 的 SSO 身份验证:

JIT provisioning enabled

禁用 JIT 配置的 SSO 身份验证

在 SSO 连接中禁用 JIT 预置时,在身份验证期间将执行以下操作:

  1. 系统会检查用户的电子邮件地址是否存在 Docker 账户。

    • 如果存在账户:系统使用现有账户,并在必要时更新用户的全名。
    • 如果不存在帐户:使用基本用户属性(电子邮件、姓名和姓氏)创建新的 Docker 帐户。根据用户的电子邮件、姓名和随机数生成唯一的用户名,以确保所有用户名在整个平台上都是唯一的。
  2. 系统会检查是否有任何待处理的 SSO 组织邀请。

    • 找到邀请:如果用户是组织的成员或有待处理的邀请,则登录成功,并自动接受邀请。
    • 未找到邀请:如果用户不是组织的成员,并且没有待处理的邀请,则登录将失败,并显示错误。用户必须联系管理员才能受邀加入组织。Access denied

禁用 JIT 后,仅当启用了 SCIM 时,组映射才可用。如果未启用 SCIM,则不会将用户自动配置到组。

下图概述了禁用 JIT 的 SSO 身份验证:

JIT provisioning disabled

禁用 JIT 预置

警告

禁用 JIT 预置可能会中断用户的访问和工作流程。禁用 JIT 后,用户不会自动添加到您的组织。用户必须已经是组织的成员或具有待处理的邀请才能通过 SSO 成功登录。要在禁用 JIT 的情况下自动配置用户,请使用 SCIM。

出于以下原因,您可能希望禁用 JIT 预置:

  • 您有多个组织,已启用 SCIM,并希望 SCIM 成为预置的事实来源
  • 您希望根据组织的安全配置控制和限制使用情况,并希望使用 SCIM 来配置访问权限

默认情况下,用户使用 JIT 进行配置。如果启用 SCIM,则可以禁用 JIT:

  1. 登录到 Admin Console
  2. 在左侧导航下拉列表中选择您的组织或公司,然后选择 SSO 和 SCIM。
  3. 在 SSO connections (SSO 连接) 表中,选择 Action (操作) 图标,然后选择 Disable JIT provisioning(禁用 JIT 预置)。
  4. 选择 禁用 进行确认。