OpenAI

单点登录 (SSO) 概述

SSO 简要概述:在 ChatGPT 与 API 平台之间如何协同生效

更新于:5 days ago

目的

本指南面向管理员与 IT 团队,旨在提供在为 ChatGPT 或 API 平台账户配置 SSO 前需要了解与评估的关键信息。SSO 适用于 Business、Enterprise 和 Edu 客户。

背景架构与术语

目前,ChatGPT 和 API 平台均通过 SAML 身份验证协议支持 SSO。

  • 工作空间指的是一个 ChatGPT 实例

  • 组织指的是一个 API 平台实例

  • 身份提供商 (IdP) 是指您用于管理数字身份的服务。我们支持与所有支持 SAML 的 IdP 建立连接。我们对接的一些最常见 IdP 包括:

    • Okta

    • Azure Active Directory/Entra ID

    • Google Workspace

    • Duo

如需查看受支持 IdP 的完整列表,请参阅 WorkOS 的集成页面。我们支持此页面上所有可通过 SAML 或 OIDC 连接的第三方集成。

目前,每个 ChatGPT 工作空间都关联着一个对应的 API 平台组织。这意味着,您在 Enterprise 平台“概览”页面上找到的组织 ID (org-id),与您的 ChatGPT Enterprise 工作空间所绑定的组织 ID 是相同的。因此,您的工作空间和组织共享同一个身份验证层

Diagram of an SSO identity platform connecting through OpenAI's authentication layer to ChatGPT Enterprise and OpenAI API

基于此架构,有以下几个关键点需要注意:

  1. 单个组织 ID 仅支持单一 IdP 配置。

  2. 域名验证与 SAML SSO 设置在 ChatGPT 与 API 平台之间共享。

  3. SSO 需要在 ChatGPT 和 API 平台上分别启用。不过,只要一端已完成配置,另一端通常只需开启开关;如需从 IdP 侧一键进入,可再在 IdP 中添加书签应用。

开始使用 SSO

在配置 SSO 之前,请先了解 OpenAI SSO 的几个关键概念。

通用身份术语

预配
当 OpenAI 在用户语境中提到预配时,特指预配邀请。我们并不直接支持自动创建用户账户。可通过以下方式来预配邀请:

  1. SCIM(在ChatGPT SCIM 集成API 平台 SCIM 集成中均支持)

  2. ChatGPTAPI 平台的“成员”页面

  3. 自动账户创建

  4. 邀请 API

预配邀请是与 SSO 执行的身份验证相互独立的步骤。

身份验证 – “您真的是您所声称的那个人吗?”

例如:IdP 会对用户进行认证并将结果提供给我们的服务,从而确认用户登录时的身份。

授权 – “允许您执行什么操作或查看哪些内容?”

例如:在您的 IdP 完成身份验证后,由我们来确定您是哪个(哪些)ChatGPT 工作空间的成员。

了解 OpenAI SSO 设置

域名验证
这是启用 SSO 和自动账户创建 (AAC) 的先决条件。本质上是为了确认:“您是否拥有此域名?”

  1. 当用户通过 chatgpt.com 或 platform.openai.com 登录时,若已设置 SSO,系统会依据邮箱域名是否已验证,决定将用户引导至密码登录流程,或转到其 IdP 进行认证。

  2. 一旦某个域名在您的工作空间中得到验证,任何使用该域名邮箱受邀加入该工作空间的用户,在下次登录时都将被提示合并其个人账户。

  3. ChatGPT 的身份验证是基于域名和工作空间的。当一个域名被验证且在该工作空间启用了 SSO 时,只有同属该工作空间且使用该域名的用户才会被引导至 SSO 登录。那些使用相同域名但不属于该工作空间的用户(例如,来自您域名的免费版、Plus、Pro 或 Team 账户用户),仍可通过邮箱/密码或社交方式登录。

  4. API 平台的身份验证是完全基于域名的。一旦某个域名被验证并启用 SSO,该域名下的所有平台用户都将失去使用密码登录的能力。更多细节请参阅下文的“ChatGPT 与 API 平台的域名验证差异”。

  5. 子域名必须与顶级域名分开单独验证

为确保我们能成功处理您的域名验证,您的 DNS TXT 记录必须可通过公共 DNS 查询来读取。

