توفير المستخدمين عبر SCIM
استخدم هذا الدليل حين تريد التحكم في دورة حياة الحسابات: عند إنهاء الخدمة يجب أن يُسحب الوصول تلقائيًا، لا أن يُكتفى بمنع تسجيلات الدخول اللاحقة. SCIM هو بروتوكول الدفع الذي تستخدمه موفّرات الهوية (Okta وEntra ID وغيرها) لهذا الغرض بالضبط.
المتطلبات
قسم بعنوان “المتطلبات”- SSO يعمل أصلًا (درس SSO أو دليل OIDC)،
- خادم يبلغه IdP عبر HTTPS: تصل استدعاءات SCIM من IdP، لا من متصفح المستخدم. استخدم النفق المدمج (الإعدادات ← الخادم ← الاتصال والحالة ← مشاركة هذا الخادم ← Cloudflared/ngrok/Tailscale) أو عنوان URL عامًا. الخادم الذي لا يُبلَغ إلا عبر مرحّل WebSocket لا يستقبل دفعات SCIM؛ يظل توفير JIT يعمل هناك، ولا يصلح هذا الدليل.
الخطوات
قسم بعنوان “الخطوات”- افتح الإعدادات ← الخادم ← تسجيل الدخول الموحّد ← بطاقة
توفير المستخدمين (SCIM). تعرض البطاقة نقطة النهاية، مثل
https://<your-server>/scim/v2/Users. - اضغط إنشاء رمز وصول (أو إعادة إنشاء رمز الوصول إن وُجد واحد أصلًا): يظهر رمز وصول bearer مرة واحدة في حوار ويُنسخ إلى الحافظة. احفظه في مدير كلمات المرور؛ فالخادم لا يحتفظ إلا بنسخة يُتحقَّق منها في زمن ثابت.
- في إعدادات التوفير لدى IdP، فعّل SCIM بما يلي:
- عنوان URL الأساسي: نقطة النهاية أعلاه
- المصادقة:
Authorization: Bearer <token> - معرّف المستخدم:
userName(البريد الإلكتروني) أوexternalId، وكلاهما يطابق
- اختبر بمستخدم واحد: ادفعه من IdP وتأكد من ظهوره (إنشاء المستخدم عبر
SCIM يثبّت
externalIdالخاص بالموفّر على الحساب، وهو التثبيت نفسه الذي يضعه أول تسجيل دخول عبر SSO).
ما يفعله إلغاء التوفير
قسم بعنوان “ما يفعله إلغاء التوفير”حين يرسل IdP القيمة active: false (أو DELETE)، يرفض SCIM أولًا إن كان
الحساب مالك مساحة عمل (انقل الملكية أولًا). وإلا:
- تُبطَل أولًا كل بيانات اعتماد جهاز، فتسقط الجلسات الجارية خلال ثوانٍ،
- تُزال كل عضوية في مساحات العمل،
- يُختَم الحساب بأنه مُعطَّل (لا يستطيع تسجيل الدخول أبدًا، مهما أرسل IdP لاحقًا، إلى أن يُعاد تفعيله صراحةً).
يبقى صف المستخدم نفسه: الإسناد على التذاكر والرسائل والإيداعات دائم. إعادة
التفعيل (active: true في SCIM) تعيد تسجيل الدخول لكن لا تعيد
العضويات: تلك تحتاج دعوة جديدة، أو سياسة الإضافة التلقائية إلى كل مساحة
عمل عند تسجيل الدخول.
استكشاف الأخطاء وإصلاحها
قسم بعنوان “استكشاف الأخطاء وإصلاحها”- 401 على كل استدعاء: تغيّر الرمز؛ أعد إنشاءه وحدّثه في IdP.
- نقطة النهاية غير قابلة للوصول: النفق متوقف، أو الخادم يعمل عبر المرحّل فقط. يحتاج SCIM إلى HTTPS مباشر، ويظل JIT يعمل على أي حال.
- أخطاء دفع المجموعات (501): مقصود. تعيين المجموعات إلى الأدوار يحدث عند تسجيل الدخول من سمات المجموعات في SAML وOIDC، لا من المجموعات المدفوعة.