استفد من امتيازات توكيد الهوية STS في AWS لإدارة AWS

أنت تواجه صعوبة في إدارة الوصول إلى موارد AWS الخاصة بك مع نمو منظمتك؟ لا داعي للقلق! خدمة AWS Security Token (STS) هنا لإنقاذ اليوم.

باستخدام امتيازات تولي دور AWS STS، يمكنك منح الوصول المؤقت إلى موارد AWS الخاصة بك للمستخدمين والتطبيقات دون الحاجة إلى أوراق اعتماد طويلة الأمد. وفي هذا البرنامج التعليمي، ستتعلم كيفية إدارة مواردك بكفاءة أكبر مع الحفاظ على سلامتها وأمانها.

اقرأ واحصل على سيطرة كاملة على بنية وموارد AWS الخاصة بك بسهولة!

الشروط الأساسية

سيكون هذا البرنامج التعليمي عرضًا عمليًا. لمتابعة، تأكد من أن لديك حساب AWS مع تمكين الفوترة النشطة، ولكن حساب الفئة المجانية يكفي.

إنشاء مستخدم IAM بدون وصول

قبل أن تتمكن من استخدام امتيازات تولي دور AWS STS، يجب أن تقوم أولاً بإنشاء مستخدم IAM بدون أي أذونات تم تعيينها له. قد تبدو هذه الخطوة متناقضة ولكنها ضرورية لأن مستخدمي IAM لا يمكنهم تولي الأدوار مباشرة. يجب عليهم أولاً الحصول على بيانات اعتماد أمان مؤقتة عن طريق تولي دور من خلال خدمة AWS STS.

لإنشاء مستخدم IAM بدون أذونات، اتبع هذه الخطوات:

1. قم بفتح متصفح الويب المفضل لديك، وقم بتسجيل الدخول إلى واجهة تحكم إدارة خدمات أمازون ويب باستخدام حساب AWS الجذر الخاص بك.

2. بعد ذلك، ابحث وحدد IAM من قائمة الخدمات للوصول إلى واجهة تحكم IAM.

Accessing the IAM console

3. على واجهة تحكم IAM، انتقل إلى “المستخدمين” (الجزء الأيسر)، وانقر على “إضافة مستخدم” للبدء في إضافة مستخدم جديد.

Initiating adding a new user

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

  • اسم المستخدم – قم بتقديم اسم للمستخدم الجديد، وحدد خانة الاختيار أدناه لتوفير إمكانية الوصول للمستخدم إلى واجهة تحكم إدارة خدمات أمازون.
  • حدد الخيار “أريد إنشاء مستخدم IAM” حيث أنك تقوم بإنشاء مستخدم IAM.
  • كلمة مرور الواجهة – اختر الخيار “توليد كلمة مرور تلقائية” لتوليد كلمة مرور يمكنك تغييرها لاحقًا.

بمجرد التكوين، انقر فوق “التالي” لمتابعة عملية إنشاء مستخدم IAM.

Configuring the user details

5. في الصفحة التالية، اترك الإعدادات الافتراضية كما هي، وانقر فوق “التالي” لتخطي تعيين أذونات المستخدم.

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

بصلاحيات صفرية، يتم منع المستخدمين من اتخاذ أي إجراء حتى يتولوا دورًا يمنحهم الصلاحيات اللازمة.

Skipping setting permissions

6. بعد ذلك، قم بمراجعة تفاصيل المستخدم التي قمت بتكوينها، وانقر على “إنشاء مستخدم” لإكمال إنشاء مستخدم IAM.

Finalizing creating the new IAM user

7. انسخ واحتفظ بعنوان URL وكلمة مرور المستخدم IAM. ستحتاج إلى هذه المعلومات لتسجيل الدخول باستخدام مستخدم IAM لاحقًا.

Taking note of the IAM user’s sign-in URL and password

