تخطَّ إلى المحتوى

☁️ شرح الحوسبة السحابية (AWS)

كيف تُنشئ مستخدم IAM بأقلّ امتياز (Least Privilege)؟

الدرس 30 من 33· ⏱ 1 دقائق قراءة

بعد أن فهمت أساسيات IAM، سننشئ مستخدمًا بصلاحيات محدودة تطبيقًا لمبدأ الأقلّ امتيازًا. درس عملي.

🔒 مراجعة أمنية مطلوبة: الأوامر تمثيلية ويجب تشغيلها في حساب حقيقي؛ تخضع الصفحة لمراجعة متخصّص قبل النشر.

المبدأ أوّلًا

الهدف: منح المستخدم ما يحتاجه فقط. لا تبدأ بصلاحيات واسعة ثم تقلّصها؛ ابدأ من الصفر وأضف ما يلزم. هذا يقلّص الضرر إن تسرّبت بيانات اعتماد المستخدم.

الخطوة 1: أنشئ المستخدم

aws iam create-user --user-name dev-sara

الخطوة 2: عرّف سياسة بأقلّ امتياز

بدل منح وصول كامل، اكتب سياسة تسمح بالإجراءات الضرورية على الموارد المحدّدة فقط. مثال يسمح بقراءة كائنات حاوية واحدة لا أكثر:

{
  "Version": "2012-10-17",
  "Statement": [{
    "Effect": "Allow",
    "Action": ["s3:GetObject"],
    "Resource": "arn:aws:s3:::my-app-bucket/*"
  }]
}

لاحظ الدقّة: إجراء واحد (s3:GetObject) على مورد واحد (حاوية بعينها) — لا s3:* ولا Resource: "*".

الخطوة 3: أنشئ السياسة وأرفقها

aws iam create-policy --policy-name read-app-bucket \
  --policy-document file://policy.json

aws iam attach-user-policy --user-name dev-sara \
  --policy-arn arn:aws:iam::<account-id>:policy/read-app-bucket

أفضل ممارسات الأمان

  • فعّل MFA: أضف مصادقة متعدّدة العوامل للمستخدمين، خصوصًا أصحاب الصلاحيات الحسّاسة.
  • لا تستخدم حساب الجذر للعمل اليومي (راجع أساسيات IAM).
  • استخدم الأدوار للخدمات: بدل تضمين مفاتيح دائمة في خادم أو تطبيق، امنحه دورًا يُتبنّى مؤقّتًا.
  • دوّر المفاتيح وراجع الصلاحيات دوريًا، واحذف غير المستخدم منها.
  • لا تُضمّن المفاتيح في الكود أو في مستودعات عامّة.

الخطوة 4: التنظيف

aws iam detach-user-policy --user-name dev-sara --policy-arn <arn>
aws iam delete-user --user-name dev-sara

الخطوات التالية

تمرّن على كتابة السياسات في تمارين سياسات IAM، وطبّق التأمين على التخزين في تأمين حاوية S3 من الكشف العامّ.

شرح كيف تُنشئ مستخدم IAM بأقلّ امتياز (Least Privilege)؟ — الحوسبة السحابية (AWS) بالعربي
كيف تُنشئ مستخدم IAM بأقلّ امتياز (Least Privilege)؟الحوسبة السحابية (AWS) بالعربي · The Code Fix

هل كان هذا الدرس مفيدًا؟