Dezkubeدزکوب

فناوری · سیاست و ایزوله

Casbin در دزکوب

موتور مجوزدهی

لایسنس
Apache 2.0
گروه در استک
سیاست و ایزوله

Casbin چیست

کتابخانهٔ مجوزدهی که مدل دسترسی را از منطق برنامه جدا می‌کند: قواعد در یک مدل و یک سیاست تعریف می‌شوند و موتور تصمیم می‌گیرد.

چرا این را انتخاب کردیم

گزینه‌هایی که بررسی و رد شدند، و دلیل رد هر کدام
گزینه‌ای که رد شدچرا نه
نوشتن موتور مجوزدهی خودمانمنطق مجوزدهی یکی از رایج‌ترین جاهای باگ امنیتی است
سرویس مجوزدهی بیرونییک وابستگی عملیاتی و یک نقطهٔ شکست در مسیر هر درخواست

تصمیم بنیادین ما: الگوریتم را قرض بگیر، مدل را خودت مالک باش. موتور از Casbin است؛ مدل نقش، محدوده و شرط‌ها مال ماست — چون انعطاف به‌ازای هر پروژه و هر مستأجر، چیزی است که موتورهای آماده معمولاً نمی‌دهند.

ما دقیقاً چطور استفاده‌اش می‌کنیم

  • دو سطح ارزیاب: یکی سراسری، یکی پویا به‌ازای پروژه.
  • نقش‌های محدوده‌دار با ارث‌بری در سلسله‌مراتب سازمان ← تیم ← پروژه.
  • شرط‌های ABAC روی همان مدل.
  • بارگذاری مجدد سیاست بدون راه‌اندازی مجدد سرویس.
  • پاسخ رد شدن می‌گوید کدام سطح رد کرد — نقش، شرط، یا مالکیت.

برای شما چه چیزی عوض می‌شود

  • منطق دسترسی پراکنده در کدیک مدل متمرکز
  • «چرا دسترسی ندارم؟»پاسخ می‌گوید کدام سطح رد کرد

مرزها و محدودیت‌ها

این سکشن در هر صفحهٔ فناوری اجباری است. هر ابزاری مرزی دارد؛ صفحه‌ای که مرزش را نگوید، بقیه‌اش هم قابل اتکا نیست.

  • مدل مجوزدهی انعطاف‌پذیر، اگر بد پیکربندی شود، پیچیده می‌شود. دزکوب یک مدل از پیش تعریف‌شده می‌دهد؛ سفارشی‌سازی عمیق باید با دقت انجام شود.
  • بررسی مجوز، بررسی مالکیت منبع را جایگزین نمی‌کند — این دو لایهٔ جدا هستند و هر دو اعمال می‌شوند.

این را روی زیرساخت خودتان ببینید.

همین مؤلفه را در کلاستر شما پیکربندی می‌کنیم و نشان می‌دهیم.