8. الآن، عد إلى لوحة التحكم IAM، انتقل إلى صفحة المستخدمين (اللوحة اليسرى)، وانقر على اسم المستخدم الجديد الذي تم إنشاؤه للوصول إلى صفحته الملخصية.

Accessing the newly-created user’s summary page

9. في النهاية، على صفحة الملخص، احرص على اسم المورد في Amazon (ARN)، وهو معرف فريد للمستخدم. ستحتاج إلى هذا ال ARN لاحقًا عندما تخصص دورًا للمستخدم.

Noting down the newly-created user’s ARN

تحضير سياسة ثقة مخصصة

مع إنشاء مستخدم IAM مخصص، أصبحت جاهزًا لتولي الدور، مما يمنحك الوصول إلى موارد AWS. ولكن لكي يتمكن مستخدم IAM من تولي دور، يجب أن يثق الدور أولاً بالمستخدم.

من خلال إنشاء سياسة ثقة مخصصة، ستنشئ “علاقة ثقة” بين مستخدم IAM والدور. تحدد هذه العلاقة الثقة الذين يمكن لهم تولي الدور وتحت أي ظروف.

لتحضير سياسة ثقة مخصصة، اتبع هذه الخطوات:

1. انتقل إلى الأدوار (اللوحة اليسرى) في لوحة تحكم IAM، وانقر على إنشاء دور لبدء إنشاء دور جديد.

Initiating creating a new role

2. بعد ذلك، انقر على خيار السياسة المخصصة لإنشاء سياسة مخصصة.

Choosing to create a custom trust policy

3. أدخل السياسة التالية في الحقل النصي، كما هو موضح أدناه، وانقر على التالي. استبدل YOUR_ARN بـ ARN لمستخدم IAM الخاص بك الذي لاحظته في الخطوة الأخيرة من قسم “إنشاء مستخدم IAM بصلاحية الوصول الصفر”.

أدناه مثال أساسي على سياسة ثقة مخصصة تسمح لمستخدم أو دور IAM محدد بتولي دور IAM مع الحقول التالية:

Field Function
Version Specifies the version of the policy language.
Statement Contains the policy statement(s).
Effect Specifies whether the statement allows or denies access, with Allow, in this case, granting access.
Principal Specifies the entity allowed to assume the role; in this example, it is an empty string.
Action Specifies the action the IAM user or role is allowed to perform. The sts:AssumeRole value allows the user to assume the specified IAM role.
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
               "AWS": "YOUR_ARN"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
Creating a custom trust policy

4. في الصفحة التالية، ابحث عن AmazonEC2FullAccess وحددها من قائمة السياسات المظهرة، ثم انقر على Next. تمنح هذه السياسة وصولًا كاملاً إلى جميع موارد EC2.

Selecting the AmazonEC2FullAccess policy

5. بعد ذلك، قدم اسمًا لسياسة الثقة المخصصة الخاصة بك (على سبيل المثال، AWSEC2FULLACCESS).

provide a name for your custom trust policy

6. اترك إعدادات الأخرى كما هي، وانقر فوق Create role لإنهاء إنشاء الدور.

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

Creating the new role

7. انقر على الدور الذي تم إنشاءه حديثًا، كما هو موضح أدناه، لعرض تفاصيله.

Accessing the role’s details

8. في النهاية، قم بنسخ الرابط لتبديل الأدوار في وحدة التحكم واحتفظ به. ستحتاج إلى هذا الرابط لاحقًا لتبديل الأدوار في وحدة التحكم عند تسجيل الدخول باستخدام مستخدم IAM (sts_user).

Copying the link to switch roles in the console

التبديل والافتراض بدور باستخدام مستخدم IAM

بعد إنشاء الدور، يمكنك الآن افتراض الدور بمستخدم IAM الخاص بك. ستقوم بتسجيل الدخول إلى وحدة التحكم AWS باستخدام مستخدم IAM الخاص بك والتبديل إلى الدور الذي قمت بإنشاءه لاختبار وصول EC2.

لرؤية كيفية التبديل والافتراض بدور باستخدام مستخدم IAM:

