رفتن به محتوا

تأمین کاربران با SCIM

از این راهنما زمانی استفاده کنید که کنترل چرخهٔ عمر می‌خواهید — خروج کاربران باید دسترسی را به‌طور خودکار لغو کند، نه اینکه تنها ورودهای آینده را مسدود سازد. SCIM همان پروتکل pushی است که IdPها (Okta، Entra ID و دیگران) دقیقاً برای همین به کار می‌برند.

  • SSO از قبل کار می‌کند (آموزش SSO یا راهنمای OIDC),
  • سروری که IdP بتواند از طریق HTTPS به آن برسد — فراخوانی‌های SCIM از IdP می‌آیند، نه از مرورگر کاربر. از تونل توکار (تنظیمات → سرور → اتصال و وضعیت → اشتراک این سرور → Cloudflared/ngrok/Tailscale) یا یک URL عمومی استفاده کنید. سروری که فقط از طریق رلهٔ WebSocket قابل دسترسی است نمی‌تواند pushهای SCIM را دریافت کند؛ تأمین JIT همچنان روی آن کار می‌کند، این راهنما نه.
  1. تنظیمات → سرور → ورود یکپارچه را باز کنید → کارت تأمین کاربر (SCIM). کارت نقطهٔ پایانی را نشان می‌دهد، مثلاً https://<your-server>/scim/v2/Users.
  2. تولید توکن را بزنید (یا اگر از قبل توکنی وجود دارد، تولید مجدد توکن) — توکن Bearer یک بار در یک پنجرهٔ گفت‌وگو نمایش داده می‌شود و در کلیپ‌بورد کپی می‌شود. آن را در مدیر گذرواژهٔ خود نگه دارید؛ سرور فقط نسخه‌ای را نگه می‌دارد که با مقایسهٔ زمان‌ثابت قابل بررسی است.
  3. در تنظیمات تأمین IdP خود، SCIM را با این مقادیر فعال کنید:
    • Base URL: نقطهٔ پایانی بالا
    • Authentication: Authorization: Bearer <token>
    • User id: userName (ایمیل) یا externalId — هر دو مطابقت می‌کنند
  4. با یک کاربر آزمایش کنید: او را از IdP push کنید و تأیید کنید که ظاهر می‌شود (ایجاد SCIM مقدار externalId ارائه‌دهنده را روی حساب سنجاق می‌کند؛ همان سنجاقی که نخستین ورود SSO تنظیم می‌کند).

وقتی IdP مقدار active: false را می‌فرستد (یا DELETE)، SCIM نخست در صورتی که حساب مالک یک فضای کاری باشد رد می‌کند (ابتدا مالکیت را منتقل کنید). در غیر این صورت:

  1. نخست هر اعتبارنامهٔ دستگاه لغو می‌شود — نشست‌های فعال ظرف چند ثانیه می‌افتند،
  2. هر عضویت فضای کاری برداشته می‌شود،
  3. حساب با مهر غیرفعال علامت می‌خورد (هرگز نمی‌تواند وارد شود، هر چه IdP بعداً بگوید، تا زمانی که به‌صراحت فعال‌سازی مجدد شود).

خودِ ردیف کاربر باقی می‌ماند — انتساب روی تیکت‌ها، پیام‌ها و کامیت‌ها دائمی است. فعال‌سازی مجدد (SCIM active: true) ورود را برمی‌گرداند اما نه عضویت‌ها: آن‌ها به یک دعوت تازه یا سیاست عضویت خودکار هنگام ورود نیاز دارند.

  • خطای 401 در هر فراخوانی — توکن تغییر کرده است؛ آن را دوباره تولید کنید و IdP را به‌روزرسانی کنید.
  • نقطهٔ پایانی قابل دسترسی نیست — تونل از کار افتاده است، یا سرور فقط از طریق رله در دسترس است. SCIM به HTTPS مستقیم نیاز دارد؛ JIT در هر حال کار می‌کند.
  • خطاهای push گروه (501) — عمدی است: نگاشت گروه→نقش هنگام ورود و بر پایهٔ ویژگی‌های گروه SAML/OIDC انجام می‌شود، نه از گروه‌های pushشده.