পূর্বশর্ত
SSO সেট আপ করতে হলে আপনাকে অবশ্যই:
Global Admin Consoleসহ একটি OpenAI প্ল্যান থাকতে হবে
Global Admin হতে হবে
এগিয়ে যাওয়ার আগে, আমাদের SSO আর্কিটেকচার সম্পর্কে পরিচিত আছেন কি না তা নিশ্চিত করতে অনুগ্রহ করে আমাদের SSO Overview এবং User Management ডকুমেন্টেশন পেজগুলো দেখে নিন.
আপনি যদি আগে API Platform organization বা ChatGPT ওয়ার্কস্পেসের জন্য SSO কনফিগার করে থাকেন, তাহলে আপনার SSO সেটিংস OpenAI Identity পেজে কনফিগার করার জন্য আগে থেকেই উপলব্ধ থাকার কথা. আপনি যে ওয়ার্কস্পেস বা org-এর জন্য SSO চালু করতে চান সেটি যদি আপনার Global Admin Console-এ না দেখা যায়, তাহলে support@openai.com-এ যোগাযোগ করুন.
⚠️ SSO সঠিকভাবে সেট আপ না হলে আপনার ব্যবহারকারীরা লক আউট হয়ে যাবে.
ভুল সেটআপের ফলে আপনার ব্যবহারকারীরা এমন org এবং ওয়ার্কস্পেস থেকে লক আউট হতে পারে যেখানে SSO বাধ্যতামূলক করা আছে. আমরা পরামর্শ দিই যে আপনি global admin হিসেবে Admin Portal-এ SSO-কে Optional অবস্থায় রাখুন.
সেটআপের সময়, দুটি আলাদা লগইন করা window খোলা রাখুন:
একটি incognito window দিয়ে লগইন করা
একটি আপনার সাধারণ browser দিয়ে লগইন করা
এতে আপনি একটি window-তে login process এবং আপনার SSO/Domain Verification setup পরীক্ষা করতে পারবেন, এবং প্রয়োজন হলে দ্বিতীয় window দিয়ে পরিবর্তনগুলো ফিরিয়ে আনতে পারবেন.
SSO পরীক্ষা করা
আপনি যদি আপনার ব্যবহারকারীদের ওপর প্রভাব পড়ার ঝুঁকি ছাড়াই setup process পরীক্ষা করতে চান, তাহলে এখানে থাকা application-এর মাধ্যমে তা করতে পারেন.
এই test application-এ সফল connection সম্পন্ন করলে তা আপনার production org-এর সাথে যুক্ত হবে না, এবং connection-টিও সংরক্ষিত হবে না (তাই প্রস্তুত হলে আপনার production instance-এ একই parameters পুনরায় ব্যবহার করতে পারবেন). অর্থাৎ, requirements বুঝে নেওয়া এবং কোনো অনুপস্থিত পূর্বশর্ত সমাধান করার সময় এটিকে sandbox বা playground হিসেবে নিরাপদে ব্যবহার করা যায়.
SSO চালু করা
শুরু করতে Global Admin Console থেকে OpenAI Identity পেজে যান. ChatGPT-এ আপনার “Manage Workspace” সেটিংসের অধীনে থাকা “Identity & Provisioning” পেজের লিংক থেকেও সেখানে যেতে পারেন, অথবা আপনার API Platform organization settings-এর Identity tab থেকেও যেতে পারেন.
নিচের কিছু উদাহরণে Okta-তে setup দেখানো হবে, তবে একই যুক্তি সব SAML IdP-এর ক্ষেত্রেই প্রযোজ্য হওয়া উচিত.
ডোমেইন ভেরিফিকেশন
SSO চালু করতে হলে, আমরা প্রথমে আপনাকে অন্তত একটি ডোমেইন ভেরিফাই করতে বলি.
গুরুত্বপূর্ণ: ওই ডোমেইনের ব্যবহারকারীদের ওপর domain verification-এর যে downstream impact পড়তে পারে, তা অবশ্যই পর্যালোচনা করুন.
শুরু করতে “+ Add Domain” বোতামে ক্লিক করুন এবং আপনার DNS লিখুন:

জমা দেওয়ার পর, আপনার ডোমেইনের মালিকানা যাচাই করার জন্য আমরা একটি key দিই. আপনার DNS provider-এ গিয়ে, দেওয়া মান দিয়ে একটি TXT record যোগ করুন:

ভেরিফিকেশন চেক সফল হওয়ার জন্য DNS lookup-এর মাধ্যমে আপনার TXT record-এ পৌঁছানো যেতে হবে.
আপনার DNS provider-এ এটি সম্পন্ন করার পর, setup page-এ ফিরে এসে “Check” বোতামে ক্লিক করুন. আপনার ডোমেইনের মালিকানা সফলভাবে যাচাই হলে, আপনি স্ট্যাটাস “Verified.” হিসেবে আপডেট হতে দেখবেন.

প্রতি Admin Portal-এ আপনি সর্বোচ্চ 99টি verified domain যোগ করতে পারেন, এবং কোনো ডোমেইনকে expired হিসেবে চিহ্নিত করার আগে ভেরিফিকেশন চেক সম্পন্ন করার জন্য আমরা 7 দিনের সময় দিই. ডোমেইন কেবল একটি Admin Portal-এ ভেরিফাই করা যায়. আপনার Admin Portal-এ না থাকা কোনো organization বা ওয়ার্কস্পেসে একই ডোমেইন ভেরিফাই করতে হলে, Support-এর সাথে যোগাযোগ করুন.
আপনার অ্যাপ্লিকেশন কনফিগার করা
আপনার ডোমেইন সফলভাবে ভেরিফাই হওয়ার পর, আপনি আপনার IdP অ্যাপ্লিকেশন কনফিগার করে SSO setup এগিয়ে নিতে পারেন.
শুরু করতে “Set up SSO” বোতামে ক্লিক করুন:

আপনার Identity Provider নির্বাচন করা
SAML integration নেটিভভাবে সমর্থন করে এমন জনপ্রিয় IdP-গুলোর একটি তালিকা থেকে বেছে নেওয়ার সুযোগ আপনার আছে. তালিকায় আপনার IdP না থাকলে, অথবা আপনি OIDC connection ব্যবহার করতে চাইলে, নিচে দেখানো উপযুক্ত Custom connection বোতামটি বেছে নিতে পারেন:

অ্যাপ্লিকেশন তৈরি/সংযুক্ত করা
এখন আপনি ধাপে ধাপে configuration wizard অনুসরণ করে আপনার IdP application আমাদের সাথে তৈরি ও সংযুক্ত করতে পারেন. আপনি কোন IdP ব্যবহার করছেন তার উপর নির্ভর করে নির্দেশনা সামান্য ভিন্ন হতে পারে, তবে সামগ্রিক setup একই থাকে:

মনে রাখবেন, creation ধাপে দেওয়া URL-গুলো আপনার organization-এর জন্য অনন্য হবে:

গুরুত্বপূর্ণ: আপনি যদি একটি সচল SSO connection reset করতে চান, তাহলে এই URL মানগুলো পরিবর্তিত হবে. আবার SSO সেট আপ করার সময়, আপনাকে নিশ্চিত করতে হবে যে আপনার application-এ সেগুলো সেই অনুযায়ী আপডেট করেছেন.
URL setup সম্পন্ন হলে, আপনার application-এর মাধ্যমে authenticate হওয়া ব্যবহারকারীদের জন্য attribute mapping নির্ধারণে এগিয়ে যেতে পারেন.
Attribute Mapping
আপনার SSO application-এ নির্ধারিত attribute mapping শেষ পর্যন্ত ঠিক করে কোন OpenAI account authenticate হবে এবং আপনার ব্যবহারকারীরা OpenAI পণ্যগুলোতে কীভাবে প্রদর্শিত হবে. আমাদের বর্তমান user model তিনটি property সমর্থন করে:
ইমেইল ঠিকানা (SAML response-এ বাধ্যতামূলক, কোন account-এ প্রবেশ করা হবে তা নির্ধারণ করে)
নামের প্রথম অংশ (ঐচ্ছিক, তবে সুপারিশকৃত)
নামের শেষ অংশ (ঐচ্ছিক, তবে সুপারিশকৃত)
দ্রষ্টব্য: আমরা SAML Response decrypt করা সমর্থন করি না. অনুগ্রহ করে নিশ্চিত করুন যে আপনি আপনার response বা assertion encrypt করছেন না, যাতে আমরা attributes সঠিকভাবে শনাক্ত করতে পারি.
আপনার IdP-এর উপর নির্ভর করে সুনির্দিষ্ট attribute mapping ভিন্ন হবে. আমরা পরামর্শ দিই setup wizard-এ আপনার IdP-এর জন্য দেখানো সঠিক mapping-ই অনুসরণ করতে, যেমন Okta-এর ক্ষেত্রে হবে:

যদি দেখেন নতুন ব্যবহারকারীদের ইমেইল ঠিকানার জায়গায় তাদের display name সেট হয়ে আসছে, তাহলে আপনার attribute mapping পর্যালোচনা করুন এবং নিশ্চিত করুন যে আপনি আপনার response encrypt করছেন না.
অথবা, যদি নতুন ব্যবহারকারীদের তাদের নাম এবং জন্মদিন লিখতে বলা হয়, তাহলে সম্ভবত বোঝায় যে আমরা আপনার attribute response থেকে সঠিক name value শনাক্ত করতে পারছি না.
ইমেইল পরিবর্তন
কখনও কখনও, আপনার IdP-তে কোনো ব্যবহারকারীর ইমেইল ঠিকানা আপডেট হতে পারে, যেমন.
বিয়ের পর আইনগত নাম পরিবর্তন
তাদের কোম্পানি অধিগ্রহণ হয়েছে এবং তারা একটি নতুন ডোমেইন পেয়েছে
ইত্যাদি.
যদি এর ফলে SSO SAMLResponse-এ emailaddress claim-এর মান পরিবর্তিত হয়, তাহলে সফল SSO-এর পর নতুন ইমেইল ঠিকানার সাথে যুক্ত একটি ভিন্ন OpenAI ব্যবহারকারী অ্যাক্সেস করা হবে (এবং আগে না থাকলে তৈরি করা হবে). এই ব্যবহারকারীকে মূল ব্যবহারকারীর থেকে আলাদাভাবে Org বা ওয়ার্কস্পেসে আমন্ত্রণ জানাতে হবে.
প্রাথমিক ইমেইল ঠিকানাসমূহ
কিছু ক্ষেত্রে, আপনার ব্যবহারকারীদের একাধিক ভিন্ন ইমেইল ঠিকানা থাকতে পারে. বড় কোম্পানিতে distributed mailing system থাকা বা ভিন্ন স্কুলসহ Edu গ্রাহকদের ক্ষেত্রে এটি একটি সাধারণ পরিস্থিতি, যেমন.
এ অবস্থায়, আমরা পরামর্শ দিই যে আপনার SAML response-এর attributes-এ কেবল একটি ইমেইল ঠিকানা অন্তর্ভুক্ত থাকে, কারণ একাধিক ইমেইল থাকলে আমরা সেটিকে নতুন বা বিদ্যমান ব্যবহারকারীর সাথে যুক্ত করার সময় বিভ্রান্তি তৈরি হতে পারে.
এছাড়াও, ব্যবহারকারীদের যদি একটি স্থির ইমেইল ঠিকানা থাকে (যেমন একটি UPN), তাহলে আপনার attribute mapping-এ এটি ব্যবহার করার পরামর্শ দিই, যাতে তাদের একটি স্থিতিশীল OpenAI user account থাকে এবং তাদের অন্য ইমেইল ঠিকানা পরিবর্তিত হলেও তা প্রভাবিত না হয়.
IdP Application Access প্রদান
আপনি আপনার attribute mapping সফলভাবে তৈরি করার পর, wizard আপনাকে কাঙ্ক্ষিত group-এর মাধ্যমে উপযুক্ত ব্যবহারকারীদের access provision করার ধাপগুলো দেখাবে.
সেরা অনুশীলনের জন্য User Management সম্পর্কে আমাদের সুপারিশগুলো দেখে নিন.
IdP Metadata সেট করা
সেটআপের এই পর্যায়ে, আপনার IdP-এর metadata নির্ধারণের জন্য দুটি আলাদা বিকল্প আছে: Dynamic Configuration এবং Manual Configuration.
Dynamic Configuration
এটি সুপারিশকৃত এবং সবচেয়ে সহজ বিকল্প. Dynamic Configuration-এ, আপনার application-এর সঙ্গে সম্পর্কিত Metadata URL-টি দিতে হবে (যা এখন আগে কনফিগার করা SSO URL এবং Entity ID দিয়ে পূরণ হয়েছে). setup wizard আপনাকে দেখাবে আপনার IdP-তে এটি কোথায় পাবেন:

Manual Configuration
নাম থেকেই বোঝা যায়, Manual Configuration-এ একটু বেশি কাজ করতে হয়. আপনার IdP-এর উপর নির্ভর করে, আপনাকে সংশ্লিষ্ট SSO URL এবং IdP issuer-এর সঙ্গে একটি x.509 certificate-ও লিখতে হবে:

IdP-Initiated Login
আপনি যদি চান আপনার ব্যবহারকারীরা তাদের dashboard-এ থাকা একটি tile-এ ক্লিক করে স্বয়ংক্রিয়ভাবে authenticate হয়ে যাক, তাহলে setup process-এর অংশ হিসেবে আপনার application-এর জন্য IdP-initiated auth কনফিগার করতে পারেন. নির্দিষ্ট প্রক্রিয়াটি আপনার 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 আপনাকে উপযুক্ত form-এ দেওয়া “Sign on URL” লিখতে দেবে:

গুরুত্বপূর্ণ: আপনি যদি একটি সচল SSO connection reset করতে চান, তাহলে এই URL মানগুলো পরিবর্তিত হবে.
এর অর্থ হলো, নতুন connection কনফিগার করার সময় আপনাকে আপনার Sign on URL-ও সেই অনুযায়ী আপডেট করতে হবে, নইলে ব্যবহারকারীরা তাদের tile-এর মাধ্যমে authenticate করতে পারবেন না.
সেটআপ সম্পন্ন করা
আপনি আপনার IdP-এর metadata কনফিগার করার পর, যেকোনো ঐচ্ছিক bookmark app সেট আপ করতে এগিয়ে যেতে “Continue” ক্লিক করতে পারেন. শেষ বাধ্যতামূলক কনফিগারেশন ধাপটি হবে “Test Single Sign-On” পেজে:

“Continue to sign-in” ক্লিক করার পর wizard আপনার নতুন connection পরীক্ষা করার চেষ্টা করবে. সবকিছু সফল হলে, কার্যত SSO চালু হয়ে যাবে. এখন আপনার configuration page-এ এটি প্রতিফলিত দেখতে পাওয়ার কথা:


আপনার IdP group-এর যেসব ব্যবহারকারীর সংশ্লিষ্ট account বা invitation আছে, তারা এখন SSO দিয়ে লগইন করতে পারবেন:
তারা chatgpt.com বা platform.openai.com-এ গিয়ে তাদের ইমেইল লিখতে পারে, তারপর আমরা তাদের IdP-তে পাঠানোর পর authenticate করতে পারে
সেটআপের সময় আপনি (ঐচ্ছিকভাবে) যে Bookmark Tile URL কনফিগার করেছেন, সেটি তারা ব্যবহার করতে পারে
আপনার ব্যবহারকারীরা যদি সফলভাবে authenticate করতে না পারেন, এবং পরিবর্তনগুলো ফিরিয়ে আনতে গিয়ে সমস্যা হয়, তাহলে তাৎক্ষণিক সহায়তার জন্য Support-এর সাথে যোগাযোগ করুন.
মনে রাখবেন, API Platform-এ SSO চালু করলে ওই ডোমেইনের সব ব্যবহারকারীর ওপর domain verification প্রযোজ্য হয়. এর মানে হলো, ব্যবহারকারীরা আপনার Enterprise organization-এর অংশ না হলেও, তাদের ব্যক্তিগত organization-এ প্রবেশ করতে হলে তাদের আপনার IdP group-এর অংশ হতে হবে.
লগইন সমস্যা সমাধান
SSO চালু করার পর যদি লগইন করতে সমস্যা হয়, তাহলে সাধারণ ত্রুটি শনাক্ত করতে সহায়তার জন্য আমাদের FAQ and Troubleshooting পেজটি দেখতে পারেন. সেখানে পর্যাপ্ত উত্তর না পেলে, Support-এর সাথে যোগাযোগ করতে দ্বিধা করবেন না.
