IAM في خدمة AWS يمكن أن يكون تحديًا في الاستخدام والفهم، خاصةً بالنسبة للمستخدمين الجدد. لا تقلق! إذا كنت تواجه صعوبة في فهم كيفية عمل IAM في إدارة صلاحيات المستخدم في خدمة AWS، فقد وصلت إلى المكان المناسب لفهم ما يمكن تحقيقه باستخدام IAM.
في هذا البرنامج التعليمي، ستتعلم المفاهيم الأساسية لـ IAM من خلال سلسلة من الأمثلة التي تبني على بعضها البعض.
هل أنت مستعد؟ تنفس عميقًا وانطلق!
المتطلبات الأساسية
سيكون هذا البرنامج التعليمي عرضًا توضيحيًا عمليًا. إذا كنت ترغب في المتابعة، تأكد من توفر جهاز كمبيوتر شخصي وحساب AWS. إذا لم يكن لديك حساب AWS، يتوفر حساب طبقة مجانية.
إنشاء مستخدمين IAM في خدمة AWS
قبل أن تفهم كيفية عمل IAM، ستبدأ هذا البرنامج التعليمي بإنشاء مستخدمين. يمكن استخدام المستخدمين لأغراض مختلفة. ولكن لهذا البرنامج التعليمي، ستقوم بإنشاء مستخدمين ليس لديهم أي صلاحيات، ولا ينتمون إلى أي مجموعات، ولا يمتلكون وصولًا إلى أي شيء على الإطلاق.
1. قم بتسجيل الدخول إلى AWS Console. في هذا العرض التوضيحي، يُستخدم اسم المستخدم “cloud_user”، ولكن اسم المستخدم الخاص بك سيكون مختلفًا.

2. في واجهة إدارة خدمات الويب من AWS، اكتب IAM في مربع البحث، ثم انقر فوق خدمة IAM التي تظهر كما هو موضح أدناه. سيتم توجيه متصفحك إلى لوحة التحكم في IAM.

IAM هي خدمة عالمية، مما يعني أن المستخدمين وصلاحياتهم تنطبق على حساب / منطقة AWS الكامل الخاص بك. إذا كان عدة أشخاص يشتركون في حساب AWS واحد (وهو أمر شائع جدًا، على سبيل المثال في حالة فريق تطوير الشركة بأكملها)، فيجب عليك ضمان دورة عمل IAM الصحيحة.
كما يمكنك إنشاء مثيل EC داخل منطقة us-east. المثيلات هي إقليمية. ومع ذلك، تحكم خدمة إدارة الهوية والوصول في AWS ليست إقليمية. ستنطبق الصلاحيات المخصصة لمستخدم بغض النظر عن المنطقة التي يتصل فيها مستخدمو المثيل EC.

4. على لوحة تحكم IAM، انقر فوق المستخدمين في الجزء الأيسر، ثم انقر على إضافة مستخدمين في أعلى الصفحة لبدء إضافة المستخدمين.

الآن قم بتكوين تفاصيل المستخدم باستخدام الخطوات التالية:
- قدم اسم مستخدم في مجال اسم المستخدم الموضح أدناه. في هذا المثال، يتم تعيين اسم المستخدم إلى user-1.
- فعل خيار كلمة المرور – وصول واجهة إدارة AWS للسماح للمستخدمين بتسجيل الدخول إلى واجهة إدارة AWS.
- حدد الخيار كلمة مرور مخصصة لـ كلمة مرور الواجهة ، وقدم كلمة مرور آمنة في المجال النصي.
- قم بإلغاء تحديد الخيار طلب إعادة تعيين كلمة المرور حتى لا يُطلب من المستخدم إنشاء كلمة مرور جديدة عند التسجيل التالي، ثم انقر على التالي: الأذونات.

5. تخطي إعداد الإذن وانقر على التالي: العلامات لأنك تقوم بإنشاء مستخدم ليس لديه أذونات.

6. تخطي إضافة العلامات أيضًا وانقر على التالي: المراجعة.

7. قم بمراجعة تفاصيل المستخدم وانقر على إنشاء المستخدم لإكمال إنشاء المستخدم.

بعد إنشاء المستخدم، ستحصل على شاشة النجاح مثل الواحدة أدناه.

8. الآن عد إلى صفحة المستخدمين في لوحة التحكم IAM الخاصة بك، وانقر على المستخدم الجديد (مستخدم-1) لعرض معلومات المستخدم. فتح مستخدمك-1

أدناه، تحت علامة الأذونات و المجموعات، يمكنك رؤية أن المستخدم-1 ليس لديه أي أذونات مرتبطة به، وليس عضوًا في أي مجموعات.


