تصميم البنى الآمنة · الدرس 16

مجموعات الأذونات وتعيينات الحسابات

5 دقيقة قراءة

أهداف الدرس

  • يحلل مجموعات الأذونات وتعيينات الحسابات ويبرر القرار وحدوده وفق مهمة 1.1.

المهارة والحد

عندما يدخل فريق العمليات إلى عدة حسابات AWS، لا يكفي اختيار اسم دور جذاب مثل Administrator أو Auditor. ابدأ بمصفوفة الأشخاص والمجموعات والحسابات والأفعال المطلوبة. يعرّف مركز هوية IAM Identity Center مجموعة أذونات، ثم يربطها تعيين بحساب محدد وبمستخدم أو مجموعة. ينشئ التزويد دور IAM في الحساب المستهدف. لذلك لا تعني رؤية مجموعة الأذونات في المركز أن جميع أعضاء المؤسسة يملكونها في كل حساب. فرّق بين تعريف الإذن والتعيين وتوفّر الدور بعد التزويد، ثم افحص حدود السياسة الفعلية في الحساب. الهدف هنا تفسير طريق الوصول البشري، لا نسخ سياسة مفتوحة بين الحسابات.

نموذج القرار

ابن نموذج قرار من أربعة أعمدة: هوية العامل، المجموعة التي ينتمي إليها، الحساب المقصود، والعملية المراد تنفيذها. إذا احتاج فريق التدقيق قراءة سجلات CloudTrail وبيانات موارد معينة في حساب الإنتاج، فأنشئ مجموعة أذونات قراءة مقيّدة بالأفعال والموارد المناسبة، ثم عيّن مجموعة المدققين لهذا الحساب وحده. إذا احتاج مهندس التطبيق صلاحية كتابة في حساب التجربة، فهذا تعيين مستقل وليس سببًا لمنح المدقق كتابة في الإنتاج. تحقق أيضًا من السياسات المدارة المخصصة: عند استخدامها داخل مجموعة الأذونات يجب وجود سياسة بالاسم والمسار المناسبين مسبقًا في كل حساب تُعيّن له المجموعة؛ اختيار الاسم في المركز لا ينشئ السياسة نفسها في الحساب.

حالة محلولة

الحل الأدنى للحالة هو تعيين `AuditReaders` إلى `AuditView` في حساب الإنتاج، والتحقق من نجاح التزويد هناك، ثم اختبار فعل قراءة مقصود وفعل كتابة يجب رفضه. أبقِ `BuildTest` محصورًا في حساب التجربة، ولا تستخدم دورًا واحدًا شاملًا لتبسيط الإدارة ظاهريًا. وثّق معرّف الحساب في جدول الصلاحيات كي لا تخلط بوابة الدخول بين الحسابين. إذا كان رفض القراءة ناتجًا من حظر تنظيمي SCP نافذ على الحساب العضو، فلن تصلحه زيادة مجموعة الأذونات؛ يجب معالجة التعارض لدى مالك الحاجز. إذا كانت الهوية تتصرف عبر دور آخر، تتبع السلسلة الفعلية بدل افتراض أن تعيين المركز هو آخر خطوة.

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

تمرين وناتج

مراجعة الحل

خلاصة الدرس

الحل الأدنى للحالة هو تعيين `AuditReaders` إلى `AuditView` في حساب الإنتاج، والتحقق من نجاح التزويد هناك، ثم اختبار فعل قراءة مقصود وفعل كتابة يجب رفضه. شرط مضاد يغيّر القرار: افترض أن التعيين صحيح وأن دور الحساب موجود، لكن السياسة المدارة المخصصة المشار إليها داخل المجموعة غير موجودة بالاسم والمسار نفسيهما في حساب الإنتاج.