إنتقل إلى المحتوى الرئيسي
ينطبق على:
DuoKey Cockpitواجهة الإدارة (Management API)RBAC · ABAC · SSO

واجهة الإدارة التنظيمية (Administration API) هذه جزء من واجهة الإدارة (Management API) المصادَق عليها (/api/…). كل طلب محدد النطاق بالمستأجر: يُؤخذ المستأجر من الرمز الحامل، ولا يُمرَّر أبداً بشكل صريح، ولا يرى المتصل أو يعدّل سوى هويات مستأجره الخاص وتهيئته. راجع المصادقة لمعرفة كيفية الحصول على رمز.

يخضع كل مسار لبوابة أذونات الإدارة — Users.*، وRoles.*، وOrganizationUnits.*، وIdentityProviders.*، وAccessPolicies.*. الأذونات هي أوراق هرمية بترميز النقاط (مثل AccessPolicies.Create)، ويمنح منح بادئة أصل ضمنياً كل ورقة تحتها. يتلقى المتصل الذي يفتقر إلى الإذن المطلوب استجابة 403 Forbidden.

ملاحظة

جميع المسارات نسبية إلى مضيف Cockpit الخاص بك، على سبيل المثال https://cockpit.example.com. الأقواس المعقوفة مثل {id} تشير إلى معامل مسار من نوع UUID.

المستخدمون​

المستخدمون هم الهويات التي تسجّل الدخول إلى مستأجر. يحمل كل منهم حالة مصادقة كاملة (كلمة المرور، وTOTP، وعداد الإغلاق، وحالة الاعتماد) ويمكن تعيين أدوار ووحدات تنظيمية له.

الطريقة + المسارالغرضالإذن
GET /api/usersسرد المستخدمينUsers.Read
POST /api/usersإنشاء مستخدمUsers.Create
POST /api/users/{id}/approveاعتماد مستخدم معلَّقUsers.Approve
POST /api/users/{id}/lockقفل حساب مستخدمUsers.Update
POST /api/users/{id}/unlockإلغاء قفل حساب مستخدمUsers.Update
POST /api/users/{id}/suspendتعليق حساب مستخدمUsers.Update
POST /api/users/{id}/reset-passwordإعادة تعيين كلمة مرور مستخدمUsers.Update
PUT /api/users/{id}/rolesتعيين أدوار لمستخدمUsers.Update

الأدوار والأذونات​

التفويض قائم على الأدوار. الدور هو حزمة أذونات مسمّاة؛ ويحمل الرمز الذي يتلقاه المستخدم مجموعة الأذونات المسطَّحة الموسَّعة من أدواره. يمكن تحديد نطاق الأدوار بوحدة تنظيمية بحيث ينطبق المنح فقط ضمن ذلك الفرع.

الطريقة + المسارالغرضالإذن
GET /api/rolesسرد الأدوارRoles.Read
POST /api/rolesإنشاء دورRoles.Create
PUT /api/roles/{id}تحديث دورRoles.Update
DELETE /api/roles/{id}حذف دورRoles.Delete
PUT /api/roles/{id}/permissionsتحديد مجموعة أذونات دورRoles.Update
GET /api/roles/permissionsسرد كتالوج الأذونات الهرميRoles.Read

الوحدات التنظيمية​

تضيف الوحدات التنظيمية (OUs) طبقة نطاق ثانية داخل المستأجر. وهي تشكّل شجرة برمز مسار محقَّق (materialized-path) (مثل 00001.00003.00007)؛ ويمكن تحديد نطاق موارد مثل التطبيقات بوحدة تنظيمية، ويمكن تعيين الأدوار على مستوى الوحدة التنظيمية.

الطريقة + المسارالغرضالإذن
GET /api/org-unitsسرد الوحدات التنظيميةOrganizationUnits.Read
POST /api/org-unitsإنشاء وحدة تنظيميةOrganizationUnits.Create
GET /api/org-units/selectableسرد الوحدات التنظيمية القابلة للاختيار للتعيينOrganizationUnits.Read
/api/org-units/{id}/rolesتعيين أدوار محددة النطاق بوحدة تنظيمية (إدارة مفوَّضة)OrganizationUnits.Update

