SCIM প্রভিশনিং
SCIM ইউজার প্রভিশনিং কনফিগার করা
ScribbleMaps স্বয়ংক্রিয় ইউজার প্রভিশনিং ও ডিপ্রভিশনিংয়ের জন্য SCIM 2.0 (System for Cross-domain Identity Management) সমর্থন করে। এর মাধ্যমে আপনি আপনার আইডেন্টিটি প্রোভাইডার (IdP) থেকে ব্যবহারকারীদের স্বয়ংক্রিয়ভাবে ScribbleMaps-এ সিঙ্ক করতে পারেন, যাতে টিম সদস্যপদ আপনার প্রতিষ্ঠানের ডিরেক্টরির সাথে সিঙ্কে থাকে।
SCIM প্রভিশনিং team.scribblemaps.com-এ পাওয়া যায় এবং সম্পূর্ণ বিনামূল্যে।
সূচিপত্র
- SCIM কী?
- শুরু করার আগে
- ধাপ ১: ScribbleMaps-এ SCIM চালু করুন
- ধাপ ২: একটি Bearer Token তৈরি করুন
- ধাপ ৩: আপনার আইডেন্টিটি প্রোভাইডার কনফিগার করুন
- ধাপ ৪: ডিফল্ট প্রোডাক্ট অ্যাসাইনমেন্ট সেট করুন
- ধাপ ৫: পরীক্ষা করুন ও ব্যবহারকারীদের অ্যাসাইন করুন
- প্রোভাইডার-নির্দিষ্ট গাইডসমূহ
- সমর্থিত SCIM অপারেশন
- ইউজার লাইফসাইকেল ম্যানেজমেন্ট
- সমস্যা সমাধান
SCIM কী?
SCIM (System for Cross-domain Identity Management) একটি ওপেন স্ট্যান্ডার্ড, যা আপনাকে স্বয়ংক্রিয়ভাবে নিম্নলিখিত কাজগুলো করতে দেয়:
- ব্যবহারকারী প্রভিশন করা - আপনার IdP-তে ব্যবহারকারী অ্যাসাইন করা হলে স্বয়ংক্রিয়ভাবে ScribbleMaps অ্যাকাউন্ট তৈরি হয়
- ব্যবহারকারী আপডেট করা - ব্যবহারকারীর তথ্য (নাম, ইমেইল) সিঙ্ক্রোনাইজ রাখা হয়
- ব্যবহারকারী ডিপ্রভিশন করা - আপনার IdP থেকে ব্যবহারকারী সরিয়ে দিলে স্বয়ংক্রিয়ভাবে অ্যাকাউন্ট নিষ্ক্রিয় হয়ে যায়
- ভূমিকা পরিচালনা করুন - গ্রুপ সদস্যপদের মাধ্যমে ব্যবহারকারীদের অ্যাডমিন বা মেম্বার ভূমিকায় অ্যাসাইন করুন
সম্পূর্ণ আইডেন্টিটি লাইফসাইকেল ম্যানেজমেন্টের জন্য SCIM, SSO (SAML/OIDC)-এর পাশাপাশি কাজ করে।
শুরু করার আগে
- SCIM কনফিগার করার জন্য আপনাকে অবশ্যই টিম ওনার হতে হবে
- আপনার আইডেন্টিটি প্রোভাইডারের অ্যাডমিন কনসোলে আপনার অ্যাক্সেস থাকতে হবে
- আপনার IdP-কে অবশ্যই SCIM 2.0 সমর্থন করতে হবে (Okta, Microsoft Entra ID, OneLogin, JumpCloud ইত্যাদি)
- সেরা ব্যবহারকারী অভিজ্ঞতার জন্য আমরা SCIM-এর আগে SSO কনফিগার করার পরামর্শ দিই
ধাপ ১: ScribbleMaps-এ SCIM চালু করুন
- team.scribblemaps.com-এ লগ ইন করুন
- SCIM প্রভিশনিং (বাম পাশের সাইডবার)-এ যান
- Enable SCIM টগলটি ON করুন
নোট: SCIM সম্পূর্ণভাবে চালু করার আগে আপনাকে একটি bearer token তৈরি করতে হবে।
ধাপ ২: একটি Bearer Token তৈরি করুন
Bearer token ScribbleMaps-এর কাছে আপনার আইডেন্টিটি প্রোভাইডারকে প্রমাণীকরণ করে।
- SCIM সেটিংস পৃষ্ঠায় তৈরি করুন Token-এ ক্লিক করুন
- টোকেনটি সঙ্গে সঙ্গে কপি করুন এবং নিরাপদে সংরক্ষণ করুন
গুরুত্বপূর্ণ নিরাপত্তা নোট:
- টোকেনটি শুধু একবারই দেখানো হয় - হারিয়ে গেলে আপনাকে নতুন একটি তৈরি করতে হবে
- এই টোকেনটিকে পাসওয়ার্ডের মতো গোপন রাখুন - টোকেন থাকলে যে কেউ আপনার টিমের ব্যবহারকারীদের পরিচালনা করতে পারবে
- টোকেন ফাঁস হয়ে গেলে আপনি যেকোনো সময় এটি বাতিল করে নতুন করে তৈরি করতে পারেন
- টোকেন বাতিল করলে নতুন টোকেন কনফিগার না হওয়া পর্যন্ত সব SCIM অপারেশন তাৎক্ষণিকভাবে বন্ধ হয়ে যায়
ধাপ ৩: আপনার আইডেন্টিটি প্রোভাইডার কনফিগার করুন
আপনার IdP-তে ScribbleMaps-কে SCIM অ্যাপ্লিকেশন হিসেবে কনফিগার করতে নিচের তথ্যগুলো ব্যবহার করুন:
| সেটিং | মান |
|---|---|
| SCIM Base URL | https://api.scribblemaps.com/scim/v2 |
| প্রমাণীকরণ পদ্ধতি | HTTP Header / Bearer Token |
| Authorization Header | Bearer YOUR_TOKEN_HERE |
| অনন্য আইডেন্টিফায়ার |
userName (ইমেইল ঠিকানা) |
SCIM এন্ডপয়েন্ট রেফারেন্স
| এন্ডপয়েন্ট | উদ্দেশ্য |
|---|---|
/scim/v2/Users |
ইউজার প্রভিশনিং ও ম্যানেজমেন্ট |
/scim/v2/Groups |
ভূমিকা/গ্রুপ সদস্যপদ ম্যানেজমেন্ট |
/scim/v2/ServiceProviderConfig |
SCIM ক্ষমতা (ডিসকভারি) |
/scim/v2/ResourceTypes |
সমর্থিত রিসোর্স টাইপ (ডিসকভারি) |
/scim/v2/Schemas |
ইউজার ও গ্রুপ স্কিমা (ডিসকভারি) |
ধাপ ৪: ডিফল্ট প্রোডাক্ট অ্যাসাইনমেন্ট সেট করুন (ঐচ্ছিক)
SCIM-এর মাধ্যমে ব্যবহারকারীদের প্রভিশন করার সময় আপনি স্বয়ংক্রিয়ভাবে একটি প্রোডাক্ট লাইসেন্স অ্যাসাইন করতে পারেন:
- SCIM সেটিংস পৃষ্ঠায় ডিফল্ট প্রোডাক্ট অ্যাসাইনমেন্ট খুঁজুন
- একটি প্রোডাক্ট নির্বাচন করুন:
- কোনোটিই নয় - ব্যবহারকারীরা প্রোডাক্ট ছাড়াই তৈরি হয় (পরে ম্যানুয়ালি অ্যাসাইন করুন)
- ভিউয়ার - শুধু দেখার অ্যাক্সেস
- প্রো বেসিক - স্ট্যান্ডার্ড এডিটিং ফিচার
- প্রো ব্যবসা - সব ফিচারে অ্যাক্সেস
- সংরক্ষণ করুন-এ ক্লিক করুন
নোট: সিট উপলব্ধ থাকলেই কেবল ব্যবহারকারীদের প্রোডাক্ট অ্যাসাইন করা হবে। সিট উপলব্ধ না থাকলে ব্যবহারকারী তৈরি হবে কিন্তু অ্যাসাইন না করা অবস্থায় থাকবে।
ধাপ ৫: পরীক্ষা করুন ও ব্যবহারকারীদের অ্যাসাইন করুন
- আপনার আইডেন্টিটি প্রোভাইডারে SCIM সংযোগ যাচাই করতে Test Connection ফিচারটি ব্যবহার করুন
- আপনার IdP-তে ScribbleMaps অ্যাপ্লিকেশনে একজন টেস্ট ব্যবহারকারী অ্যাসাইন করুন
- যাচাই করুন যে ব্যবহারকারী আপনার ScribbleMaps টিম সদস্য তালিকায় দেখা যাচ্ছে
- নিশ্চিত হওয়ার পর প্রয়োজন অনুযায়ী আরও ব্যবহারকারী বা গ্রুপ অ্যাসাইন করুন
প্রোভাইডার-নির্দিষ্ট গাইডসমূহ
Okta
- Okta Admin Console-এ Applications > Browse App Catalog-এ যান
- "SCIM 2.0 Test App (Header Auth)" অনুসন্ধান করুন অথবা একটি কাস্টম SCIM অ্যাপ তৈরি করুন
- Provisioning ট্যাবে যান > Configure API Integration
- Enable API integration চেক করুন
- কনফিগার করুন:
-
SCIM 2.0 Base URL:
https://api.scribblemaps.com/scim/v2 - OAuth Bearer Token: আপনার ScribbleMaps SCIM টোকেন পেস্ট করুন
-
SCIM 2.0 Base URL:
- যাচাই করতে Test API Credentials-এ ক্লিক করুন
- Provisioning > To App-এ যান এবং নিম্নলিখিতগুলো চালু করুন:
- Create Users
- Update User Attributes
- Deactivate Users
- ব্যবহারকারী বা গ্রুপ অ্যাসাইন করতে Assignments ট্যাবে যান
Microsoft Entra ID (Azure AD)
- Azure Portal-এ Microsoft Entra ID > Enterprise Applications-এ যান
- আপনার ScribbleMaps অ্যাপ্লিকেশনটি নির্বাচন করুন (অথবা একটি তৈরি করুন)
- Provisioning > শুরু করুন-এ যান
- Provisioning Mode সেট করুন Automatic-এ
- অ্যাডমিন Credentials-এর অধীনে:
-
Tenant URL:
https://api.scribblemaps.com/scim/v2 - Secret Token: আপনার ScribbleMaps SCIM টোকেন পেস্ট করুন
-
Tenant URL:
- যাচাই করতে Test Connection-এ ক্লিক করুন
- ইউজার অ্যাট্রিবিউটের জন্য Mappings কনফিগার করুন
- Provisioning Status সেট করুন On-এ
- ব্যবহারকারী অ্যাসাইন করতে Users and groups-এ যান
OneLogin
- OneLogin Admin-এ Applications > Add App-এ যান
- "SCIM Provisioner with SAML (SCIM v2 Core)" বা অনুরূপ কিছু অনুসন্ধান করুন
- Configuration ট্যাবে যান
- কনফিগার করুন:
-
SCIM Base URL:
https://api.scribblemaps.com/scim/v2 - SCIM Bearer Token: আপনার ScribbleMaps SCIM টোকেন পেস্ট করুন
-
SCIM Base URL:
- Provisioning ট্যাবে গিয়ে প্রভিশনিং চালু করুন
- ব্যবহারকারী অ্যাসাইন করতে Users ট্যাবে যান
JumpCloud
- JumpCloud Admin-এ SSO Applications-এ যান
- নতুন অ্যাপ্লিকেশন যোগ করতে +-এ ক্লিক করুন
- Custom SCIM নির্বাচন করুন
- কনফিগার করুন:
-
Base URL:
https://api.scribblemaps.com/scim/v2 - Token Key: আপনার ScribbleMaps SCIM টোকেন পেস্ট করুন
- Authentication: Bearer Token
-
Base URL:
- Test Connection-এ ক্লিক করুন
- অ্যাট্রিবিউট ম্যাপিং কনফিগার করুন
- অ্যাপ্লিকেশনে ইউজার গ্রুপ অ্যাসাইন করুন
সমর্থিত SCIM অপারেশন
ইউজার অপারেশন
| অপারেশন | পদ্ধতি | সমর্থিত | বিবরণ |
|---|---|---|---|
| List Users | GET /Users | হ্যাঁ | পেজিনেশন ও ফিল্টারিং সহ সব ব্যবহারকারী পুনরুদ্ধার করুন |
| Get User | GET /Users/{id} | হ্যাঁ | ID দিয়ে নির্দিষ্ট ব্যবহারকারী পুনরুদ্ধার করুন |
| Create User | POST /Users | হ্যাঁ | নতুন ব্যবহারকারী প্রভিশন করুন |
| Replace User | PUT /Users/{id} | হ্যাঁ | ইউজার অ্যাট্রিবিউটের সম্পূর্ণ আপডেট |
| Update User | PATCH /Users/{id} | হ্যাঁ | ইউজার অ্যাট্রিবিউটের আংশিক আপডেট |
| Delete User | DELETE /Users/{id} | হ্যাঁ | ব্যবহারকারীকে নিষ্ক্রিয় করুন (সফট ডিলিট) |
গ্রুপ অপারেশন
| অপারেশন | পদ্ধতি | সমর্থিত | বিবরণ |
|---|---|---|---|
| List Groups | GET /Groups | হ্যাঁ | অ্যাডমিন ও মেম্বার ভূমিকার গ্রুপ ফেরত দেয় |
| Get Group | GET /Groups/{id} | হ্যাঁ | সদস্য তালিকাসহ গ্রুপ পুনরুদ্ধার করুন |
| Update Group | PATCH /Groups/{id} | হ্যাঁ | ভূমিকা গ্রুপে সদস্য যোগ করুন/সরান |
| Create Group | POST /Groups | না | সমর্থিত নয় (ভূমিকাগুলো নির্দিষ্ট) |
সমর্থিত ইউজার অ্যাট্রিবিউট
| SCIM অ্যাট্রিবিউট | ScribbleMaps ফিল্ড | আবশ্যক |
|---|---|---|
userName |
ইমেইল ঠিকানা | হ্যাঁ |
externalId |
বাহ্যিক IdP আইডেন্টিফায়ার | না |
name.givenName |
প্রথম নাম | না |
name.familyName |
শেষ নাম | না |
displayName |
প্রদর্শিত নাম | না |
active |
অ্যাকাউন্টের অবস্থা | না |
emails[].value |
ইমেইল ঠিকানা | না |
সমর্থিত ফিল্টারসমূহ
| ফিল্টার | উদাহরণ |
|---|---|
| ইমেইল দিয়ে ফিল্টার | userName eq "[email protected]" |
| এক্সটার্নাল ID দিয়ে ফিল্টার | externalId eq "12345" |
| অবস্থা দিয়ে ফিল্টার | active eq true |
ইউজার লাইফসাইকেল ম্যানেজমেন্ট
যখন একজন ব্যবহারকারী প্রভিশন করা হয়
- ScribbleMaps-এ একটি নতুন টিম সদস্য অ্যাকাউন্ট তৈরি হয়
- আপনার IdP থেকে ব্যবহারকারীর তথ্য (নাম, ইমেইল) পূরণ হয়
- একটি ডিফল্ট প্রোডাক্ট কনফিগার করা থাকলে এবং সিট উপলব্ধ থাকলে স্বয়ংক্রিয়ভাবে একটি লাইসেন্স অ্যাসাইন হয়
- ব্যবহারকারী (SSO কনফিগার করা থাকলে) তাৎক্ষণিকভাবে SSO-এর মাধ্যমে লগ ইন করতে পারেন
যখন একজন ব্যবহারকারী আপডেট করা হয়
- আপনার IdP-এর সাথে মেলাতে ইউজার অ্যাট্রিবিউট (নাম, প্রদর্শিত নাম) আপডেট হয়
- ইমেইল পরিবর্তন সিঙ্ক্রোনাইজ হয় (ব্যবহারকারী তাদের অ্যাকাউন্ট লিঙ্ক করে থাকলে ব্যতীত)
যখন একজন ব্যবহারকারী ডিপ্রভিশন করা হয়
- ব্যবহারকারীর অ্যাকাউন্ট নিষ্ক্রিয় করা হয় (সফট ডিলিট)
- সব প্রোডাক্ট লাইসেন্স সরিয়ে নেওয়া হয়, ফলে সিট খালি হয়
- সব সক্রিয় সেশন তাৎক্ষণিকভাবে অবৈধ হয়ে যায়
- ব্যবহারকারী আর লগ ইন করতে পারেন না
- ব্যবহারকারীর ডেটা ও ম্যাপ সংরক্ষিত থাকে (মুছে ফেলা হয় না)
- ব্যবহারকারীকে পুনরায় প্রভিশন করা হলে অ্যাকাউন্টটি আবার সক্রিয় করা যায়
গ্রুপের মাধ্যমে ভূমিকা পরিচালনা
ScribbleMaps SCIM-এর মাধ্যমে দুটি ভূমিকা গ্রুপ প্রকাশ করে:
| গ্রুপ ID | ভূমিকা | অনুমতিসমূহ |
|---|---|---|
admin |
অ্যাডমিনিস্ট্রেটর | টিম সেটিংস, ব্যবহারকারী ও বিলিং পরিচালনা করুন |
member |
মেম্বার | স্ট্যান্ডার্ড টিম সদস্য অ্যাক্সেস |
কোনো ব্যবহারকারীকে অ্যাডমিন হিসেবে অ্যাসাইন করতে SCIM PATCH-এর মাধ্যমে তাদের admin গ্রুপে যোগ করুন। ওনার ভূমিকা SCIM-এর মাধ্যমে পরিবর্তন করা যায় না।
সমস্যা সমাধান
সাধারণ সমস্যাসমূহ
"401 Unauthorized" বা "Invalid token"
- যাচাই করুন যে bearer token সঠিক এবং বাতিল করা হয়নি
- নিশ্চিত করুন যে টোকেনটি Authorization header-এ
Bearer YOUR_TOKENহিসেবে পাঠানো হচ্ছে - টোকেনের মেয়াদ শেষ হয়েছে কিনা দেখুন (মেয়াদ নির্ধারণ করা থাকলে)
- প্রয়োজনে নতুন একটি টোকেন তৈরি করুন
"409 Conflict" - ব্যবহারকারী ইতিমধ্যে বিদ্যমান
- ওই ইমেইলের একজন ব্যবহারকারী ইতিমধ্যে আপনার টিমে আছেন
- বিদ্যমান ব্যবহারকারী নিষ্ক্রিয় থাকলে SCIM স্বয়ংক্রিয়ভাবে তাকে পুনরায় সক্রিয় করবে
- আপনার IdP-তে ডুপ্লিকেট ইমেইল ঠিকানা আছে কিনা পরীক্ষা করুন
"400 Bad Request" - আবশ্যক ফিল্ড অনুপস্থিত
- নিশ্চিত করুন যে অনুরোধে
userName(ইমেইল) অন্তর্ভুক্ত আছে - ইমেইলের ফরম্যাট সঠিক কিনা যাচাই করুন
- আপনার IdP-র অ্যাট্রিবিউট ম্যাপিং কনফিগারেশন পরীক্ষা করুন
ব্যবহারকারী তৈরি হয়েছে কিন্তু কোনো প্রোডাক্ট অ্যাসাইন হয়নি
- SCIM সেটিংসে একটি ডিফল্ট প্রোডাক্ট কনফিগার করা আছে কিনা দেখুন
- ডিফল্ট প্রোডাক্টের জন্য আপনার উপলব্ধ সিট আছে কিনা যাচাই করুন
- টিম সেটিংসে ব্যবহারকারীদের ম্যানুয়ালি প্রোডাক্ট অ্যাসাইন করা যায়
ব্যবহারকারীর পরিবর্তন সিঙ্ক হচ্ছে না
- কিছু IdP নির্দিষ্ট সময়সূচিতে সিঙ্ক করে (যেমন Azure AD-র ক্ষেত্রে প্রতি ৪০ মিনিটে)
- আপনার IdP-তে ম্যানুয়াল সিঙ্ক জোর করে চালানোর চেষ্টা করুন
- যাচাই করুন যে SCIM এখনও চালু আছে এবং টোকেনটি বৈধ
Test connection ব্যর্থ হয়
- যাচাই করুন যে SCIM Base URL ঠিক
https://api.scribblemaps.com/scim/v2 - নিশ্চিত করুন যে শেষে কোনো স্ল্যাশ বা টাইপো নেই
- আপনার নেটওয়ার্ক/ফায়ারওয়াল api.scribblemaps.com-এ আউটবাউন্ড HTTPS অনুমোদন করে কিনা পরীক্ষা করুন
সহায়তা দরকার?
SCIM প্রভিশনিংয়ে সমস্যা হলে, অনুগ্রহ করে নিম্নলিখিত তথ্যসহ আমাদের সাপোর্ট টিমের সাথে যোগাযোগ করুন:
- আপনার টিমের নাম
- আপনি যে আইডেন্টিটি প্রোভাইডার ব্যবহার করছেন
- আপনার IdP-র প্রভিশনিং লগ থেকে প্রাপ্ত যেকোনো এরর মেসেজ
- আপনার SCIM কনফিগারেশনের স্ক্রিনশট (টোকেন লুকিয়ে)
আপনার প্রতিষ্ঠানের জন্য SCIM প্রভিশনিং কনফিগার করতে আমরা আপনাকে সাহায্য করতে এখানে আছি।
সর্বশেষ আপডেট