Azure / أساسي: النطاق والهوية والموقع والموارد / الدرس 2
هوية Microsoft Entra وAzure RBAC
افصل المصادقة وإدارة الدليل وتصريح الموارد ووصول البيانات. نمذج الفاعل والدور والنطاق قبل تفسير السماح والرفض.
في هذه الصفحة
أهداف الدرس
- تمييز أدوار Entra ID من أدوار موارد Azure.
- شرح نطاق التعيين ومستويي الإدارة والبيانات.
- استخدام أقل امتياز دون هويات حقيقية.
ليست الهوية المصادق عليها إذناً عاماً
Microsoft Entra ID خدمة الهوية التي كان اسمها Azure Active Directory، بينما Microsoft Entra عائلة أوسع. يحمل المستأجر سياق دليل. تشارك الحسابات والمجموعات وservice principals والهويات المدارة في تصميم الوصول بمعرفات وأعمار مختلفة. تثبت المصادقة الهوية وفق المُصدِر والجمهور، ثم يفحص التصريح العملية والنطاق. لا يصلح رمز صالح لجمهور أو مستأجر آخر لكل خدمة. ولا تستنتج الإذن من نجاح الدخول للبوابة.
لأدوار الدليل والموارد غرضان مختلفان
تحكم أدوار Entra الإدارية مسؤوليات الدليل، ويحكم Azure RBAC الموارد بتعيين يجمع الفاعل وتعريف الدور والنطاق. قد توسع الوراثة من الإدارة والاشتراك والمجموعة الوصول، فراجع الآباء لا المحلي فقط. ليس مدير الدليل قارئ بيانات كل تطبيق تلقائياً. ميّز إدارة الوصول وتعيينه من عمليات البيانات. وقد تؤثر تعيينات الرفض والشروط وإعداد الخدمة ووسائل الاعتماد في النتيجة الحقيقية.
لا تعني قراءة مستوى الإدارة قراءة بيانات Blob
قد يوفر المورد عمليات إدارة وعمليات بيانات مستقلة. يمثل Reader مستوى الإدارة، وStorage Blob Data Reader وصول البيانات. يسجل JSON التعليمي الفرق ولا ينشئ تعييناً، ويغفل المعرفات الحقيقية ومخطط النشر عمداً. الشبكة حد آخر؛ فلا يضمن الدور وصول النقطة ولا يمنح الوصول الشبكي الإذن. راجع المفاتيح المشتركة ومسارات الاعتماد الأخرى لأنها قد تغير طريق التصريح المختبر.
{
"model": "permission-planning-only",
"cases": [
{
"role": "Reader",
"operation": "management.read",
"expected": "candidate-allow"
},
{
"role": "Reader",
"operation": "blob.read",
"expected": "not-granted-by-this-role"
},
{
"role": "Storage Blob Data Reader",
"operation": "blob.read",
"expected": "candidate-allow"
}
]
}
management and data permissions are evaluated separately
ليست النتائج المرشحة تصريحاً حياً؛ فالنطاق والرفض والشروط والشبكة والاعتماد غير مختبرة.
يجب أن تحترم مطابقة النطاق حد المورد
اختر أضيق نطاق يكفي المهمة مع المراجعة والإزالة. قد يشمل منح الأب الأبناء، لكن الاسم المشابه ليس ابناً. يفحص البرنامج حدود مقاطع معرفات مصطنعة كيلا تطابق rg-a الاسم rg-a2. ليس تنفيذاً لـAzure RBAC ذي الدلالات الأوسع وفحوص الخدمة. استخدمه لكشف خطأ الاستدلال لا لاستبدال التصريح أو إثبات تعيين حقيقي؛ فلا يتصل بهوية أو API.
def within(scope, target):
return target == scope or target.startswith(scope + "/")
scope = "/subscriptions/s-lab/resourceGroups/rg-a"
print(within(scope, scope + "/providers/example/items/one"))
print(within(scope, "/subscriptions/s-lab/resourceGroups/rg-a2"))
True
False
يرفض الفحص المصطنع بادئة شقيقة ولا يفحص أذونات Azure الموروثة فعلياً.
التخطيط لهوية الحمل ودليل الوصول
تقلل الهويات المدارة التعامل مع أسرار التطبيق للخدمات الداعمة، لكنها تحتاج الدور وإعداد الهدف. افصل اختيار الهوية والنطاق والشبكة. راجع الطوارئ البشرية والتغيير الممتاز والعمل غير التفاعلي كحالات مختلفة. عند الرفض احفظ العملية والهدف والربط دون الرمز. يجب أن يجمع اختبار مصرح لاحق مسموحاً ورفضاً خارج النطاق. تستخدم الدورة تعيينات افتراضية فلا تدعي فحص مستأجر أو رمز أو إذن حقيقي.
الأخطاء الشائعة وإصلاحها
افتراض أن إدارة الدليل تمنح كل عملية بيانات
- لماذا يحدث؟
- الخلط بين حَوْكمة الهوية وتصريح المورد.
- كيف تصلحه؟
- فحص دور المورد وعملية البيانات والنطاق.
- كيف تتجنب تكراره؟
- توثيق مسؤولية الدليل والمورد منفصلتين.
إغفال منح واسع في مستوى أعلى
- لماذا يحدث؟
- مراجعة التعيين المحلي المرئي فقط.
- كيف تصلحه؟
- مراجعة المنح الموروث والرفض والشروط.
- كيف تتجنب تكراره؟
- إدراج نطاقات الآباء في المراجعة.
نسخ الرمز لتقرير تشخيص
- لماذا يحدث؟
- معاملة دليل المصادقة الحساس كنص عادي.
- كيف تصلحه؟
- استخدام معرفات آمنة وفئات فشل بدلاً منه.
- كيف تتجنب تكراره؟
- تحديد التنقيح والاحتفاظ قبل جمع دليل الوصول.
اختبر فهمك
1. يستطيع الفاعل رؤية حساب تخزين ولا يقرأBlob. ما الذي يفصل؟
اعرض الحل المشروح
افصل مستوى الإدارة من عملية Blob ثم افحص دور البيانات والنطاق والاعتماد والشبكة. لا تمنح Owner واسعاً لإخفاء العرض. ينبغي أن يؤكد اختبار مصرح موجب وسالب الوصول الضيق المقصود.
2. هل تنفذ دالة النطاق المحلية Azure RBAC؟
اعرض الحل المشروح
لا؛ تفحص قاعدة نسب مصطنعة فقط دون رموز وتعريفات ورفض وشروط وسلوك مزود ووراثة حقيقية. غرضها كشف خطأ البادئة مع إبقاء تصريح السحابة غير مختبر.
أهم ما تعلمته
- تختلف المصادقة وأدوار الدليل والمورد ووصول البيانات.
- يحتاج ادعاء الإذن الفاعل والفعل والنطاق والسياق الفعلية.