في علامة أوراق الأمان، سترى مفاتيح الوصول المختلفة التي قد تمتلكها المستخدم-1. يمكنك تحميل مفتاح SSH العام في هذه العلامة، وهذا رائع لمثيلات AWS EC2 الخاصة بك.

علامة مستشار الوصول يظهر لك الخدمات التي قد دخل عليها المستخدم-1، سواء مباشرة أو عبر خدمات أخرى، جنبًا إلى جنب مع آخر مرة دخول لـ المستخدم-1 هذه الخدمة.

9. أخيرًا، كرر العملية (الخطوات من ثلاث إلى سبعة) لإنشاء مستخدمين آخرين اثنين (مستخدم-2 ومستخدم-3). عد إلى صفحة المستخدمين في لوحة التحكم IAM الخاصة بك وسترى قائمة مشابهة لتلك الموجودة أدناه.

إنشاء مجموعات المستخدمين
الآن بعد أن قمت بإنشاء المستخدمين، حان الوقت لإنشاء المجموعات. ستقوم بإنشاء المجموعات باستخدام سياسة إدارية مُدارة بواسطة خدمة AWS وملف JSON.
لهذا البرنامج التعليمي، ستقوم بإنشاء ثلاث مجموعات:
- EC2-Admin: توفير أذونات لعرض وبدء وإيقاف حالة حالات EC2
- EC2-Support: توفير وصول قراءة فقط إلى EC2
- S3-Support: توفير وصول قراءة فقط إلى S3
لبدء إنشاء مجموعات المستخدمين:
1. في لوحة التحكم IAM الخاصة بك، انقر على مجموعات المستخدمين في اللوحة الجانبية اليسرى، ثم انقر على إنشاء مجموعة.
2. قدم اسم مجموعة المستخدم (EC2-Admin) على صفحة إنشاء مجموعة المستخدم، كما هو موضح أدناه.

احتفظ بالأذونات الافتراضية وانقر على إنشاء المجموعة لإكمال إنشاء مجموعة EC2-Admin.

بمجرد إنشاء المجموعة الجديدة، ستحصل على رسالة تم إنشاء مجموعة مستخدمي EC2-Admin في أعلى الصفحة، كما هو موضح أدناه. يتم توجيه المتصفح الخاص بك بعد ذلك إلى صفحة مجموعات المستخدمين تلقائيًا (الخطوة الثالثة).

3. انقر على EC2-Admin في المجموعة تحت عنوان اسم المجموعة لعرض معلومات ملخص المجموعة حيث يمكنك إضافة سياسات مضمنة (الخطوة الرابعة).

4. الآن انقر على علامة التبويب الأذونات —> إضافة أذونات —> إنشاء سياسة مضمنة لإنشاء سياسة مضمنة. تكون السياسات المضمنة عادة مرتبطة مباشرة بالمستخدمين وتُستخدم عادة لتطبيق الأذونات في حالات الحاجة.
على سبيل المثال، يقوم فريقك بترحيل بيئة EC2 القديمة إلى واحدة جديدة. ترغب في التأكد من أن المسؤول عن النسخة القديمة من EC2 لديه الوصول لبدء/إيقاف ونسخ إعدادات مجموعة الأمان إلى النسخة الجديدة من EC2.

5. في صفحة إنشاء السياسة، انقر فوق علامة التبويب JSON الموضحة أدناه لفتح محرر JSON حيث ستقوم بإنشاء سياسة.

6. الصق الكود (السياسة) أدناه في حقل المحرر وانقر فوق مراجعة السياسة لإنشاء سياسة مضمنة. هذه السياسة المضمنة مبنية مسبقًا سواء من قبل AWS أو مسؤول داخل حساب AWS الخاص بك يمكنك استخدامها أو تخصيصها أو تحريرها لتناسب احتياجاتك الدقيقة.
بهذه السياسة، يُسمح لأعضاء مجموعة EC2-Admin ببدء ("ec2:StartInstances"
)، وإيقاف ("ec2:StopInstances"
)، وعرض ("ec2:Describe*"
) حالات EC2. يتم السماح ("Effect": "Allow"
) لهم بتنفيذ الإجراءات على جميع الموارد ("Resource": "*"
). هذه الإجراءات مرتبطة بالاتصالات البرمجية أو API لخدمات AWS بشكل أساسي.
كما يحصل أعضاء مجموعة EC2-Admin على إذن لعرض جميع التوازنات المرنة (Action": "elasticloadbalancing:Describe
), وقائمة المقاييس (cloudwatch:ListMetrics
), الحصول على إحصائيات المقاييس cloudwatch:GetMetricStatistics
, ووصف المقاييس (cloudwatch:Describe
).
تم تكوين مقاييس CloudWatch تلقائيًا مع نسخة EC الخاصة بك، ونفس الشيء ينطبق على خدمة Auto Scaling.

