先決條件
如要設定 SSO,你必須:
擁有包含 Global Admin Console 的 OpenAI 方案
是 Global Admin
繼續之前,請先參閱我們的 SSO 概覽 及 使用者管理 文件頁面,以確保你熟悉我們的 SSO 架構。
如果你之前已為 API Platform 組織或 ChatGPT 工作區設定 SSO,你的 SSO 設定應已可在 OpenAI Identity 頁面進行設定。如果你想啟用 SSO 的工作區或組織未有顯示在你的 Global Admin Console 中,請聯絡 support@openai.com。
⚠️ 如果 SSO 設定不正確,你的用戶將會被鎖定在系統外!
錯誤設定可能導致你的用戶無法存取已將 SSO 設為必需的組織及工作區。我們建議你作為 global admin,在 Admin Portal 中將 SSO 維持為 Optional。
設定期間,請保持兩個分開的已登入視窗開啟:
一個透過無痕視窗登入
一個透過你的標準瀏覽器登入
這樣你便可在其中一個視窗測試登入流程及 SSO/網域驗證設定,並在需要時透過第二個視窗還原變更。
測試 SSO
如果你想測試設定流程,同時避免對用戶造成影響,可透過這裡的應用程式進行。
在此測試應用程式中成功完成連線,不會連結回你的正式 org,亦不會儲存該連線(因此當你準備就緒後,可在正式環境中重用相同參數)。這表示當你熟習需求並處理任何缺失的先決條件時,可安全地將其用作沙盒或測試環境。
啟用 SSO
如要開始,請從 Global Admin Console 前往 OpenAI Identity 頁面。你亦可從 ChatGPT 中「Manage Workspace」設定下方「Identity & Provisioning」頁面的連結,或在 API Platform 組織設定中的 Identity 分頁前往該頁面。
以下部分範例會展示在 Okta 中的設定,但相同邏輯亦適用於所有 SAML IdP。
網域驗證
如要啟用 SSO,我們要求你先驗證至少一個網域。
重要:請記得查看網域驗證可能對使用該網域的用戶造成的下游影響。
按一下「+ Add Domain」按鈕,然後輸入你的 DNS 以開始:

提交後,我們會提供一組金鑰供你驗證網域擁有權。前往你的 DNS 供應商,並加入一筆帶有所提供值的 TXT 記錄:

你的 TXT 記錄必須可透過 DNS 查詢存取,驗證檢查才會成功。
在 DNS 供應商完成此步驟後,返回設定頁面並按一下「Check」按鈕。如果你的網域擁有權已成功驗證,你會見到狀態更新為「Verified」。

每個 Admin Portal 最多可加入 99 個已驗證網域,而我們會提供 7 天時間讓你完成驗證檢查,之後網域會被標記為已過期。網域只可在單一 Admin Portal 上驗證。如你需要在不屬於你 Admin Portal 的組織或工作區驗證同一網域,請聯絡支援團隊。
設定你的應用程式
成功驗證網域後,你可以透過設定 IdP 應用程式繼續進行 SSO 設定。
如要開始,按一下「Set up SSO」按鈕:

選擇你的身分提供者
你可以從一系列原生支援 SAML 整合的熱門 IdP 清單中作出選擇。如果你在清單中看不到你的 IdP,或你想使用 OIDC 連線,可選擇底部顯示的相應自訂連線按鈕:

建立/連接應用程式
你現在可以按照逐步設定精靈,協助建立並將你的 IdP 應用程式與我們連接。視乎你使用的 IdP,說明可能略有不同,但一般設定大致相同:

請注意,建立步驟中提供的 URL 將會是你組織專屬的:

重要:如果你選擇重設運作正常的 SSO 連線,這些 URL 值將會變更。再次設定 SSO 時,你需要確保亦已在應用程式中相應更新它們。
完成 URL 設定後,你可以繼續為透過你的應用程式驗證的用戶定義屬性對應。
屬性對應
你在 SSO 應用程式中定義的屬性對應,最終會決定哪些 OpenAI 帳戶可被驗證,以及你的用戶在 OpenAI 產品中如何顯示。我們目前的用戶模型支援三項屬性:
電郵地址(SAML 回應中必需,用以決定存取哪個帳戶)
名字(可選,但建議提供)
姓氏(可選,但建議提供)
注意:我們不支援解密 SAML 回應。請確保你沒有對回應或 assertion 進行加密,以保證我們能正確識別屬性。
視乎你的 IdP,實際屬性對應會有所不同。我們建議你遵循設定精靈中為你的 IdP 顯示的確切對應,例如 Okta 會是:

如果你發現新用戶的電郵地址被設為其顯示名稱,請檢查你的屬性對應,並確認你沒有加密回應。
另外,如果系統要求新用戶輸入其姓名及生日,這很可能表示我們未能從你的屬性回應中識別到正確的名稱值。
電郵變更
有時,你的 IdP 中用戶電郵地址可能會更新,例如:
結婚後的法定姓名變更
其公司被收購,並獲得新網域
等等
如果這會改變 SSO SAMLResponse 中 emailaddress 聲明的值,成功進行 SSO 後,系統將會存取與新電郵地址綁定的另一個 OpenAI 用戶(如先前不存在則會建立)。此用戶需要與原有用戶分開獲邀加入 Org 或 Workspace。
主要電郵地址
在某些情況下,你的用戶可能有多個不同的電郵地址。這在採用分散式郵件系統的大型公司,或擁有不同院校的 Edu 客戶中相當常見,例如:
在此情況下,我們建議確保你的 SAML 回應在其屬性中只包含單一電郵地址,因為包含多個電郵可能會在我們嘗試將其連結至新用戶或現有用戶時造成混亂。
另外,如果用戶有固定電郵地址(例如 UPN),我們建議你在屬性對應中使用此地址,以確保他們擁有穩定的 OpenAI 用戶帳戶,不會在其他電郵地址變更時受到影響。
設定 IdP 中繼資料
在設定的這個階段,你有兩個不同選項來定義 IdP 的中繼資料:動態設定及手動設定。
動態設定
這是建議且最直接的選項。使用動態設定時,你只需提供與應用程式相關的 Metadata URL(現已由你先前設定的 SSO URL 及 Entity ID 填入)。設定精靈會顯示你可在 IdP 中哪裡找到此資料:

手動設定
顧名思義,手動設定需要多一點工夫。視乎你的 IdP,你需要輸入相應的 SSO URL 及 IdP issuer,以及 x.509 憑證:

IdP 發起登入
如果你希望用戶能按一下儀表板上的圖磚後自動完成驗證,你可以在設定流程中為應用程式配置 IdP 發起驗證。雖然實際流程會因 IdP 而異,但一般會使用以下格式的所提供 URL:
ChatGPT:https://chatgpt.com/auth/login?sso=true&connection=conn_0123abc
API Platform:https://platform.openai.com/enterprise/conn_01ABC02DEF/login
例如,Okta 會引導你使用此 URL 建立新的 Bookmark Application:

而 Entra ID 則容許你在相應表單中輸入所提供的「Sign on URL」:

重要:如果你選擇重設運作正常的 SSO 連線,這些 URL 值將會變更。
這表示當你設定新連線時,你亦需要相應更新 Sign on URL,否則用戶將無法透過其圖磚進行驗證。
完成設定
當你設定好 IdP 的中繼資料後,可按一下「Continue」以繼續設定任何可選的書籤應用程式。最後一個必需的設定步驟會在「Test Single Sign-On」頁面上:

按下「Continue to sign-in」後,精靈將嘗試測試你的新連線。如果一切成功,你便已有效啟用 SSO。你現在應可在設定頁面看到相關反映:


你 IdP 群組中擁有對應帳戶或邀請的用戶,現在應可使用 SSO 登入:
他們可以前往 chatgpt.com 或 platform.openai.com,輸入其電郵,然後在我們將他們轉送至其 IdP 後完成驗證
他們可使用你在設定期間(可選)配置的 Bookmark Tile URL
如果你發現用戶無法成功驗證,而你在還原變更時亦遇到困難,請立即聯絡支援團隊以獲得協助。
請記住,在 API Platform 啟用 SSO 會把網域驗證套用至該網域下所有用戶。這表示即使用戶不屬於你的 Enterprise 組織,他們仍必須屬於你的 IdP 群組,才能存取其個人組織。
登入疑難排解
如果你在啟用 SSO 後遇到登入問題,可參閱我們的常見問題與疑難排解頁面,以協助識別常見錯誤。如果你未能在該處找到足夠答案,請隨時聯絡支援團隊。