(仅 ChatGPT) 自动账户创建 (AAC)
在 ChatGPT 工作空间启用后,邮箱与已验证域名匹配的新用户在注册时会自动收到加入企业工作空间的邀请。如果您正在使用 SCIM,我们不建议启用 AAC。

(仅 ChatGPT) 允许外部域名邀请
此设置用于控制是否允许邀请未验证域名的用户加入工作空间。来自外部域名的用户无需通过 SSO 登录,因为 SSO 设置仅适用于属于已验证域名的用户。

启用 SSO
此设置决定您已配置的 SSO 设置是否对当前工作空间和/或组织生效。

强制使用 SSO

当此项关闭时,已验证域名的用户可以选择通过 SSO 或社交登录方式登录。

全局管理员可以在管理员控制台的“管理 SSO”页面中,直接将 ChatGPT 和 API 平台的“强制执行 SSO”设为“必选”。当此项开启时,已验证域名的用户只能通过 SSO 登录已启用 SSO 的工作空间或组织。密码与社交登录在该工作空间/组织将不再可用;但在该域名未被验证的其他工作空间/组织中仍可使用。

ChatGPT 与 API 平台的域名验证差异

如前所述,域名验证适用于互相关联的 ChatGPT 和平台实例。然而,一旦启用了 SSO,域名验证对 ChatGPT 和 API 平台登录行为的影响存在关键差异:

API 平台上的 SSO 是完全基于域名的。这意味着,一旦某个域名在任何一个组织中被验证并启用了 SSO,所有使用该域名的用户都将失去使用密码登录的能力。如果他们没有设置社交登录,那么除非他们属于 IdP 的访问群组,否则将被锁定在其所属的组织之外。

相反,在 ChatGPT 侧,只有属于该域名已验证的特定工作空间的用户会受到影响。未加入 IdP 访问群组的用户,仍可按下一节所述方式登录其他工作空间。

用户的登录体验

OpenAI 支持三种不同的身份验证方法:

  1. 用户名 + 密码

  2. 通过 Microsoft/Google/Apple 社交账户进行身份验证

  3. SSO

请注意,具体行为会根据用户是登录 ChatGPT 还是 API 平台、其域名是否已验证、以及其所属的工作空间/组织是否已强制使用 SSO 而有所不同。

服务提供商 (SP) 发起的登录

所有用户均可直接访问 chatgpt.com 或 platform.openai.com 进行登录。使用此方式时,将根据下图所示逻辑触发不同的身份验证方法:

Diagram of login methods grouped into Password, SSO with SAML, and Social providers like Google, Microsoft, and Apple

如果用户属于多个工作空间,且其中至少一个工作空间已为其域名启用了 SSO,系统将提示用户选择要登录到哪个工作空间。

ChatGPT 服务提供商发起的登录流程

如果我们发现输入的邮箱属于某个域名已验证的工作空间,系统会将用户转发至其 IdP 进行身份验证。否则,用户将被引导至密码登录页面。

如果用户属于多个工作空间,且其中至少一个工作空间已为其域名启用了 SSO,系统将提示用户选择使用哪种方式登录:

ChatGPT sign-in screen with two SSO workspace options plus Google, Microsoft, Apple, and password login

注意:如果为特定工作空间启用了“强制使用 SSO”,则拥有已验证域名的用户只能通过 SSO 登录。社交登录和密码身份验证将不可用。

平台服务提供商发起的登录流程

如前所述,当域名已验证的用户在 API 平台登录页面输入其邮箱时,系统将始终将其引导至其 IdP 进行身份验证。

正因如此,在为平台启用 SSO 前,确保您充分理解这一点至关重要。否则,很容易因误操作而导致使用个人账号的平台用户无法登录。

IdP 发起的登录

在各自的身份管理页面配置 SSO 时,您会找到为 ChatGPT 和 API 平台分别提供的唯一磁贴 URL:

您可以在 IdP 中配置这些磁贴 URL,以便用户一键自动登录/认证。

后续步骤

现在您已对我们的架构有了良好基础,请前往“了解您的理想用户管理设置”页面,以确定最适合您用例的实施方案。随后,我们将引导您完成在账户中配置 SSO 和 SCIM 的步骤。

这篇文章对你有帮助吗?