Layunin
Nilalayon ng gabay na ito na magbigay sa mga Admin at IT Team ng kinakailangang impormasyong dapat isaalang-alang bago i-configure ang SSO sa iyong mga ChatGPT o Platform account. Available ang SSO para sa mga customer ng Business, Enterprise, at Edu.
Background architecture at terminolohiya
Kasalukuyang sinusuportahan ang SSO sa pamamagitan ng SAML authentication para sa parehong ChatGPT at API Platform.
Ang workspace ay tumutukoy sa isang instance ng ChatGPT
Ang Organization ay tumutukoy sa isang instance ng API Platform
Ang Identity Provider (IdP) ay tumutukoy sa serbisyong ginagamit mo upang pamahalaan ang digital identity. Sinusuportahan namin ang mga koneksyon sa lahat ng IdP na sumusuporta sa SAML. Ilan sa pinakakaraniwang IdP na nakakonekta namin ay:
Okta
Azure Active Directory/Entra ID
Google Workspace
Duo
Para sa buong listahan ng mga sinusuportahang IdP, tingnan ang Integrations Page ng WorkOS. Sinusuportahan namin ang lahat ng third-party integration sa page na ito na maaaring ikonekta sa pamamagitan ng SAML o OIDC.
Sa kasalukuyan, bawat ChatGPT workspace ay may katumbas na Platform organization na nakakabit dito. Ibig sabihin, ang Organization ID (org-id) na makikita mo sa page na “General” ng Platform ng iyong Enterprise ay kapareho ng Organization ID (org-id) na nakakabit sa iyong Enterprise ChatGPT workspace. Dahil dito, iisa ang authentication layer ng iyong workspace at organization:

May ilang mahahalagang bagay na dapat tandaan bilang resulta ng architecture na ito:
Ang isang Organization ID (org-id) ay maaari lamang sumuporta ng isang configuration ng IdP.
Pinagsasaluhan ng ChatGPT at API Platform ang mga domain verification at setting ng SAML SSO.
Kailangang i-enable nang hiwalay ang SSO sa ChatGPT kumpara sa API Platform. Gayunpaman, kapag na-configure mo na ito sa isa, ang “setup” ng kabila ay halos pag-on na lang ng switch at pagdaragdag ng bookmark app sa iyong IdP kung nanaisin.
Pagsisimula sa SSO
Bago i-configure ang SSO sa iyong account, mahalagang maunawaan muna ang ilang pangunahing konsepto tungkol sa SSO functionality ng OpenAI.
Pangkalahatang terminolohiya sa pagkakakilanlan
Provisioning Kapag tinutukoy ng OpenAI ang provisioning sa konteksto ng mga user, partikular naming tinutukoy ang pag-provision ng mga imbitasyon. Hindi namin direktang sinusuportahan ang pag-provision ng paggawa ng mga user account. Maaaring i-provision ang mga imbitasyon sa pamamagitan ng:
SCIM (sinusuportahan sa parehong Integrasyon ng ChatGPT SCIM at Integrasyon ng API Platform SCIM)
Ang page na “Members” ng ChatGPT o ang API Platform
Awtomatikong Paglikha ng Account
Invites API
Ang pag-provision ng mga imbitasyon ay hiwalay na hakbang mula sa authentication na isinasagawa ng SSO.
Authentication – “Ikaw nga ba ang sinasabi mong ikaw?”
Halimbawa: ina-authenticate ng isang IdP ang user sa aming serbisyo upang malaman naming siya nga ang sinasabi niyang siya kapag nagla-log in.
Authorization – “Ano ang pinapayagan mong gawin o makita?”
Halimbawa: Pagkatapos kang i-authenticate ng iyong IdP, tinutukoy namin kung sa aling ChatGPT workspace ka miyembro.
Pagkilala sa OpenAI SSO Settings
Pag-verify ng Domain Prerequisite ito para ma-enable ang SSO at Automatic Account Creation. Sa madaling sabi, “Pag-aari mo ba ang domain na ito?”
Kapag nagla-log in sa pamamagitan ng chatgpt.com o platform.openai.com, tinutukoy ng verified domain kung ipapasa ang user sa aming password page o sa kanilang IdP kapag naka-set up din ang SSO
Kapag na-verify na ang isang domain sa iyong workspace, ipo-prompt ang sinumang user na inimbita sa workspace gamit ang email mula sa domain na iyon na i-merge ang kanilang personal account sa susunod nilang pag-log in.
Ang authentication sa ChatGPT ay nakabatay sa domain AT workspace—kapag verified ang domain at naka-enable ang SSO sa workspace, tanging ang mga user sa workspace na iyon na kapareho ng domain ang iruruta sa SSO. Ang mga user na kapareho ng domain ngunit HINDI bahagi ng Workspace (hal. mga user ng Free, Plus, Pro, o Team account mula sa iyong domain) ay patuloy na magla-log in gamit ang email/password o Social.
Nakabatay sa domain ang authentication sa Platform -- kapag verified ang domain at naka-enable ang SSO, mawawalan ng kakayahang mag-log in gamit ang password ang lahat ng user ng Platform sa ilalim ng domain na iyon. Tingnan ang “Pag-verify ng Domain sa ChatGPT kumpara sa API Platform” sa ibaba para sa higit pang detalye.
Kailangang i-verify nang hiwalay ang mga subdomain mula sa mga top-level domain
Upang matagumpay naming maproseso ang pag-verify ng iyong domain, kailangang nababasa ang iyong TXT record sa pamamagitan ng DNS lookup.
(ChatGPT lang) Automatic Account Creation (AAC) Kapag naka-enable sa isang ChatGPT workspace, awtomatikong makakatanggap ng imbitasyon sa Enterprise workspace ang bagong user na ang email ay tumutugma sa verified domain kapag nag-sign up sila. Hindi namin inirerekomendang i-enable ang AAC kung gumagamit ka ng SCIM.
(ChatGPT lang) Payagan ang Mga Imbitasyon mula sa External Domain Kinokontrol ng setting na ito kung maaaring maimbitahan sa workspace ang mga user na may mga hindi verified na domain. Hindi kakailanganing mag-log in sa pamamagitan ng SSO ang mga user mula sa external domain dahil nalalapat lamang ang mga setting ng SSO sa mga user na kabilang sa verified domain.
I-enable ang SSO Tinutukoy ng setting na ito kung nalalapat o hindi ang naka-configure mong mga setting ng SSO sa workspace at/o organization.
Ipatupad ang SSO
Kapag naka-disable, pinapayagan ng setting na ito ang mga user na may verified domain na pumili kung magla-log in sa pamamagitan ng SSO o sa pamamagitan ng social login.
Maaaring itakda ng mga Global Admin ang Enforce SSO sa Required para sa parehong ChatGPT at API Platform nang direkta mula sa Manage SSO page sa Admin Console. Kapag naka-enable, ginagawa ng setting na ito na sa pamamagitan lamang ng SSO makakapag-sign in ang mga user na may verified domain sa workspace o organization na naka-enable ang SSO. Hindi na valid ang password at social authentication para sa workspace/organization, ngunit magagamit pa rin ang mga ito sa ibang workspace/organization kung saan hindi verified ang kanilang domain.
Pag-verify ng Domain sa ChatGPT kumpara sa API Platform
Gaya ng tinalakay kanina, inilalapat ang pag-verify ng domain sa mga shared instance ng ChatGPT at Platform. Gayunpaman, may mahalagang pagkakaiba sa kung paano naaapektuhan ng pag-verify ng domain ang pag-log in sa ChatGPT kumpara sa Platform kapag naka-enable ang SSO:
Ang SSO sa API Platform ay ganap na nakabatay sa domain. Ibig sabihin, kapag na-verify na ang isang domain sa anumang organization at naka-enable ang SSO, mawawalan ng kakayahang mag-log in gamit ang password ang LAHAT ng user na may domain na iyon. Kung wala silang paraan para sa social authentication, mala-lock out sila sa kani-kanilang mga organization maliban kung kabilang sila sa access group ng IdP.
Sa kabilang banda, sa ChatGPT, maaapektuhan lamang ang mga user na kabilang sa workspace kung saan na-verify ang domain. Makakapag-log in pa rin sa mga workspace ang mga user na wala sa access group ng IdP gamit ang mga paraang tatalakayin sa susunod na seksyon.
Karanasan sa pag-log in ng iyong mga user
Sinusuportahan ng OpenAI ang tatlong magkakaibang paraan ng authentication:
Username + Password
Social Authentication sa pamamagitan ng Microsoft/Google/Apple
SSO
Tandaan na mag-iiba ang gawi depende sa kung nagla-log in ang user sa ChatGPT o sa API Platform, kung verified ang kanilang domain, at kung ipinapatupad ng kani-kanilang mga workspace/organization ang SSO.
Pag-log in na Sinimulan ng SP
Maaaring direktang pumunta ang lahat ng user sa chatgpt.com o platform.openai.com upang mag-log in. Kapag ginagamit ang opsyong ito, maaaring ma-trigger ang iba’t ibang paraan ng authentication gaya ng ipinapakita sa ibaba:

Kung kabilang ang user sa maraming workspace, kabilang ang isa kung saan naka-enable ang SSO para sa kanilang domain, ipo-prompt silang piliin kung sa aling workspace sila magla-log in.
Pag-log in sa ChatGPT na Sinimulan ng SP
Kung matukoy naming kabilang ang inilagay na email sa isang workspace kung saan verified ang domain nito, ipapasa namin ang user sa kanilang IdP para mag-authenticate. Kung hindi, ididirekta ang user na mag-log in sa pamamagitan ng paglalagay ng kanilang password.
Kung kabilang ang user sa maraming workspace, kabilang ang kahit isa kung saan naka-enable ang SSO para sa kanilang domain, ipo-prompt silang piliin kung aling paraan ang gagamitin sa pag-log in:

Tandaan: kung naka-enable ang “Enforce SSO” para sa isang partikular na workspace, makakapag-log in lamang sa pamamagitan ng SSO ang mga user na may verified domain. Hindi magiging available ang social at password authentication.
Pag-log in sa Platform na Sinimulan ng SP
Gaya ng nabanggit na, kapag inilagay ng user na may verified domain ang kanilang email sa login page ng Platform, palagi silang ididirekta sa kanilang IdP para mag-authenticate.
Kaya mahalagang tiyaking nauunawaan mo ito bago i-enable ang SSO para sa Platform. Kung hindi, napakadaling aksidenteng ma-lock out ang mga user ng Platform sa mga personal na account.
Pag-log in na Sinimulan ng IdP
Kapag kino-configure ang SSO mula sa kani-kanilang mga identity page, makakakita ka ng natatanging Tile URL na ibinigay para sa ChatGPT at sa API Platform:
ChatGPT: https://chatgpt.com/auth/login?sso=true&connection=conn_012abcdef
Platform: https://platform.openai.com/enterprise/conn_012abc/login
Maaaring i-configure ang mga Tile URL na ito sa iyong IdP upang payagan ang iyong mga user na awtomatikong mag-log in/mag-authenticate sa isang click.
Mga Susunod na Hakbang
Ngayong mayroon ka nang magandang batayan tungkol sa aming architecture, magpatuloy sa aming page na “Pag-unawa sa Iyong Ideal na User Management Setup” upang matukoy ang pinakaangkop na implementasyon para sa iyong use case. Pagkatapos nito, gagabayan ka namin kung paano i-configure ang SSO at SCIM sa iyong account.
