الأساس: الحسابات والشبكة وإدارة الهوية والوصول
الأساس: الحسابات والشبكة وإدارة الهوية والوصول
قبل أن يعمل أي حاوية أو ينطلق أي خط أنابيب، ثلاثة أشياء يجب أن تكون صحيحة: هيكل الحسابات، وطوبولوجيا الشبكة، وخط أساس الهوية. في أمازون وجوجل ومايكروسوفت، تقضي فرق المنصات أسابيع في هذه القرارات قبل أن يصلها أي حِمل عمل. أخطئ فيها وستقضي السنتين التاليتين في معالجة تبعاتها. أصبها وستنزلق كل طبقة لاحقة — Kubernetes وCI/CD والمراقبة والأمان — في مكانها بسلاسة.
منطقة الهبوط: استراتيجية تعدد الحسابات
منطقة الهبوط (Landing Zone) هي بيئة متعددة الحسابات معدّة مسبقًا ومزوّدة بحواجز حماية قبل أن يلمسها أي فريق. AWS Control Tower وGCP Landing Zone Fabric وAzure Landing Zones تُقنّن كل منها سنوات من الممارسة المؤسسية في خط أساس قابل للتكرار.
المبدأ الجوهري هو عزل نطاق الضرر عبر فصل الحسابات. تسريب بيانات اعتماد أو خطأ إعداد في حاوية تخزين أو تضخّم تكاليف في حساب واحد لا يمكنه الانتشار إلى حساب آخر. هيكل OU منطقي لمنظمة متوسطة إلى كبيرة يبدو هكذا:
- الجذر / حساب الإدارة — جذر AWS Organizations وفوترة موحّدة وصفر أحمال عمل. سياسات التحكم في الخدمات (SCPs) تُرفق هنا كسقف صلاحيات لكل حساب فرعي.
- وحدة الأمان (Security OU) — حساب أرشيف السجلات (يستقبل CloudTrail وVPC Flow Logs ولقطات Config من كل حساب مركزيًا) وحساب أدوات الأمان (GuardDuty وSecurity Hub وإدخال SIEM).
- وحدة البنية التحتية (Infrastructure OU) — حساب الخدمات المشتركة (Transit Gateway وRoute 53 Resolver وECR وإضافات EKS المشتركة) وحساب الشبكة اختياريًا للوصول المركزي.
- وحدة أحمال العمل (Workloads OU) — حساب واحد لكل فريق لكل بيئة (إنتاج، اختبار، تطوير). الفريق الذي يملك ثلاث خدمات صغيرة يشترك في حساب واحد لكل بيئة؛ حسابات منفصلة لكل خدمة تتجاوز حدود الحسابات وتُجزّئ رؤية التكاليف.
- وحدة صندوق الرمل (Sandbox OU) — حسابات تطوير فردية بسياسة إنفاق SCP صارمة ($200/شهر)، تُمسح تلقائيًا أسبوعيًا عبر
aws-nuke.
AWS Control Tower يؤتمت إنشاء الحسابات ويطبّق ضوابط إلزامية. Account Factory for Terraform (AFT) يلفّ هذا في خط أنابيب GitOps بحيث يصبح كل حساب جديد طلب سحب (PR):
تصميم VPC: أساس الشبكة
كل حساب يشغّل أحمال عمل يحصل على VPC مخصص على الأقل. يُحذف VPC الافتراضي عند إنشاء الحساب — يمكن لـ SCP تطبيق ذلك. VPC جاهز للإنتاج في منصة الختام يستخدم نموذج الشبكة الفرعية ثلاثية الطبقات عبر ثلاث مناطق توفر (وليس اثنتين أبدًا — البنية ثنائية المنطقة لديها احتمال 50% للتدهور عند أي حادثة في منطقة واحدة).
هيكل الطبقات وخطة CIDR لـ VPC المنصة في us-east-1 (10.0.0.0/16):
- الشبكات الفرعية العامة (
/24لكل منطقة توفر) — موازنات تحميل ALB وبوابات NAT. لا شيء آخر. لا خوادم تطبيقات أبدًا. - الشبكات الفرعية الخاصة / التطبيق (
/22لكل منطقة توفر) — عُقد EKS وخوادم تطبيقات EC2 ودوال Lambda داخل VPC. الإنترنت الصادر عبر NAT Gateway فقط. - شبكات البيانات الفرعية (
/24لكل منطقة توفر) — RDS وElastiCache وMSK. لا مسار إلى الإنترنت على الإطلاق، حتى NAT.
c5.4xlarge لها حد ENI يبلغ 58 عنوانًا ثانويًا. مجموعة تتوسع إلى 50 عُقدة يمكنها استهلاك 2,900 عنوان IP في منطقة توفر واحدة. الـ /24 (251 عنوانًا صالحًا) سينضب فورًا. استخدم /22 (1,019 عنوانًا صالحًا) أو أكبر لطبقة التطبيق. هذا الخطأ الأكثر شيوعًا في نشر EKS.
الاتصال بين الحسابات يستخدم AWS Transit Gateway (TGW)، لا VPC Peering. الـ Peering شبكة تشابكية — تعقيدها O(n²) مع نمو الحسابات. TGW مركز توزيع؛ جداول التوجيه على TGW تتحكم في أي شبكات VPC تتواصل. VPCs الإنتاج يجب ألا تمتلك مسار TGW إلى VPCs التطوير أبدًا.
خط أساس الهوية في IAM
في اليوم صفر، لخط أساس الهوية هدفان: إزالة بيانات الاعتماد طويلة الأمد وتطبيق مبدأ أقل الامتيازات في افتراض الأدوار. كل هوية بشرية يجب أن تُصادق عبر موفّر الهوية (Okta أو Entra ID أو Google Workspace) من خلال AWS IAM Identity Center (SSO)، لا عبر مستخدمي IAM. لا مهندس يجب أن يملك مفتاح وصول في ~/.aws/credentials في الإنتاج.
الأنماط الرئيسية على مستوى كبار الشركات التقنية:
- مجموعات الصلاحيات في IAM Identity Center — تُعيَّن إلى أدوار IAM في كل حساب. حدّد أربعة مستويات: ReadOnly وDeveloper وPowerUser وAdministrator. أرفق SCPs حتى مجموعة Administrator لا تستطيع تعطيل CloudTrail أو تعديل خط الأساس.
- ثقة OIDC لـ CI/CD — GitHub Actions وGitLab CI وArgoCD تفترض أدوار IAM عبر اتحاد OIDC. لا أسرار ثابتة في CI أبدًا. أداة
aws-actions/configure-aws-credentialsتتولى تبادل الرمز المميز تلقائيًا. - هوية أحمال عمل EC2 وEKS — ملفات تعريف نسخ EC2 وIRSA لـ EKS (أدوار IAM لحسابات الخدمة) تمنح أحمال العمل بيانات اعتماد محدودة النطاق بدون إدارة مفاتيح. كل حساب خدمة يحصل على دوره الخاص بحاويات S3 وجداول DynamoDB التي يحتاجها فقط.
- SCPs كضمانات — احظر
iam:CreateUserوiam:CreateAccessKey(إلا لحساب أتمتة الطوارئ) وحماية الوصول العام لـ S3.
الجمع معًا: تسلسل بناء الأساس
الترتيب الصحيح للإنشاء مهم لأن الطبقات اللاحقة تعتمد على السابقة:
- تفعيل AWS Organizations، تعيين SCPs الجذر (حظر المنطقة، حماية CloudTrail، حظر مستخدمي IAM).
- تشغيل Control Tower مع AFT؛ إنشاء حسابات Security OU أولًا (أرشيف السجلات، أدوات الأمان).
- إعداد IAM Identity Center، الربط بموفّر الهوية، تحديد مجموعات الصلاحيات — قبل أن يسجّل أي إنسان دخوله إلى حساب أحمال العمل.
- إنشاء حسابات أحمال العمل عبر AFT؛ كل تخصيص أساس يشغّل Terraform ينشئ VPC والشبكات الفرعية ومرفق TGW وFlow Logs وقواعد Config ودور IAM للـ OIDC.
- إنشاء سجل CIDR — جدول DynamoDB بسيط أو Terraform State في حاوية S3 مركزية يسجّل كل تخصيص CIDR لـ VPC. بدونه، سيختار فريقان نطاقات متداخلة ويكتشفان ذلك فقط عند محاولة الاتصال.
مع عزل الحسابات وتقسيم الشبكات إلى طبقات وتوجيه الهوية عبر موفّر الهوية بدون بيانات اعتماد طويلة الأمد في أي مكان، لقد أزلت أكثر الأسباب الجذرية شيوعًا لحوادث أمان السحابة. الدرس الثالث يبني منصة Kubernetes فوق هذا الأساس.