الدرس 5 من 24

أمان IAM والهوية

أساسيات IAM عبر مزودي السحابة

4 دقيقة للقراءة

إدارة الهوية والوصول (IAM) هي أهم مجال أمني في الحوسبة السحابية. بما أن الهوية هي المحيط في السحابة، فإن الخطأ في IAM يعني أن كل شيء آخر مكشوف.

لماذا IAM الأهم

الإحصائيات واضحة:

  • أخطاء تكوين IAM هي السبب #1 لخروقات السحابة
  • إدارة الهوية والوصول السحابية تقود بـ 34.8% حصة سوقية في برمجيات أمان السحابة (2024)
  • خرق Capital One (100+ مليون سجل) نشأ من دور IAM ذي صلاحيات مفرطة

في الأمان التقليدي، يمكنك امتلاك مصادقة ضعيفة إذا كان لديك دفاع محيطي قوي. في السحابة، لا يوجد محيط—IAM هو دفاعك.

مفاهيم IAM الأساسية

كل مزود سحابة ينفذ هذه المفاهيم الأساسية بشكل مختلف:

المفهوم AWS Azure GCP
خدمة الهوية IAM Microsoft Entra ID Cloud IAM
هوية المستخدم IAM User User Google Account
هوية الخدمة IAM Role Managed Identity Service Account
تجميع الصلاحيات IAM Policy Role Definition IAM Role
تعيين الصلاحيات Role attachment Role Assignment IAM Binding
التحكم على مستوى المورد Resource Policy Scope IAM Conditions

AWS IAM بالتفصيل

أنواع الهوية

┌─────────────────────────────────────────────────────────┐
│                    AWS Account (Root)                    │
├─────────────────────────────────────────────────────────┤
│  IAM Users          │  IAM Roles           │  Groups    │
│  • مستخدمين بشريين   │  • EC2 instances     │  • Admins  │
│  • حسابات خدمة      │  • Lambda functions  │  • Devs    │
│  • بكلمات مرور      │  • عبر الحسابات      │  • قراءة فقط│
│  • بمفاتيح وصول     │  • Federation        │            │
└─────────────────────────────────────────────────────────┘

هيكل السياسة

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowS3ReadOnly",
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::my-bucket",
        "arn:aws:s3:::my-bucket/*"
      ],
      "Condition": {
        "IpAddress": {
          "aws:SourceIp": "10.0.0.0/8"
        }
      }
    }
  ]
}

العناصر الرئيسية:

  • Effect: السماح أو الرفض
  • Action: عمليات API المسموحة
  • Resource: ما ينطبق عليه الإجراء
  • Condition: متى تنطبق السياسة

Azure IAM (Entra ID + RBAC)

Azure يفصل الهوية (Entra ID) عن التفويض (RBAC):

طبقة الهوية (Entra ID)

  • Users: الهويات البشرية
  • Service Principals: هويات التطبيقات
  • Managed Identities: بيانات اعتماد تديرها Azure للخدمات

طبقة التفويض (RBAC)

┌──────────────────────────────────────────────────────────┐
│  Security Principal  →  Role Definition  →  Scope        │
│  (من)                   (ماذا)             (أين)          │
├──────────────────────────────────────────────────────────┤
│  User                   Owner               Subscription  │
│  Group                  Contributor         Resource Group│
│  Service Principal      Reader              Resource      │
│  Managed Identity       Custom Role                       │
└──────────────────────────────────────────────────────────┘

الأدوار المدمجة

الدور الصلاحيات
Owner وصول كامل بما في ذلك RBAC
Contributor وصول كامل باستثناء RBAC
Reader وصول للقراءة فقط
User Access Administrator إدارة RBAC فقط

GCP IAM

GCP يستخدم نموذج التسلسل الهرمي للموارد:

Organization
    └── Folder (اختياري)
        └── Project
            └── Resource

مكونات IAM

  • Member: الهوية (مستخدم، مجموعة، حساب خدمة، نطاق)
  • Role: مجموعة من الصلاحيات
  • Policy: يربط الأعضاء بالأدوار على مورد

ربط السياسة

bindings:
- role: roles/storage.objectViewer
  members:
  - user:developer@example.com
  - serviceAccount:app@project.iam.gserviceaccount.com
- role: roles/storage.admin
  members:
  - group:admins@example.com
  condition:
    expression: "request.time < timestamp('2026-01-01T00:00:00Z')"

ملخص أفضل ممارسات IAM

المبدأ التنفيذ
أقل صلاحيات ابدأ بدون صلاحيات، أضف فقط ما هو مطلوب
لا بيانات اعتماد طويلة المدى استخدم الأدوار/الهويات المدارة، وليس مفاتيح الوصول
MFA في كل مكان اشترط MFA لجميع المستخدمين البشريين
المراجعة المنتظمة دقق الصلاحيات كل ربع سنة
فصل المهام أدوار مختلفة لوظائف مختلفة

التالي، سنفحص أخطر أخطاء تكوين IAM وكيفية تحديدها. :::

اختبار

الوحدة 2: أمان IAM والهوية

خذ الاختبار