7. قم بمراجعة ملخص السياسة وانقر فوق حفظ التغييرات لحفظ السياسة.

8. الآن، انتقل إلى لوحة التحكم IAM الخاصة بك مرة أخرى وابدأ في إنشاء مجموعة كما فعلت في الخطوة الثانية. ولكن هذه المرة، قم بتسمية اسم مجموعة المستخدم بوصفها EC2-Support.
انتقل للأسفل، ابحث عن AmazonEC2ReadOnlyAccess في صندوق البحث صندوق بحث أذونات الوصول لربط تلك السياسة بالمجموعة (EC2-Support):
AmazonEC2ReadOnlyAccess هي سياسة قابلة للإدارة مشابهة لسياسة مضمنة حيث يمكن ربطها أيضًا بعدة مستخدمين أو مجموعات مستخدمين. ولكن على عكس السياسة المضمنة، يمكن إعادة استخدام هذا النوع من السياسات التي تم إنشاؤها من قبل المسؤولين ويمكن مشاركتها عبر منظمتك أو مع جميع حسابات AWS في حسابك.
A managed policy is a shared policy. As a result, all users or groups of users who use the shared policy will have updated permissions automatically when the policy is updated.
تجعل ميزة التحديث التلقائي هذه السياسات القابلة للإدارة أكثر جاذبية من السياسات المضمنة. مع السياسات المضمنة، يتعين على المسؤول تحديث كل إذن إذا تغيرت السياسة.
حدد الخيار AmazonEC2ReadOnlyAccess وانقر على إنشاء مجموعة لإتمام إنشاء المجموعة.

10. الآن، كرر الخطوات من ثمانية إلى تسعة لإنشاء مجموعة S3-Support مع سياسة قابلة للإدارة AmazonS3ReadOnlyAccess. بمجرد إنشاء مجموعة S3-Support، ستحصل على قائمة من المجموعات مماثلة لتلك التي تظهر في الجدول أدناه والتي توضح أذونات كل مجموعة.

إضافة المستخدمين إلى مجموعاتهم المناسبة
لقد قمت بإنشاء المستخدمين والمجموعات ذات الأذونات المحددة. الآن، حان الوقت لإضافة المستخدمين إلى مجموعاتهم المناسبة. ستقوم بفتح صفحة ملخص كل مجموعة وإضافة مستخدم يدويًا إلى تلك المجموعة.
يظهر الجدول أدناه المجموعات المناسبة حيث ستقوم بإضافة كل مستخدم:
Users | In-group | Permissions |
---|---|---|
user-1 | S3-Support | Read-only access to S3 Bucket |
user-2 | EC2-Support | Read-only access to EC2 Instance |
user-3 | EC2-Admin | Full EC2 Access (View/Start/Stop) |
\begin{Arabic}
1. في لوحة تحكم IAM الخاصة بك، انتقل إلى صفحة مجموعات المستخدمين، وانقر على مجموعة S3-Support المعروضة أدناه للوصول إلى صفحة ملخص المجموعة.

2. بعد ذلك، انقر على علامة التبويب المستخدمون -> إضافة مستخدمين لتهيئة إضافة المستخدمين إلى المجموعة. يتم توجيه متصفحك إلى صفحة حيث سترى قائمة بالمستخدمين الذين لا ينتمون إلى أي مجموعة بعد (الخطوة الثالثة).

3. حدد المربع أمام user-1، ثم انقر على إضافة مستخدمين لإضافة المستخدم إلى مجموعة S3-Support. يتم توجيه متصفحك تلقائيًا إلى صفحة ملخص مجموعة S3-Support.

فيما أدناه، يمكنك أن ترى أن user-1 الآن جزء من مجموعة S3-Support.

4. كرر الخطوات من واحد إلى ثلاثة لإضافة user-2 و user-3 إلى مجموعاتهم المناسبة.
5. أخيرًا، انتقل إلى صفحة مجموعات المستخدمين وسترى أن المجموعات لديها الآن مستخدم واحد كل، كما في الصورة أدناه.

اختبار أذونات المستخدمين للتحقق من أنها تعمل بشكل صحيح
لقد قمت بإنشاء مستخدمين تمامًا في مجموعاتهم الخاصة بأذونات محددة. ولكن كيف تعرف ما إذا كانت تعمل؟ حان الوقت للتحقق من أن الأذونات تعمل كما هو متوقع، وهناك طرق متعددة للقيام بذلك. واحدة من أكثر الطرق شيوعًا هي باستخدام واجهة إدارة AWS القائمة على الويب.
1. انتقل إلى لوحة تحكم IAM الخاصة بك وانسخ عنوان URL الخاص بتسجيل الدخول لمستخدم IAM على اللوحة الجانبية اليمنى، كما هو موضح أدناه.

