SCIM से उपयोगकर्ता प्रावधान
SCIM User Provisioning कॉन्फ़िगर करना
ScribbleMaps स्वचालित यूजर प्रोविजनिंग और डीप्रोविजनिंग के लिए SCIM 2.0 (System for Cross-domain Identity Management) का समर्थन करता है। यह आपको अपने Identity Provider (IdP) से ScribbleMaps में उपयोगकर्ताओं को स्वचालित रूप से सिंक करने की अनुमति देता है, जिससे यह सुनिश्चित होता है कि टीम की सदस्यता आपके संगठन की निर्देशिका (directory) के साथ सिंक में रहे।
SCIM provisioning team.scribblemaps.com पर उपलब्ध है और पूरी तरह से निःशुल्क है।
विषय-सूची
- SCIM क्या है?
- शुरू करने से पहले
- चरण 1: ScribbleMaps में SCIM सक्षम करें
- चरण 2: Bearer Token जनरेट करें
- चरण 3: अपने Identity Provider को कॉन्फ़िगर करें
- चरण 4: Default Product Assignment सेट करें
- चरण 5: उपयोगकर्ताओं का परीक्षण और असाइन करें
- प्रदाता-विशिष्ट गाइड
- समर्थित SCIM ऑपरेशन्स
- यूजर लाइफसाइकिल मैनेजमेंट
- समस्या निवारण (Troubleshooting)
SCIM क्या है?
SCIM (System for Cross-domain Identity Management) एक ओपन स्टैंडर्ड है जो आपको स्वचालित रूप से निम्नलिखित करने की अनुमति देता है:
- Provision users - जब आपके IdP में उपयोगकर्ताओं को असाइन किया जाता है, तो स्वचालित रूप से ScribbleMaps खाते बनाएं
- Update users - उपयोगकर्ता की जानकारी (नाम, ईमेल) को सिंक्रनाइज़ रखें
- Deprovision users - जब उपयोगकर्ताओं को आपके IdP से हटा दिया जाता, तो स्वचालित रूप से खातों को निष्क्रिय करें
- Manage roles - समूह सदस्यता के माध्यम से उपयोगकर्ताओं को Admin या Member भूमिकाओं में असाइन करें
SCIM पूर्ण पहचान जीवनचक्र प्रबंधन (identity lifecycle management) प्रदान करने के लिए SSO (SAML/OIDC) के साथ मिलकर काम करता है।
शुरू करने से पहले
- SCIM को कॉन्फ़िगर करने के लिए आपका Team Owner होना आवश्यक है
- आपको अपने Identity Provider के एडमिन कंसोल तक पहुंच की आवश्यकता होगी
- आपके IdP को SCIM 2.0 (Okta, Microsoft Entra ID, OneLogin, JumpCloud, आदि) का समर्थन करना चाहिए
- सर्वोत्तम उपयोगकर्ता अनुभव के लिए हम SCIM से पहले SSO को कॉन्फ़िगर करने की अनुशंसा करते हैं
चरण 1: ScribbleMaps में SCIM सक्षम करें
- team.scribblemaps.com पर लॉग इन करें
- SCIM Provisioning (left side bar) पर जाएं
- Enable SCIM को ON पर टॉगल करें
नोट: SCIM को पूरी तरह से सक्षम करने से पहले आपको एक bearer token जनरेट करना होगा।
चरण 2: Bearer Token जनरेट करें
bearer token आपके Identity Provider को ScribbleMaps के साथ प्रमाणित करता है।
- SCIM सेटिंग्स पेज पर, Generate Token पर क्लिक करें
- टोकन को तुरंत कॉपी करें और इसे सुरक्षित रूप से संग्रहीत करें
महत्वपूर्ण सुरक्षा नोट:
- टोकन केवल एक बार प्रदर्शित होता है - यदि आप इसे खो देते हैं, तो आपको एक नया टोकन जनरेट करना होगा
- इस टोकन को पासवर्ड की तरह समझें - टोकन रखने वाला कोई भी व्यक्ति आपकी टीम के उपयोगकर्ताओं को प्रबंधित कर सकता है
- यदि टोकन से समझौता (compromise) होता है, तो आप किसी भी समय टोकन को निरस्त (revoke) और पुन: जनरेट कर सकते हैं
- टोकन को निरस्त करने से नया टोकन कॉन्फ़िगर होने तक सभी SCIM ऑपरेशन्स तुरंत बंद हो जाते हैं
चरण 3: अपने Identity Provider को कॉन्फ़िगर करें
ScribbleMaps को अपने IdP में SCIM एप्लिकेशन के रूप में कॉन्फ़िगर करने के लिए निम्नलिखित विवरणों का उपयोग करें:
| Setting | Value |
|---|---|
| SCIM Base URL | https://api.scribblemaps.com/scim/v2 |
| Authentication Method | HTTP Header / Bearer Token |
| Authorization Header | Bearer YOUR_TOKEN_HERE |
| Unique Identifier |
userName (ईमेल पता) |
SCIM एंडपॉइंट्स संदर्भ (Reference)
| Endpoint | Purpose |
|---|---|
/scim/v2/Users |
यूजर प्रोविजनिंग और प्रबंधन |
/scim/v2/Groups |
भूमिका/समूह सदस्यता प्रबंधन |
/scim/v2/ServiceProviderConfig |
SCIM क्षमताएं (discovery) |
/scim/v2/ResourceTypes |
समर्थित संसाधन प्रकार (discovery) |
/scim/v2/Schemas |
यूजर और ग्रुप स्कीमा (discovery) |
चरण 4: Default Product Assignment सेट करें (वैकल्पिक)
जब उपयोगकर्ताओं को SCIM के माध्यम से प्रोविज़न किया जाता है, तो आप उन्हें स्वचालित रूप से एक उत्पाद लाइसेंस असाइन कर सकते हैं:
- SCIM सेटिंग्स पेज पर, Default Product Assignment ढूंढें
- एक उत्पाद चुनें:
- None - उपयोगकर्ता बिना किसी उत्पाद के बनाए जाते हैं (बाद में मैन्युअल रूप से असाइन करें)
- Viewer - केवल देखने की पहुंच (View-only access)
- Pro Basic - मानक संपादन सुविधाएँ (Standard editing features)
- Pro Business - पूर्ण सुविधा पहुंच (Full feature access)
- Save पर क्लिक करें
नोट: उपयोगकर्ताओं को उत्पाद केवल तभी असाइन किया जाएगा जब सीटें उपलब्ध होंगी। यदि कोई सीट उपलब्ध नहीं है, तो उपयोगकर्ता बना दिया जाता है लेकिन उसे अनअसाइन छोड़ दिया जाता है।
चरण 5: उपयोगकर्ताओं का परीक्षण और असाइन करें
- अपने Identity Provider में, 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 > Get Started पर जाएं
- Provisioning Mode को Automatic पर सेट करें
- Admin Credentials के अंतर्गत:
-
Tenant URL:
https://api.scribblemaps.com/scim/v2 - Secret Token: अपना ScribbleMaps SCIM टोकन पेस्ट करें
-
Tenant URL:
- सत्यापित करने के लिए Test Connection पर क्लिक करें
- उपयोगकर्ता विशेषताओं (user attributes) के लिए 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 पर क्लिक करें
- विशेषता मैपिंग (attribute mappings) को कॉन्फ़िगर करें
- एप्लिकेशन में उपयोगकर्ता समूहों को असाइन करें
समर्थित SCIM ऑपरेशन्स
User Operations
| Operation | Method | Supported | Description |
|---|---|---|---|
| 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} | हाँ | उपयोगकर्ता को निष्क्रिय करें (सॉफ्ट डिलीट) |
Group Operations
| Operation | Method | Supported | Description |
|---|---|---|---|
| List Groups | GET /Groups | हाँ | Admin और Member भूमिका समूहों को लौटाता है |
| Get Group | GET /Groups/{id} | हाँ | सदस्य सूची के साथ समूह पुनः प्राप्त करें |
| Update Group | PATCH /Groups/{id} | हाँ | भूमिका समूहों से सदस्यों को जोड़ें/हटाएं |
| Create Group | POST /Groups | नहीं | समर्थित नहीं है (भूमिकाएं निश्चित हैं) |
Supported User Attributes
| SCIM Attribute | ScribbleMaps Field | Required |
|---|---|---|
userName |
ईमेल पता | हाँ |
externalId |
बाहरी IdP पहचानकर्ता (External IdP identifier) | नहीं |
name.givenName |
पहला नाम | नहीं |
name.familyName |
अंतिम नाम | नहीं |
displayName |
प्रदर्शित नाम (Display name) | नहीं |
active |
खाता स्थिति (Account status) | नहीं |
emails[].value |
ईमेल पता | नहीं |
Supported Filters
| Filter | Example |
|---|---|
| ईमेल द्वारा फ़िल्टर करें | userName eq "[email protected]" |
| बाहरी ID द्वारा फ़िल्टर करें | externalId eq "12345" |
| स्थिति द्वारा फ़िल्टर करें | active eq true |
यूजर लाइफसाइकिल मैनेजमेंट
जब किसी उपयोगकर्ता को प्रोविज़न किया जाता है
- ScribbleMaps में एक नया टीम सदस्य खाता बनाया जाता है
- उपयोगकर्ता की जानकारी (नाम, ईमेल) आपके IdP से भरी जाती है
- यदि कोई डिफ़ॉल्ट उत्पाद कॉन्फ़िगर किया गया है और सीटें उपलब्ध हैं, तो एक लाइसेंस स्वचालित रूप से असाइन किया जाता है
- उपयोगकर्ता SSO (यदि कॉन्फ़िगर किया गया हो) के माध्यम से तुरंत लॉग इन कर सकता है
जब किसी उपयोगकर्ता को अपडेट किया जाता है
- आपके IdP से मिलान करने के लिए उपयोगकर्ता विशेषताओं (नाम, प्रदर्शित नाम) को अपडेट किया जाता है
- ईमेल परिवर्तन सिंक्रनाइज़ किए जाते हैं (जब तक कि उपयोगकर्ता ने अपना खाता लिंक न किया हो)
जब किसी उपयोगकर्ता को डीप्रोविज़न किया जाता है
- उपयोगकर्ता का खाता निष्क्रिय (deactivated) कर दिया जाता है (सॉफ्ट डिलीट)
- सभी उत्पाद लाइसेंस हटा दिए जाते हैं, जिससे सीटें खाली हो जाती हैं
- सभी सक्रिय सत्र (sessions) तुरंत अमान्य कर दिए जाते हैं
- उपयोगकर्ता अब लॉग इन नहीं कर सकता
- उपयोगकर्ता का डेटा और मानचित्र सुरक्षित रखे जाते हैं (हटाए नहीं जाते)
- यदि उपयोगकर्ता को फिर से प्रोविज़न किया जाता है, तो खाते को पुन: सक्रिय किया जा सकता है
समूहों के माध्यम से भूमिका प्रबंधन
ScribbleMaps SCIM के माध्यम से दो भूमिका समूहों को प्रदर्शित करता है:
| Group ID | Role | Permissions |
|---|---|---|
admin |
प्रशासक (Administrator) | टीम सेटिंग्स, उपयोगकर्ताओं और बिलिंग को प्रबंधित करें |
member |
सदस्य (Member) | मानक टीम सदस्य पहुंच (Standard team member access) |
किसी उपयोगकर्ता को एडमिन के रूप में असाइन करने के लिए, उन्हें SCIM PATCH के माध्यम से admin समूह में जोड़ें। Owner भूमिका को SCIM के माध्यम से संशोधित नहीं किया जा सकता है।
समस्या निवारण
सामान्य समस्याएं
"401 Unauthorized" या "Invalid token"
- सत्यापित करें कि bearer token सही है और इसे निरस्त (revoke) नहीं किया गया है
- सुनिश्चित करें कि टोकन को Authorization हेडर में
Bearer YOUR_TOKENके रूप में पास किया गया है - जांचें कि क्या टोकन समाप्त (expire) हो गया है (यदि समाप्ति सेट की गई थी)
- यदि आवश्यक हो तो एक नया टोकन जनरेट करें
"409 Conflict" - User already exists
- उस ईमेल वाला उपयोगकर्ता आपकी टीम में पहले से मौजूद है
- यदि मौजूदा उपयोगकर्ता को निष्क्रिय कर दिया गया था, तो SCIM उन्हें स्वचालित रूप से पुन: सक्रिय कर देगा
- अपने IdP में डुप्लिकेट ईमेल पतों की जांच करें
"400 Bad Request" - Missing required field
- सुनिश्चित करें कि अनुरोध में
userName(ईमेल) शामिल है - सत्यापित करें कि ईमेल प्रारूप मान्य है
- अपने IdP के एट्रिब्यूट मैपिंग कॉन्फ़िगरेशन की जांच करें
उपयोगकर्ता बनाए गए लेकिन कोई उत्पाद असाइन नहीं किया गया
- जांचें कि क्या SCIM सेटिंग्स में एक डिफ़ॉल्ट उत्पाद कॉन्फ़िगर किया गया है
- सत्यापित करें कि आपके पास डिफ़ॉल्ट उत्पाद के लिए सीटें उपलब्ध हैं
- उपयोगकर्ताओं को Team Settings में मैन्युअल रूप से उत्पाद असाइन किए जा सकते हैं
उपयोगकर्ता परिवर्तन सिंक नहीं हो रहे हैं
- कुछ IdP एक शेड्यूल पर सिंक होते हैं (जैसे, Azure AD के लिए हर 40 मिनट में)
- अपने IdP में मैन्युअल सिंक को बाध्य (force) करने का प्रयास करें
- सत्यापित करें कि SCIM अभी भी सक्षम है और टोकन मान्य है
Test connection विफल हो जाता है
- सत्यापित करें कि SCIM Base URL बिल्कुल
https://api.scribblemaps.com/scim/v2है - सुनिश्चित करें कि कोई ट्रेलिंग स्लैश (trailing slashes) या टाइपिंग त्रुटियां नहीं हैं
- जांचें कि आपका नेटवर्क/फ़ायरवॉल api.scribblemaps.com पर आउटबाउंड HTTPS की अनुमति देता है
क्या आपको सहायता की आवश्यकता है?
यदि आप SCIM प्रोविजनिंग के साथ समस्याओं का सामना कर रहे हैं, तो कृपया निम्नलिखित विवरणों के साथ हमारी सहायता टीम से संपर्क करें:
- आपकी टीम का नाम (Team name)
- आप जिस Identity Provider का उपयोग कर रहे हैं
- आपके IdP के प्रोविजनिंग लॉग से कोई भी त्रुटि संदेश (error messages)
- आपके SCIM कॉन्फ़िगरेशन के स्क्रीनशॉट (टोकन को छिपाकर/redact करके)
हम आपके संगठन के लिए SCIM प्रोविजनिंग को कॉन्फ़िगर करने में आपकी सहायता करने के लिए यहां हैं।
अंतिम अपडेट