1. انتقل إلى عنوان URL لتسجيل الدخول الذي لاحظته في الخطوة السابعة من قسم “إنشاء مستخدم IAM بصفر وصول”، وقم بتسجيل الدخول باستخدام كلمة مرور مستخدم IAM.

?تجنب التعارضات مع حساب الجذر الخاص بك عن طريق تسجيل الدخول باستخدام متصفح مختلف أو نافذة متصفح خفية.

Logging into the AWS Management Console with the IAM user

2. بمجرد تسجيل الدخول، انتقل إلى واجهة تحكم EC2، وسترى العديد من أخطاء واجهة برمجة التطبيقات باللون الأحمر، كما هو موضح أدناه. تشير هذه الأخطاء إلى أن مستخدم IAM ليس لديه الإذن للوصول إلى موارد EC2.

لحل هذه الأخطاء، يجب أن تفترض الدور الذي أنشأته للحصول على وصول إلى جميع موارد EC2 (AWSEC2FULLACCESS) في الخطوة التالية. عندما تفترض دورًا في AWS، تتولى مؤقتًا الصلاحيات المرتبطة بهذا الدور.

Getting errors due to lack of permissions

3. افتح علامة تبويب متصفح جديدة، وانتقل إلى “رابط التبديل بين الأدوار” الذي لاحظته في الخطوة الأخيرة من قسم “إعداد سياسة الثقة المخصصة”.

هذا الرابط هو عنوان URL خاص يأخذك مباشرة إلى صفحة تبديل الدور في واجهة إدارة AWS. تتيح صفحة تبديل الدور لك تولي دور مختلف، مجموعة من الصلاحيات التي تحدد ما إذا كنت يمكن الوصول إليها من موارد AWS.

4. الآن، قدم اسم العرض الوصفي للجلسة، وانقر على “تبديل الدور” لتولي الدور. يساعد اسم العرض في تتبع جلساتك النشطة.

بعد تولي الدور، يعيد متصفحك توجيهك إلى واجهة إدارة AWS بصلاحيات الدور المحدد.

Switching roles

5. انتقل إلى واجهة تحكم EC2 مرة أخرى للتحقق من أن مستخدم IAM قد حصل على وصول إلى موارد EC2.

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

Confirming the IAM user has been successfully granted access to EC2 resources

6. في الختام، انقروا على اسم العرض لجلسة العمل الخاصة بكم (أعلى الزاوية اليمنى) واختاروا “التبديل إلى الوراء” للعودة إلى المستخدم الأصلي لـ IAM.

ستتم إخراجكم من الجلسة الحالية وتسجيل الدخول بصفتكم المستخدم الأصلي لـ IAM بصلاحياته الأصلية. هذا الإجراء هو أفضل ممارسة لتقليل مخاطر أداء أي إجراءات غير مقصودة بطريق الخطأ.

Switching back to the original IAM user

الاستنتاج

من المفترض أن تكون استعارة دور في خدمات AWS ميزة قوية تمكنكم من منح وصول مؤقت للموارد دون مشاركة أوراق اعتمادكم الدائمة. وخلال هذا البرنامج التعليمي، تعلمتم كيفية الاستفادة من امتيازات استعارة دور AWS STS.

في هذه المرحلة، يمكنكم أن تفترضوا بثقة دورًا بصلاحيات محدودة لضمان أمان مواردكم وتقليل الأثر المحتمل لأي إجراءات غير مقصودة أو خبيثة.

واجهة إدارة AWS هي وسيلة ممتازة للبداية مع خدمات AWS مثل استعارة الأدوار. ولكن لماذا لا تجربون استعارة دور عبر واجهة سطر الأوامر لـ AWS (CLI)؟ استكشاف ودمج AWS CLI في نصوص التشغيل التلقائي الخاصة بكم يمكن أن يوفر مزيدًا من الميزات والوظائف المتقدمة.

Source:
https://adamtheautomator.com/aws-sts-assume-role/