2. على متصفح الويب الخاص بك، انتقل إلى عنوان URL لتسجيل الدخول الذي قمت بنسخه سابقًا (الخطوة الأولى)، وقم بتسجيل الدخول باستخدام بيانات اعتماد user-1. يُفضل استخدام متصفحي Google Chrome و Firefox لهذه المهمة.
\end{Arabic}

3. اكتب S3 في مربع البحث، وانقر على الرابط S3 الموضح أدناه للوصول إلى صفحة دلاء Amazon S3 .

4. الآن، انقر على إنشاء دلو لبدء إنشاء دلو S3 .

5. أدخل اسم دلو تحت قسم التكوين العام، ثم انقر على إنشاء دلو لمحاولة إنشاء دلو S3.


إذا تذكرت، قمت بتعليق سياسة AmazonS3ReadOnlyAccess على المستخدم 1، والتي تمنح المستخدم 1 إذنًا للقراءة فقط لعرض دلاء S3. نتيجة لذلك، إذا حاول المستخدم 1 إنشاء أو حذف أو تحديث دلو S3، سيظهر رسالة الخطأ الموضحة أدناه.
تشير رسالة الخطأ أدناه إلى أن الإذن الذي قمت بتعيينه للمستخدم 1 يعمل بشكل صحيح.

لاحظ أيضًا أن المستخدم 1 ليس لديه أي أذونات EC2. لذا للتحقق مرة أخرى، انتقل إلى لوحة تحكم EC2 الخاصة بك، وستحصل على العديد من رسائل الخطأ في واجهة برمجة التطبيقات التي تظهر مثلما في اللقطة أدناه.
تحصل على هذه الأخطاء بسبب مبدأ الامتياز الأدنى (PoLP). يعتبر PoLP مفهومًا ينص على أن أي حساب مستخدم أو عملية في نظام التشغيل يجب أن يكون لديه أدنى الامتيازات اللازمة لإتمام المهمة المطلوبة.

6. الآن، قم بتسجيل الخروج من حساب المستخدم-1 وتسجيل الدخول باسم المستخدم-2، ثم انتقل إلى لوحة التحكم الخاصة بك EC2.

7. انقر على أي مثيل EC2 قيد التشغيل لعرض أذونات المستخدم-2. كما هو مبين أدناه، ستحصل على معلومات حول المثيل مثل معرف المثيل، عنوان IPv4 العام، وما إلى ذلك.

8. انقر على حالة المثيل في أقصى الجزء الأيمن من الصفحة، ثم اختر إما إيقاف تشغيل المثيل، إعادة تشغيل المثيل، أو إنهاء المثيل لاختبار صلاحية أذونات المستخدم-2.

تذكر أن المستخدم-2 لديه فقط صلاحية للوصول بالقراءة إلى مثيلات EC2 (AmazonEC2ReadOnlyAccess). لذا، إذا حاول مستخدم تلاعب المثيل EC2، ستظهر رسالة الخطأ أدناه.
إذا ظهرت الرسالة أدناه، فهذا يشير إلى أن صلاحية المستخدم-2 تعمل بشكل صحيح.

9. أخيرًا، قم بتسجيل الخروج من المستخدم-2، ثم قم بتسجيل الدخول باسم المستخدم-3 وحاول التلاعب بأي مثيلات EC2 التي تعمل في حسابك. نظرًا لأن المستخدم-3 لديه صلاحية كاملة لـ EC2، يمكنك بدء تشغيل المثيل، إيقاف تشغيله أو إنهائه دون الحصول على رسالة خطأ.
الاستنتاج
خلال هذا البرنامج التعليمي ، تعلمت كيفية إنشاء مستخدمي IAM ومجموعات المستخدمين بسياسات معرفة. لمست أيضًا كيفية التحقق مما إذا كانت الأذونات تعمل كما هو مقصود عن طريق محاولة تغيير حالة مثيل EC2 ومحاولة إنشاء حاوية S3.
في هذه النقطة ، لديك الآن الإعداد الأساسي لمستخدمي IAM ومجموعات لإدارة أذونات المستخدمين. بالطبع ، يمكنك دائمًا إضافة المزيد من المستخدمين إلى حسابك وتطبيق المزيد من السياسات حسب الحاجة.
الآن ، ما هو الخطوة التالية للاستفادة من المعرفة الجديدة الخاصة بك؟ ربما يجب أن تبحث في إعداد خدمات EC2 الخاصة بك في التوازن التلقائي للعمل مع IAM.