मुख्य सामग्री पर जाएँ

SaaS में SCIM provisioning: user access automate और deprovision करें

Tenant-scoped identities, सुरक्षित updates, समय पर deactivation, reconciliation और secure client access के साथ SCIM provisioning लागू करें।

इस मार्गदर्शिका में

SCIM provisioning क्या है?

System for Cross-domain Identity Management (SCIM) organisation और service provider के बीच identity records भेजने का HTTP-based protocol और schema है। इससे user तथा group बनाना, update करना और deactivation automate हो सकता है। SCIM आपके product का tenant model नहीं तय करता और user की permissions भी खुद नहीं चुनता; service provider को अपने authentication, authorization और privacy controls लागू करने होते हैं।

Product में केवल वही SCIM resources support करें जिनकी जरूरत है

RFC 7643 में core User और Group schemas हैं; RFC 7644 create, read, update, patch और delete जैसे operations बताता है। Supported attributes, filters और groups तथा unsupported fields को लिखें। Capability guide दें ताकि IdP administrator अनुमान लगाए बिना connector configure कर सके।

इस बिंदु के स्रोत: IETF RFC 7643: SCIM Core SchemaIETF RFC 7644: SCIM Protocol

हर SCIM client और record को स्पष्ट tenant के भीतर रखें

Provisioning client authenticate करें और उसे एक configured customer tenant से बाँधें। RFC 7644 कोई universal multitenancy scheme तय नहीं करता, इसलिए tenant association स्पष्ट बनाना और हर request पर सीमा लागू करना आपकी service की जिम्मेदारी है। एक customer का user ID या externalId दूसरे के record से resolve नहीं होना चाहिए।

Stable identifiers और तय attribute map इस्तेमाल करें

Provider का externalId उसके tenant के दायरे में store करें और अपना immutable resource ID अलग रखें। तय करें कि display name, email, active status और groups पर किसका control होगा। Untrusted या टकराने वाला attribute मौजूदा account का ownership चुपचाप न बदले।

इस बिंदु के स्रोत: IETF RFC 7643: SCIM Core SchemaIETF RFC 7644: SCIM Protocol
SCIM connector implementation worksheet
SCIM attribute / operationTenant और identity keySource of truthValidation और error responseDeactivation behavior
User create / update
Group membership
User inactive / delete

SCIM endpoints को सुरक्षित तरीके से कैसे लागू करें?

TLS और सीमित दायरे वाली client authentication जरूरी रखें

SCIM में संवेदनशील identity जानकारी होती है। HTTPS इस्तेमाल करें, bearer token सुरक्षित रखें, provisioning credential को उसके tenant और supported operations तक सीमित करें और उसे administrator के नियंत्रण वाली प्रक्रिया से rotate करें। Credentials URL या logs में न रखें और private resources पर anonymous request अस्वीकार करें।

इस बिंदु के स्रोत: IETF RFC 7644: SCIM ProtocolOWASP Cheat Sheet: secrets management

Request validate करें और retries को सुरक्षित बनाएँ

Account बदलने से पहले जरूरी fields, schema, value length, filters और tenant ownership जाँचें। जहाँ उचित हो updates atomic रखें और protocol-compatible errors दें। Timeout के बाद connector request दोहरा सकता है, इसलिए repeated create या patch से duplicate users, groups या invitations न बनें।

इस बिंदु के स्रोत: IETF RFC 7644: SCIM Protocol

Groups को customer-approved policy से product roles में map करें

Group name बाहरी input है, authorization decision नहीं। Authorized tenant administrator को allowed IdP groups को product roles से map करने दें, mapping दिखाएँ और unknown privileged groups को default से रोकें। Group change उसी tenant के भीतर रखें और role पर असर डालने वाले updates audit करें।

SCIM किसी user को deprovision करे तो क्या होना चाहिए?

तय करें कि inactive और deleted का अर्थ अलग है या नहीं

कई integrations active=false से identity suspend करते हैं; DELETE का अर्थ service में अलग हो सकता है। व्यवहार लिखें और ऐसा auditable deactivation चुनें जो जरूरी business records रखते हुए आगे sign-in तुरंत रोके। यह न मानें कि हर IdP events को एक ही क्रम में भेजता है।

इस बिंदु के स्रोत: IETF RFC 7643: SCIM Core SchemaIETF RFC 7644: SCIM Protocol

Access हटने पर sessions और credentials revoke करें

Deactivation पर आगे authentication रोकें, active sessions तथा product-issued tokens revoke करें, संबंधित group grants हटाएँ और जहाँ संभव हो queued privileged work रोकें। Caches और regions में बदलाव समय पर लागू करें। SCIM delivery, sign-in और sensitive actions के समय membership जाँचने का विकल्प नहीं है।

इस बिंदु के स्रोत: IETF RFC 7644: SCIM ProtocolOWASP Cheat Sheet: authorization

Sync mismatch सुधारें और failed sync की जाँच करें

Last successful sync, rejected changes, disabled users और पुराने groups track करें। Tenant-scoped status page और administrator के लिए replay path दें। समय-समय पर IdP की intended state और SaaS account state की तुलना करें, पर incident में हटाए गए account को bulk overwrite से वापस न लाएँ।

इस बिंदु के स्रोत: IETF RFC 7644: SCIM ProtocolOWASP Cheat Sheet: logging

SCIM provisioning से जुड़े सवाल

क्या SCIM, SSO की जगह लेता है?

नहीं। SSO authentication संभालता है; SCIM identity records और lifecycle changes manage करता है। Customer इनमें से कोई एक इस्तेमाल कर सकता है; दोनों हों तो stable identity और tenant को सुरक्षित तरीके से link करें।

क्या SCIM बताता है कि SaaS tenants कैसे चलने चाहिए?

नहीं। RFC 7644 के अनुसार multitenancy optional है और tenant association का तरीका protocol तय नहीं करता। आपकी service को हर provisioning client authenticate करके tenant boundary लागू करनी होगी।

इस बिंदु के स्रोत: IETF RFC 7644: SCIM Protocol

क्या deactivation से user का data भी delete होना चाहिए?

आमतौर पर दोनों अलग निर्णय हैं। Deactivation को access जल्दी रोकना चाहिए; data deletion service के retention, contract और legal process से तय होगी। स्पष्ट करें, ताकि IdP change से जरूरी records न मिटें और inactive account sign-in भी न कर सके।

IdP का SCIM integration कैसे test करें?

Supported operations, repeated requests, unknown attributes, duplicate email, tenant crossover, group changes, deactivation, deletion और outage recovery test करें। Sandbox tenant इस्तेमाल करें और जाँचें कि failure administrator को दिखे, पर दूसरे tenant का data उजागर न हो।