إدارة حسابات الموظفين يدويًا لا تتوسع جيدًا. كل تعيين جديد يعني إنشاء حسابات وصلاحيات، وكل مغادرة تحتاج إيقاف الوصول في الوقت المناسب. SCIM أو System for Cross-domain Identity Management صُمم لتوحيد هذا الجزء من دورة الحياة عبر API معيارية تسمح لمزود الهوية والتطبيقات بتبادل معلومات المستخدمين والمجموعات بطريقة متوقعة. قيمته الحقيقية ليست في إنشاء حساب أسرع فقط، بل في تقليل الفجوة بين قرار الموارد البشرية وحالة الوصول الفعلية داخل الأنظمة.
SCIM يدير دورة الحياة لا تسجيل الدخول
SCIM لا يستبدل SSO ولا OAuth/OIDC؛ وظيفته الأساسية Provisioning. مزود الهوية يستطيع إنشاء User داخل تطبيق، تحديث الاسم أو القسم، إضافة المستخدم لمجموعة، أو تعطيله عند المغادرة. تسجيل الدخول نفسه قد يتم عبر SAML أو OIDC. الفصل مهم لأن نجاح SSO لا يعني أن الحسابات القديمة أُغلقت أو أن المجموعات محدثة.
اربط SCIM بمصدر حقيقة واحد
أفضل تصميم يحدد نظامًا مرجعيًا لحالة الموظف، ثم يدفع التغييرات إلى IdP ومنه إلى التطبيقات. لا تجعل كل تطبيق يقرر بنفسه هل الموظف ما زال نشطًا. عند تغيير قسم موظف أو دوره، يجب أن تنتقل عضوياته وصلاحياته بطريقة يمكن تتبعها.
خطوات عملية
- حدد مصدر حقيقة للموظفين.
- عرّف mapping للحقول الأساسية.
- اربط Groups بالأدوار الفعلية.
- اختبر إنشاء وتحديث وتعطيل مستخدم.
- راجع Audit logs في كل طرف.
Deprovisioning هو الاختبار الأهم
الإنشاء سهل نسبيًا؛ الخطر الحقيقي عند المغادرة. اختبر ماذا يحدث عندما يصبح المستخدم inactive: هل التطبيق يمنع الدخول فورًا؟ هل Sessions الحالية تنتهي؟ هل API tokens أو personal keys تتعطل؟ SCIM قد يعطل الحساب، لكن التطبيق يحتاج سياسة جلسات و Tokens متسقة معها.
قائمة مراجعة
- الحساب يتعطل عند مغادرة الموظف.
- Sessions النشطة لها سياسة واضحة.
- Tokens طويلة العمر تُراجع.
- الملكية على الملفات أو الموارد تُنقل.
- السجل يحتفظ بمن نفذ التغيير ومتى.
تعامل مع الفشل وإعادة المحاولة
Provisioning هو نظام موزع؛ قد يفشل تطبيق واحد بينما تنجح البقية. استخدم retries و dead-letter أو تقارير drift. لا تعتبر العملية ناجحة لمجرد أن IdP أرسل الطلب. راقب response codes ومزامنة الحالة دوريًا.
قلل البيانات التي ترسلها
لا تدفع كل بيانات HR إلى كل تطبيق. أرسل الحد الذي يحتاجه النظام: اسم، بريد، معرف، قسم أو مجموعات عند الحاجة. تقليل البيانات يقلل أثر الخطأ والتسريب ويجعل mapping أبسط.
شارك في تقييم ونقاش المقال
رأيك يضيف قيمة للمقال ويساعدنا على تحسين المحتوى والنقاش حوله.
النقاش
جارٍ تحميل التعليقات…