موفّرو الهوية​

يتيح موفّرو الهوية الخارجيون للمستخدمين تسجيل الدخول ببيانات اعتماد المؤسسة (Azure AD / Entra ID، وOkta، وKeycloak). تُهيَّأ الموفّرات ببيانات اعتماد العميل، وعناوين URL للسلطة/البيانات الوصفية، والنطاقات، وتعيينات المطالبات، ويمكنها التزويد التلقائي للمستخدمين في أدوار افتراضية.

الطريقة + المسارالغرضالإذن
GET /api/identity-providersسرد موفّري الهوية المهيَّئينIdentityProviders.Read
POST /api/identity-providersإنشاء موفّر هويةIdentityProviders.Create
POST /api/identity-providers/discoverاكتشاف نقاط نهاية الموفّر من عنوان URL للبيانات الوصفية / السلطةIdentityProviders.Read
POST /api/identity-providers/{id}/test-connectionاختبار اتصال الموفّر وبيانات اعتمادهIdentityProviders.Update
POST /api/identity-providers/{id}/toggleتفعيل الموفّر أو تعطيلهIdentityProviders.Update
تسجيل الدخول الموحد مقيَّد بالميزة

يخضع تسجيل الدخول الموحد أيضاً لأعلام ميزات موفّر الهوية الخاصة بإصدار المستأجر؛ ويجب تفعيل الموفّر للإصدار قبل أن يتسنى استخدامه.

سياسات الوصول​

بالإضافة إلى RBAC، تتضمن الإدارة محرك سياسات الوصول Casbin ABAC الذي يحكم عمليات التشفير في وقت التشغيل حسب المستخدم وعنوان IP والموقع والوقت والمجموعة. السياسة محددة النطاق بالمستأجر ولا تسري إلا بعد ربطها بمورد (خدمة DKE، أو تطبيق عام، أو نقطة نهاية AWS XKS) عبر access_policy_id الخاص بها. النموذج الكامل موثَّق في صفحة سياسات الوصول.

الطريقة + المسارالغرضالإذن
GET /api/access-policiesسرد السياساتAccessPolicies.Read
POST /api/access-policiesإنشاء سياسةAccessPolicies.Create
GET /api/access-policies/{id}الحصول على سياسةAccessPolicies.Read
PUT /api/access-policies/{id}تحديث سياسةAccessPolicies.Update
DELETE /api/access-policies/{id}حذف سياسةAccessPolicies.Delete
POST /api/access-policies/validateالتحقق من صحة تعريف سياسة قبل الحفظAccessPolicies.Read
GET /api/access-policies/capabilitiesمصفوفة القدرات لكل نوع تطبيق (أي من الأبعاد الخمسة يحترمه كل نوع تطبيق)AccessPolicies.Read
GET /api/access-policies/available-groupsالمجموعات المتاحة لقواعد المجموعاتAccessPolicies.Read
GET /api/access-policies/audit · GET /api/access-policies/{id}/auditسجل تدقيق الإنفاذAccessPolicies.Read

انتحال الهوية​

يتيح انتحال الهوية لمسؤول مخوَّل التصرف كمستخدم آخر لأغراض الدعم واستكشاف الأخطاء وإصلاحها. يصدر بدء جلسة رمزاً محدد النطاق في سياق المستخدم المستهدف؛ ويعيد إيقافها المتصل إلى هويته الخاصة. تُسجَّل كل عملية انتحال هوية في سجلات النشاط.

الطريقة + المسارالغرضالإذن
POST /api/impersonation/startبدء انتحال هوية مستخدم مستهدفUsers.Impersonate
POST /api/impersonation/stopإيقاف انتحال الهوية واستعادة هوية المتصلUsers.Impersonate
انتحال الهوية إجراء ذو امتياز

يمنح انتحال الهوية أذونات المستخدم المستهدف الفعلية للمتصل طوال مدة الجلسة. قيّد إذن انتحال الهوية بالمسؤولين الموثوقين وراجع سجل التدقيق بانتظام.