
CA Optics - محلل فجوات الوصول المشروط في Azure AD
تمت أرشفة المشروع بسبب تغيّر أولويات التطوير وإعادة توجيه جهودي المجتمعية إلى مجالات أخرى (PoCs وأدوات أخرى وعروض/عروض تقديمية)، وقد تم ضبط المشروع على وضع القراءة فقط.
محلل فجوات الوصول الشرطي في Azure AD هو حل لفحص الفجوات التي قد توجد ضمن إعدادات معقدة لسياسات الوصول الشرطي في Azure Active Directory.
إذا كنت جديدًا على الوصول الشرطي، نوصي بمراجعة مقالة Microsoft التالية: https://docs.microsoft.com/en-us/azure/active-directory/conditional-access/overview
سطر واحد لتشغيل هذه الأداة: (إذا كان هذا هو الجزء الوحيد الذي تخطط لقراءته، وقد أكملت التثبيت)
node ./ca/main.js --mapping --skipObjectId=259fcf40-ff7c-4625-9b78-cd11793f161f --clearPolicyCache --clearTokenCache --clearMappingCache
بعد استكمال المتطلبات الأساسية وقراءة ملف readme هذا، يُرجى مراعاة ما يلي:
سياسات reportOnly لا تُعتبر منهية:
اقرأ: scope
شغّل كل فحص باستخدام --clearPolicyCache
شغّل كل فحص باستخدام --clearMappingCache إذا أجريت تغييرات على المجموعات/المستخدمين المرتبطين بالسياسات
فقط السياسات التي تستهدف المستخدمين والتطبيقات هي ضمن النطاق (هذا هو النطاق الأكثر شيوعًا، ولكنه يعني على سبيل المثال أن سياسة تسجيل الأمان لا يتم تقييمها)
اقرأ: scope
ابدأ ببيئة اختبار لتكتسب بعض الخبرة وتتمكن من وضع توقعات حول آلية عمل الأداة
إذا كانت لديك مجموعة معروفة أو مستخدمون معروفون مستثنون من السياسات، فحدد الكائنات المراد استثناؤها من الفحص باستخدام --skipObjectIds إلا إذا كنت تبحث عن تأكيد الإعفاءات
إذا كنت تشغّل عمليات فحص في بيئات متعددة فتأكد من: إزالة عمليات تسجيل الدخول والذاكرة المؤقتة قبل تشغيل عمليات فحص جديدة
اقرأ: المعاملات
az account clear ثم قم بتسجيل دخول جديد إلى البيئة التي تخطط لفحصها باستخدام az loginاقرأ ملاحظات مهمة أخرى
ملاحظات الإصدار: 0.7.1
- تحديث التبعيات ومخرجات نص التقرير
ملاحظات الإصدار: 0.7
- يستخدم نقطة نهاية beta الآن افتراضيًا، ويعمل خيار --expand على توسيع النتائج في التقرير بغض النظر عن استخدام --allTerminations
ملاحظات الإصدار: 0.6.9
- استخدام --expand=9c06d103-f5b0-4404-bb25-aec4636912cd,47087cd3-64e9-470b-980a-5662f498e016 وتوسيع 10 أعضاء مجموعة للفحص المنفصل.
ملاحظات الإصدار: 0.6.8
- عندما تقوم بتحديث سياسة تحتوي على أي شروط ضيوف في الواجهة الرسومية، ستكون تلك السياسة متاحة فقط من نقطة نهاية beta بعد التحديث (أثناء المعاينة).
- يجلب هذا التحديث تطبيعًا للسياسات التي يتم نقلها إلى نقطة نهاية beta بسبب هذا السلوك.
- سيتم تقييم السياسة مثل شروط الضيوف السابقة، طالما تم تضمين الشروط التالية "internalGuest,b2bCollaborationGuest,b2bCollaborationMember" ولم يتم استبعاد أي مستأجرين من السياسة. من أجل تقييم السياسات المنقولة،
- استخدم '--allowPreviewPolicies' عند تشغيل CaOptics لمراعاة هذا السلوك
ملاحظات الإصدار: 0.6.6-7 beta
- السماح باستخدام نقاط نهاية مختلفة لتسجيل الدخول والرسم البياني مع المعاملات: --altLogin --altGraph
- السماح باستخدام تصفية مخصصة للسياسات (يوصى به فقط عندما لا تلتزم السياسات بالمخطط المتوقع)
ملاحظات الإصدار: 0.6.5 beta
- إضافة عداد إلى التقرير عندما يُضاف عدد كبير من التباديل أيضًا إلى التقرير (الافتراضي هو إضافة غير المنتهية فقط)
- إصلاحات بسيطة في الكود تغيّر <var> إلى <let>
- اسم ملف التقرير الآن يتضمن اليوم والشهر والسنة ومعرّف المستأجر، على سبيل المثال report_day_4_month_9_year_2022-tenant_48f55450-183a-45d6-a9ce-68f3cbc68947.csv
ملاحظات الإصدار: 0.6.4 beta
- الحصول على المزيد من المجموعات في استدعاء واحد (تقليل التجميع)
- إصلاح حالة سباق تم اكتشافها عند استخدام حلقات for await بشكل عام
- إحاطة القيم بعلامات اقتباس "" بين الفواصل (CSV)
ملاحظات الإصدار: 0.6.3 beta
- تحسينات على طريقة التعامل مع الكائنات المعيّنة.
- يتم تخزين الكائنات المعيّنة مؤقتًا. يمكنك إعادة إنشاء تعيين الكائنات باستخدام المعامل 'clearMappingCache'
- ستبدأ مفاتيح البحث دائمًا بشروط 'user/group/role' أولاً
- إضافة إمكانية ملء خريطة المستخدم بـ UUID عشوائية لاختبار تأثير الأداء (هذا مجرد خيار تصحيح أخطاء، وليس شيئًا سيكون في الإصدارات غير التجريبية)
ملاحظات الإصدار: 0.6.2 beta
- فصل معاملات التخزين المؤقت في دوال منفصلة -> (clearTokenCache و ClearPolicyCache)
- إضافة إمكانية تشغيل خوارزمية محسّنة مسبقًا على التباديل باستخدام المعامل --aggressive (استهلاك عالي للذاكرة، وهو هنا فقط لاختبار A/B)
- تم الدمج.
ملاحظات الإصدار: 0.6.1 beta
- إضافة نسخة أساسية من إعداد تقارير CSV
- تبسيط توليد التباديل لضمان توليد التباديل الأساسية، وإنهاء بعض التباديل مبكرًا أثناء عمليات البحث
ملاحظات الإصدار: 0.6 beta (أول إصدار غير "صامت")
- إضافة أسماء العرض للتطبيقات إلى تقرير MD. إضافة نوع الكائن إلى نوع المستخدم
ملاحظات الإصدار: 0.5.2,0.5.1,0.5 beta (راجع الفروع السابقة لملاحظات الإصدار)

مثال على اكتشاف عبر السياسات
❌ أي تبديل بقيمة 0 يعني أنه لم يتم إنهاء أي سياسة لتلك المجموعة المحددة من الشروط.
| السياسة | الإنهاءات | البحث |
|---|---|---|
| All | 0 | Applications:88cc92be-d474-4d95-a57d-7b3ef701f510 -> Locations:finland -> users:GuestsOrExternalUsers |
| All | 0 | Applications:88cc92be-d474-4d95-a57d-7b3ef701f510 -> Locations:finland -> users:Jane Doe |
| All | 0 | Applications:88cc92be-d474-4d95-a57d-7b3ef701f510 -> Locations:finland -> users:John Doe |
✅ اقرأ الوصف التفصيلي للكشف في docs/example.md
يتم توليد التباديل بواسطة getPol2.js
يمكن تصور التباديل باستخدام خدمة JSON Crack:
(التمثيل المرئي بواسطة https://jsoncrack.com/)