خطوات الاستخدام
الخطوة 1: فهم مدخلات الحاسبة. تستخدم هذه الحاسبة ثلاثة مدخلات رئيسية: عدد العبارات (Statements)، عدد الشروط (Conditions)، وعدد الموارد (Resources). كل عبارة تمثل إذنًا محددًا مثل 'Allow' أو 'Deny'، وكل شرط يضيف قيودًا إضافية مثل IP أو وقت، وكل مورد يحدد نطاق الوصول مثل S3 bucket أو EC2 instance. كلما زادت هذه القيم، زاد التعقيد.
الخطوة 2: إدخال القيم. أدخل عدد العبارات في الحقل الأول. هذا العدد يمثل كل كتلة 'Statement' في سياسة IAM. على سبيل المثال، سياسة نموذجية تحتوي على 3 عبارات: واحدة للسماح بقراءة S3، وأخرى للسماح بالكتابة، وثالثة لمنع الحذف. أدخل عدد الشروط في الحقل الثاني: كل شرط ضمن عبارة يضيف منطقًا إضافيًا مثل 'IpAddress' أو 'StringEquals'. وأخيرًا، عدد الموارد: كل مورد فريد مثل 'arn:aws:s3:::example-bucket/*' يحسب كواحد.
الخطوة 3: حساب درجة التعقيد. تقوم الحاسبة بجمع المدخلات بعد تطبيق أوزان مختلفة. يتم حساب الدرجة باستخدام الصيغة: Complexity = (Statements * 2) + (Conditions * 3) + (Resources * 1). ثم تُقسم الدرجة على 10 لتكون ضمن مقياس من 0 إلى 10 (مع إمكانية تجاوز 10 إذا كانت السياسة معقدة جدًا). توفر الحاسبة شرحًا للنتيجة: درجة أقل من 3 تعتبر بسيطة، من 3 إلى 6 معتدلة، وما فوق 6 معقدة وتحتاج إلى مراجعة.
الخطوة 4: تفسير النتيجة. إذا كانت درجة التعقيد عالية (مثلاً 8+)، فهذا يشير إلى صعوبة فهم السياسة وإدارتها، مما يزيد خطر حدوث أخطاء التكوين الأمني. يُنصح بتبسيط السياسة عن طريق تجميع العبارات المتشابهة، تقليل عدد الشروط غير الضرورية، واستخدام أدوات مثل AWS IAM Access Analyzer لتقييم السياسات.
أمثلة محلولة
تطبيقات عملية على تقييم تعقيد سياسة IAM بخطوات الحل كاملة.
الحل
نقوم بحساب التعقيد: عدد العبارات = 3، عدد الشروط = 1، عدد الموارد = 3. الصيغة: (3 * 2) + (1 * 3) + (3 * 1) = 6 + 3 + 3 = 12. القسمة على 10: 12/10 = 1.2. إذن درجة التعقيد = 1.2 (بسيطة). هذا يعني أن السياسة سهلة الفهم والإدارة، لكن ينبغي مراعاة أن وجود شرط IP يضيف تعقيداً طفيفاً. إذا أردنا تبسيطها أكثر، يمكن دمج العبارة الأولى والثانية في عبارة واحدة تشمل العمليتين مع تطبيق شرط IP على كلتيهما إذا لزم الأمر.
الحل
الحساب: العبارات = 10، الشروط = 4 (3 + 1 + 0)، الموارد = 24. الدرجة = (10*2)+(4*3)+(24*1) = 20+12+24 = 56. بالقسمة على 10 = 5.6. هذه درجة معتدلة إلى مرتفعة. التحليل: السياسة تحتوي على عدد كبير من العبارات والموارد، مما يجعلها عرضة للأخطاء. يُنصح بتبسيطها باستخدام أسماء الموارد بدلاً من الأرقام، وتقليل الشروط غير الضرورية، وتطبيق مبدأ الامتياز الأقل (Least Privilege). يمكن أيضاً استخدام سياسات مُدارة (Managed Policies) أو مجموعات (Groups) لتقليل التكرار. فمثلاً، بدلاً من 10 عبارات، يمكن دمج إذنات EC2 المتشابهة في عبارة واحدة مع شرط واحد.
أمثلة محسوبة
قيم مُدخَلة ونتيجة محسوبة فعليًا بواسطة تقييم تعقيد سياسة IAM.
مرجع — سياسة S3 محدودة
- عدد البيانات
- 3
- عدد الشروط
- 1
- عدد الموارد
- 3
مرجع — سياسة متعددة الخدمات
- عدد البيانات
- 10
- عدد الشروط
- 4
- عدد الموارد
- 24
مرجع — أبسط سياسة ممكنة
- عدد البيانات
- 1
- عدد الشروط
- 0
- عدد الموارد
- 1
قيم مُدخَلة قياسية
- عدد البيانات
- 10
- عدد الشروط
- 10
- عدد الموارد
- 10
قيم مُدخَلة مرتفعة
- عدد البيانات
- 100
- عدد الشروط
- 100
- عدد الموارد
- 100
قيم مُدخَلة منخفضة
- عدد البيانات
- 2
- عدد الشروط
- 2
- عدد الموارد
- 2