كيف تتولى دور IAM باستخدام AWS CLI؟

Kyf Ttwly Dwr Iam Bastkhdam Aws Cli



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

مخطط سريع

في هذه المقالة سوف تتعرف على:







ما هو دور AWS IAM؟
ما هو الدور المفترض في AWS؟
كيف تتولى دور IAM باستخدام AWS CLI؟



افكار اخيرة



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





ما هو دور AWS IAM؟

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

يشبه دور IAM إلى حد كبير دور مستخدم IAM فيما عدا أن دور IAM هو هوية ذات أذونات معينة بينما يمكن للمستخدم تولي هذه الأدوار لأداء وظائف معينة. تحدد الأذونات الممنوحة للدور الإجراءات التي يمكن اتخاذها بهذه الهوية (دور IAM).



ما هو الدور المفترض في AWS؟

يعد دور افتراض إحدى وظائف خدمة AWS IAM التي تسمح للمستخدم بالتعامل مع خدمات AWS على الرغم من عدم تعيين أذونات الوصول إلى المورد أو معالجته داخل الخدمة للمستخدم. يتم تعيين هذه الأذونات بشكل غير مباشر للمستخدم عند افتراض الدور. يتم استخدام مجموعة من بيانات الاعتماد المؤقتة إلى جانب تسجيل الدخول المستند إلى الجلسة للوصول إلى موارد AWS.

تتضمن بيانات الاعتماد المؤقتة هذه مفتاح الوصول السري ومعرف مفتاح الوصول ورمز الأمان. يمكن للمستخدمين الآخرين داخل حساب AWS أو هؤلاء المستخدمين الذين تم ذكر ARN الخاص بهم في سياسة الدور أن يتولىوا أدوار IAM التي أنشأها مستخدم AWS الجذر. تُعرف السياسة التي تحتوي على ARN للمستخدمين أو الموارد باسم سياسة الثقة .

ما هو الفرق بين سياسة الإذن وسياسة الثقة؟

قبل تنفيذ وظيفة افتراض الدور عبر طرق مختلفة، هناك مفهومان أساسيان يجب أن يفهمهما المستخدم. هناك نوعان من السياسات في خدمة IAM:

    • سياسة الثقة: تحدد سياسة الثقة من يمكنه تولي دور IAM محدد. لكي يتولى المستخدم الدور، يتم ذكر ARN الخاص بالمستخدم في سياسة الثقة الخاصة بدور IAM. تحدد سياسة الثقة هذه ما إذا كان المستخدم أو الموارد كيانًا موثوقًا به لتولي هذا الدور.
    • سياسة الإذن: تحدد هذه السياسة ما يمكن للمستخدم فعله أو الإجراءات التي يمكن تنفيذها بهذا الدور.

كيف تتولى دور IAM باستخدام AWS CLI؟

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

دعونا نفهم عمل وظيفة افتراض الدور من خلال النظر في المثال التالي.

على سبيل المثال، يوجد مستخدم داخل حساب AWS ولم يتم تعيينه لأي أذونات لحاوية S3. ال ''الوصول للقراءة فقط'' تسمى سياسة الأذونات المرتبطة بدور IAM. لكي يتولى المستخدم هذا الدور، يتم ذكر ARN الخاص بالمستخدم في سياسة دور IAM. تسمى هذه السياسة الآن باسم 'سياسة الثقة' وهي مختلفة عن سياسة الأذونات. تعد سياسة الثقة أمرًا بالغ الأهمية لأنها تساعد AWS في تحديد ما إذا كان المستخدم كيانًا معتمدًا أم لا.

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

فيما يلي الطرق الثلاث لتولي دور مع AWS CLI:

الطريقة الأولى: استخدام STS (خدمة رمز الأمان)

يمكن للمستخدمين تولي دور من خلال تنفيذ الأوامر الموجودة في قسم STS (خدمة الرمز المميز الآمن) والتي تقوم بإرجاع مجموعة من بيانات الاعتماد المؤقتة. يتم استخدام بيانات الاعتماد المؤقتة لإنشاء تسجيل دخول يستند إلى الجلسة لإجراء استدعاءات API للموارد. ومع ذلك، هناك استثناءان أثناء استخدام STS أي، GetFederationToken و GetSessionToken.

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

في هذا القسم من المقالة، سنطلب مجموعة من بيانات الاعتماد المؤقتة باستخدام أوامر STS. وفيما يلي الخطوات:

الخطوة 1: إنشاء المستخدم وسياسة المستخدم

أولا، سوف نقوم بذلك إنشاء مستخدم IAM بدون أذونات. لهذا الغرض، افتح كمد من قائمة ابدأ في الويندوز:


فقط المستخدم الجذر يستطيع يخلق ان مستخدم IAM داخل حساب AWS. لذلك، قم بتسجيل الدخول إلى حساب AWS الجذر باستخدام الأمر التالي:

تكوين أوس


تم تكوين بيانات الاعتماد بالفعل داخل واجهة سطر الأوامر (CLI) لهذا العرض التوضيحي كما هو موضح في مخرجات الأمر:


يتعلم أكثر:

ل إنشاء مستخدم IAM ، قم بتوفير الأمر التالي لـ CLI:

aws أنا أقوم بإنشاء مستخدم --اسم المستخدم مستخدم تجريبي


استبدل مستخدم تجريبي مع الخاص بك اسم مستخدم IAM.

احفظ 'آرن' الواردة في إخراج الأمر كما سيكون مطلوب متى خلق ال سياسة الثقة :


اقرأ أكثر:

الخطوة التالية هي يسمح المستخدم (المستخدم التجريبي ) ل تولي دورا . ولهذا الغرض، قم بإنشاء ملف JSON باستخدام أي محرر النص انت تفضل. لهذا العرض، استخدمنا المفكرة كما هو محدد في الأمر المذكور أدناه:

للنوافذ

المفكرة user-policy.json


استبدل سياسة المستخدم مع اسم سياسة IAM الخاصة بك.

لنظام التشغيل لينكس

لأن user-policy.json


في الوقت الحالي، نستخدم نظام التشغيل Windows لهذا العرض التوضيحي:


سيؤدي هذا إلى فتح المفكرة. الصق السياسة التالية في المفكرة ثم اضغط 'CTRL + S' من لوحة المفاتيح لحفظ التغييرات:

{
'إصدار' : '2012-10-17' ,
'إفادة' : [
{
'تأثير' : 'يسمح' ,
'فعل' : [
'ec2:وصف*' ,
'أنا: قائمة الأدوار' ,
'ستس: افترض الدور'
] ,
'المورد' : '*'
}
]
}


وفيما يلي وصف موجز للسياسة المحددة:

    • ec2:وصف: يحدد هذا الإذن أنه يمكن للمستخدم عرض أو إدراج جميع وحدات AMI أو اللقطات أو مثيلات EC2
    • لام:قائمة الأدوار: يحدد هذا الإذن أنه يمكن للمستخدم إدراج جميع الأدوار داخل خدمة IAM.
    • ستس:افترض الدور: يمثل هذا الإذن أنه يمكن للمستخدم تولي دور محدد داخل خدمة IAM.

هنا، تم تعديل السياسة داخل المفكرة وحفظها:


كل AWS الموارد تم تعيين اسم مورد الوصول (ARN) أيّ يحدد بشكل فريد المورد. لتحديد ARN للسياسة، استخدم الأمر المذكور أدناه.

aws أنا خلق السياسة --اسم السياسة سياسة المستخدم --وثيقة سياسة ملف: // user-policy.json


في الأمر المذكور أعلاه:

    • -اسم السياسة: استبدل القيمة 'سياسة المستخدم' مع أي اسم السياسة التي تفضلها.
    • -وثيقة سياسة: في هذا الحقل، استبدل ' سياسة المستخدم.json' باسم ملف json الذي يحتوي على سياسة المستخدم.

إخراج الأمر المذكور أعلاه هو كما يلي. احفظ 'آرن' المذكورة في مخرجات السياسة حيث أنها ستكون مطلوبة عند إرفاق هذه السياسة مع المستخدم:

الخطوة 2: إرفاق السياسة مع المستخدم

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

لإرفاق السياسة مع المستخدم الذي تم إنشاؤه مسبقًا في هذا القسم، استخدم الأمر التالي:

aws أنا أرفق سياسة المستخدم --اسم المستخدم مستخدم تجريبي --policy-arn 'arn:aws:iam::123456789:السياسة/سياسة المستخدم'


في الأمر المذكور أعلاه:

    • -اسم المستخدم: استبدل 'المستخدم التجريبي' في ال -اسم المستخدم الحقل مع اسم مستخدم IAM الخاص بك.
    • –سياسة-ar: وبالمثل، في - سياسة آرن، حدد ال 'آرن' من مخرجات الأمر السابق، أي – create-policy.

وبتنفيذ الأمر بعد إجراء التغييرات المطلوبة، تم ربط السياسة بالمستخدم بنجاح:


للتحقق من إرفاق السياسة بالمستخدم، قم بتوفير الأمر التالي إلى واجهة سطر الأوامر:

aws iam قائمة سياسات المستخدم المرفقة --اسم المستخدم مستخدم تجريبي


استبدل مستخدم تجريبي مع IAM الخاص بك اسم المستخدم المحددة أثناء إنشاء المستخدم.

يتحقق إخراج الأمر التالي من أن السياسة قد تم إرفاقها بالمستخدم بنجاح:

الخطوة 3: إنشاء سياسة الثقة ودور IAM

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

في هذه الخطوة، سنقوم بإنشاء سياسة تحدد علاقة الثقة بين دور IAM والمستخدم. سيتم إرفاق سياسة الثقة هذه بدور IAM. سيتم بعد ذلك تولي دور IAM من قبل المستخدم والذي سيسمح للمستخدم بشكل غير مباشر بتنفيذ الإجراءات المحددة في السياسة.

لإنشاء سياسة الثقة، يتم إعطاء الأوامر كما يلي:

للنوافذ

المفكرة الثقة دور سياسة.json


استبدل Trust-role-policy.json مع الاسم الذي تفضله للسياسة.

لنظام التشغيل لينكس

لأن Trust-role-policy.json


استبدل Trust-role-policy.json مع الاسم الذي تفضله للسياسة.

سياسة الثقة تتبع تنسيق جيسون كما هو محدد من قبل .json التمديد في الأمر التالي:


سيؤدي هذا إلى فتح المفكرة. معجون الأتى سياسة داخل المفكرة واضغط على 'CTRL + S' زر من لوحة المفاتيح لحفظ التغييرات. يمكن أيضًا نسخ ARN الخاص بالمستخدم من لوحة معلومات المستخدم بوحدة تحكم IAM. لهذا الغرض، قم بزيارة لوحة معلومات IAM وانقر فوق اسم المستخدم. من التكوين المعروض، انسخ ARN الخاص بالمستخدم الذي يتم عرضه ضمن قسم الملخص.:

{
'إصدار' : '2012-10-17' ,
'إفادة' : {
'تأثير' : 'يسمح' ,
'رئيسي' : {
'أوس' : 'arn:aws:iam::123456789012:user/example-user'
} ,
'فعل' : 'ستس: افترض الدور'
}
}


وفي السياسة المذكورة أعلاه:

    • خدمات أمازون ويب: استبدل قيمة حقل AWS 'arn:aws:iam::123456789012:user/example-user' مع ARN للمستخدم والذي تم عرضه في مخرجات الأمر – create-user.

يمكن للمستخدم تقييد المستخدمين الآخرين من تولي دور IAM عن طريق تحديد ARN الخاص بالمستخدم في ملف 'أمازون ويب سيرفيسز' مجال:


اقرأ أكثر:

الآن، قم بإنشاء دور IAM وأرفق سياسة الثقة به. لإنشاء دور IAM، استخدم الأمر المذكور أدناه:

aws أنا أقوم بإنشاء دور --اسم الدور دور المستخدم --تحمل-دور-سياسة-وثيقة ملف: // Trust-role-policy.json


وفيما يلي وصف الحقول المذكورة أعلاه:

    • -اسم الدور: يُستخدم هذا الحقل لإدخال الاسم الذي سيتم تعيينه لدور IAM هذا. استبدل قيمة 'دور المستخدم' باسم دور IAM الذي تختاره.
    • -تولي-دور-وثيقة السياسة: في هذا الحقل حدد المسار كما هو موضح في الأمر. استبدل Trust-role-policy.json باسم السياسة كما حددته في القسم السابق.

من خلال تنفيذ هذا الأمر، فإنه سيعيد عدة أجزاء من المعلومات في المخرجات، على سبيل المثال، ARN، وPath، وID، وما إلى ذلك:


اقرأ أكثر:

عند تولي هذا الدور، سيكون المستخدم قادرًا على أداء 'الوصول للقراءة فقط' العمل مع دلو S3. يتم إعطاء الأمر على النحو التالي:

aws أنا أرفق سياسة الدور --اسم الدور دور المستخدم --policy-arn 'arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess'


في الأمر أعلاه:

    • -اسم الدور: يستبدل ' دور المستخدم' في الحقل –اسم الدور مع اسم دور IAM التي حددتها سابقًا في هذا البرنامج التعليمي.
    • –سياسة-ar: يشير Arn المحدد في –policy-arn إلى إذن ReadOnlyAccess لحاوية S3.

في هذه الصورة، تم تعيين إذن ReadOnlyAccess للدور لحاوية S3:


للتحقق مما إذا كان قد تم تعيين الإذن للدور أم لا، استخدم الأمر التالي:

aws أنا قائمة سياسات الأدوار المرفقة --اسم الدور دور المستخدم


استبدل 'دور المستخدم' مع اسم دور IAM الخاص بك.

ال 'AmazonS3ReadOnlyAccess' تم إرفاق الإذن بدور IAM. يتم إعطاء إخراج الأمر على النحو التالي:

الخطوة 4: إنشاء مفاتيح الوصول

في هذا القسم، سنقوم بإنشاء مفاتيح الوصول للمستخدم. سيتم استخدام مفاتيح الوصول لتسجيل الدخول إلى حساب AWS:

aws أنا إنشاء مفتاح الوصول --اسم المستخدم مستخدم تجريبي


استبدل مستخدم تجريبي باستخدام اسم مستخدم IAM الخاص بك الذي تم تقديمه في وقت إنشاء المستخدم.

هنا، أعاد الأمر مجموعة من أزواج مفاتيح الوصول (AccessKeyId وSecret Access Key) مع تفاصيل إضافية مثل تاريخ الإنشاء والحالة وما إلى ذلك. يحفظ AccessKeyId وSecretAccessKey كما هو مطلوب لاحقًا في البرنامج التعليمي:


اقرأ أكثر:

الخطوة 5: تكوين مفتاح الوصول والتحقق من مستخدم IAM

لتكوين مفتاح الوصول، قم بتوفير الأمر التالي إلى CMD ثم أدخل معرف مفتاح الوصول ومفتاح الوصول السري:

تكوين أوس


قم بتوفير معرف مفتاح الوصول ومفتاح الوصول السري إلى واجهة سطر الأوامر (CLI) التي تم إنشاؤها في الخطوة 4 من هذا القسم. بالنسبة للمنطقة، احتفظنا بالإعدادات الافتراضية. يمكن للمستخدمين تكوين أي تنسيق إخراج لتنسيق الإخراج الافتراضي. في هذا العرض التوضيحي، قمنا بتحديد JSON شكل:


للتحقق من تكوين مستخدم IAM، قم بتوفير الأمر التالي إلى واجهة سطر الأوامر:

aws sts الحصول على هوية المتصل


يشير إخراج الأمر إلى أن 'المستخدم التجريبي' تم تكوينه بنجاح، وتم تسجيل الدخول حاليًا إلى حساب AWS:


لتحديد أن مستخدم IAM يمكنه إدراج مثيلات EC2 وليس لديه حق الوصول إلى حاوية S3 حاليًا، استخدم الأمر التالي:

مثيلات وصف aws ec2 --استفسار 'الحجوزات[*].Instances[*].[VpcId, InstanceId, ImageId, InstanceType]'


يتم إعطاء إخراج الأمر على النحو التالي:


الآن، قم بتوفير الأمر التالي للتحقق مما إذا كان بإمكان المستخدم الوصول إلى مجموعة S3:

aws s3 ليرة سورية


سيعرض هذا 'تم الرفض' خطأ يشير إلى أنه غير مسموح للمستخدم بالوصول إلى مجموعة S3:

الخطوة 6: تولي دور IAM

لدى المستخدم إذن لإدراج أدوار IAM داخل حساب AWS. ولذلك، لتولي الدور، سوف نحصل أولاً على المعلومات الضرورية مثل ARN عن طريق تنفيذ الأمر التالي:

aws أنا قائمة الأدوار --استفسار 'الأدوار[?RoleName == 'user-role'].[RoleName, Arn]'


استبدل 'دور المستخدم' باسم دور IAM في الحقل 'اسم الدور'.

تم تقديم ARN في إخراج الأمر المذكور أعلاه:


الآن بعد أن حصلنا على ARN لدور IAM، يمكننا تولي الدور باستخدام الأمر التالي:

aws sts تتولى الدور --role-arn 'arn:aws:iam::123456789012:دور/مثال لدور' --اسم جلسة الدور جلسة AWSCLI


في الأمر أعلاه:

    • -الدور: استبدل القيمة المذكورة لـ –role-arn بـ ARN الخاص بدور IAM.
    • -اسم جلسة الدور: يمكن للمستخدم تقديم أي اسم مفضل لهذا الحقل.

من خلال تنفيذ الأمر المذكور أعلاه، تم إرجاع مجموعة من بيانات الاعتماد المؤقتة. سيتم استخدام بيانات الاعتماد المؤقتة هذه لتولي دور IAM بالإذن المطلوب، مثل ReadOnlyAccess. سيتم استخدام AccessKeyId وSecretAccessKey أثناء تكوين بيانات الاعتماد المؤقتة هذه:


وفيما يلي وصف موجز لإخراج الأمر:

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

الخطوة 7: تكوين متغير البيئة

لتكوين بيانات الاعتماد المؤقتة، سنستخدم الأمر 'set' لنظام التشغيل Windows ثم نوفر قيمة معرف مفتاح الوصول، ومفتاح الوصول السري، ورمز الجلسة، وما إلى ذلك:

للنوافذ

تعيين AWS_ACCESS_KEY_ID =RoleAccessKeyID


استبدل roleAccessKeyID بمعرف مفتاح الوصول الذي تم إرجاعه بواسطة الأمر في الخطوة 6.

لنظام التشغيل لينكس

يصدّر AWS_ACCESS_KEY_ID =RoleAccessKeyID


استبدل roleAccessKeyID بمعرف مفتاح الوصول الذي تم إرجاعه بواسطة الأمر في الخطوة 6.

تم تكوين مفتاح الوصول:


بعد ذلك، سنقوم بتكوين مفتاح الوصول السري باستخدام الأمر 'set' لنظام التشغيل Windows:

للنوافذ

تعيين AWS_SECRET_ACCESS_KEY =RoleSecretKey


استبدل RoleSecretKey بقيمة مفتاح الوصول السري التي تم إرجاعها بواسطة الأمر في الخطوة 6.

لنظام التشغيل لينكس

يصدّر AWS_SECRET_ACCESS_KEY =RoleSecretKey


استبدل AWS_SECRET_ACCESS_KEY بمفتاح الوصول السري الذي تم إرجاعه بواسطة الأمر في الخطوة 6.

تم تكوين مفتاح الوصول السري بنجاح:


وأخيرًا، سنقوم بتكوين رمز الجلسة لإنشاء تسجيل الدخول المستند إلى الجلسة. لهذا الغرض، استخدم الأمر المذكور أدناه:

للنوافذ

تعيين AWS_SESSION_TOKEN =RoleSessionToken


استبدل roleSessionToken بقيمة رمز الجلسة التي تم إرجاعها بواسطة الأمر في الخطوة 6.

لنظام التشغيل لينكس

يصدّر AWS_SESSION_TOKEN =RoleSessionToken


استبدل roleSessionToken بقيمة رمز الجلسة التي تم إرجاعها بواسطة الأمر في الخطوة 6.

تم تكوين قيمة رمز الجلسة بنجاح:


لنسخ قيمة رمز الجلسة من CMD، اضغط على 'CTRL + SHIFT + C' .

بعد تكوين متغيرات البيئة، تحقق باستخدام الأمر التالي إذا كان المستخدم قد تولى الدور:

aws sts الحصول على هوية المتصل


يتحقق إخراج الأمر من وجود دور IAM يفترض بنجاح من قبل المستخدم كما هو الحال مع عودة ARN 'arn:aws:sts::123456789012:الدور المفترض/دور المستخدم/جلسة AWSCLI' بدلاً من 'arn:aws:iam::123456789012:user/demo-user':


وبما أن الدور يحتوي على إذن ReadOnlyAccess، فيجب أن يكون المستخدم قادرًا على إدراج المجموعات الآن. لهذا الغرض، قم بتوفير الأمر التالي لـ CLI:

aws s3 ليرة سورية


يقوم مخرج الأمر بنجاح بإدراج كل مجموعة S3 التي تم تكوينها حاليًا داخل حساب AWS:


ومع ذلك، لن يتمكن المستخدم من الوصول إلى خدمة EC2 لأن الدور المفترض ليس لديه إذن لخدمة EC2. للتحقق من ذلك، استخدم الأمر التالي:

مثيلات وصف aws ec2 --استفسار 'الحجوزات[*].Instances[*].[VpcId, InstanceId, ImageId, InstanceType]'


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


وهذا كله من هذا الباب.

نصيحة إضافية: قم بإلغاء ضبط متغيرات البيئة

للعودة إلى مستخدم IAM، أي المستخدم التجريبي، يمكن للمستخدم إزالة متغيرات البيئة عن طريق تعيين متغيرات البيئة على سلاسل فارغة. وفيما يلي الأوامر المعطاة:

للنوافذ

تعيين AWS_ACCESS_KEY_ID =
تعيين AWS_SECRET_ACCESS_KEY =
تعيين AWS_SESSION_TOKEN =


لينكس

استخدم الأمر المذكور أدناه:

غير محدد AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN


الأوامر المذكورة أعلاه سوف تقوم بإلغاء ضبط متغيرات البيئة:


بعد تنفيذ الأوامر المذكورة أعلاه، يجب على وحدة التحكم الآن إرجاع الملف 'المستخدم التجريبي' كمستخدم قام بتسجيل الدخول حاليًا بدلاً من الدور المفترض، أي دور المستخدم. ولهذا الغرض سنستخدم الأمر التالي:

aws sts الحصول على هوية المتصل


تشير مخرجات الأمر إلى أن المستخدم الذي قام بتسجيل الدخول حاليًا هو مستخدم تجريبي:


وبالمثل، لتسجيل الدخول كمستخدم الجذر، اتبع 'C:\Users%USERPROFILE%.aws' المسار وانقر فوق ملف بيانات الاعتماد:


ضمن ملف بيانات الاعتماد، استبدل قيم مفتاح الوصول ومفتاح الوصول السري بمفتاح الوصول ومفتاح الوصول السري للمستخدم الجذر:


قم بتوفير الأمر التالي إلى واجهة سطر الأوامر (CLI) للتحقق من تكوين بيانات الاعتماد بشكل صحيح:

تكوين أوس


هنا، في الصورة أدناه، يمكننا أن نرى أنه تم تكوين مفتاح الوصول ومفتاح الوصول السري للمستخدم الجذر بنجاح:


هذا كل شيء من هذا القسم من البرنامج التعليمي.

الطريقة الثانية: استخدام -معلمة الملف الشخصي

هناك طريقة أخرى لتولي الدور وهي استخدام حقل '–الملف الشخصي' في سطر الأوامر. يعرض هذا القسم من المقالة التنفيذ العملي لتولي دور في AWS عبر الملف الشخصي. وفيما يلي الخطوات لذلك:

الخطوة 1: إنشاء مستخدم IAM

لإنشاء مستخدم IAM، قم بتسجيل الدخول إلى حساب المستخدم الجذر عبر CLI باستخدام الأمر التالي:

تكوين أوس


تم تكوين بيانات الاعتماد بالفعل داخل واجهة سطر الأوامر (CLI) لهذا العرض التوضيحي كما هو موضح في مخرجات الأمر:


يتعلم أكثر:

لإنشاء مستخدم IAM، قم بتوفير الأمر التالي إلى واجهة سطر الأوامر:

aws أنا أقوم بإنشاء مستخدم --اسم المستخدم الملف الشخصي للمستخدم


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


اقرأ أكثر:

الخطوة 2: إنشاء مفتاح الوصول

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

aws أنا إنشاء مفتاح الوصول --اسم المستخدم الملف الشخصي للمستخدم


يقوم هذا الأمر بإرجاع مجموعة من مفاتيح الوصول. يحفظ ال AccessKeyId و مفتاح الوصول السري حيث سيكون ذلك مطلوبًا أثناء تسجيل الدخول إلى حساب AWS:


الآن، إذا قمنا بتسجيل الدخول إلى AWS CLI باستخدام AccessKeyId وSecretAccessKey، وقمنا بالوصول إلى أي مورد على سبيل المثال. دلو S3، 'تم الرفض' سيحدث خطأ. وذلك لأنه لا توجد حاليًا أذونات مرتبطة بمستخدم IAM. لتسجيل الدخول إلى AWS CLI، استخدم الأمر التالي وقم بتوفير معرف مفتاح الوصول ومفتاح الوصول السري كما تم إنشاؤه مسبقًا:

تكوين أوس --حساب تعريفي الملف الشخصي للمستخدم


استبدل 'الملف الشخصي للمستخدم' باستخدام اسم مستخدم IAM الذي قدمته أثناء إنشاء المستخدم.

لقد نجحنا هنا في تسجيل الدخول إلى AWS CLI كمستخدم IAM:


للتحقق مما إذا كان هذا المستخدم لديه أي أذونات للقراءة فقط لحاوية S3، قم بتوفير الأمر التالي إلى واجهة سطر الأوامر:

aws s3 ليرة سورية --حساب تعريفي الملف الشخصي للمستخدم


استبدل مستخدم ملف التعريف باسم مستخدم IAM الذي قدمته أثناء إنشاء المستخدم.

نظرًا لأنه لم يتم تعيين أي إذن لهذا المستخدم من قبل المستخدم الجذر، فسيؤدي ذلك إلى ' تم الرفض ' خطأ:

الخطوة 3: إنشاء سياسة الثقة ودور IAM

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

لإنشاء سياسة ثقة داخل IAM، قم بتوفير الأمر التالي إلى CLI:

للنوافذ

المفكرة Trust-policy.json


استبدل Trust-policy.json مع الاسم الذي تفضله للسياسة.

لنظام التشغيل لينكس

لأن Trust-role-policy.json


استبدل Trust-policy.json مع الاسم الذي تفضله للسياسة.

يمكن للمستخدمين استخدام أي محرر نصوص يفضلونه. في هذا العرض التوضيحي، نستخدم المفكرة:


سيؤدي هذا إلى فتح المفكرة لإنشاء سياسة الثقة. الصق السياسة التالية داخل المفكرة ثم اضغط 'CTRL + S' من لوحة المفاتيح لتطبيق التغييرات وحفظها:

{
'إصدار' : '2012-10-17' ,
'إفادة' : {
'تأثير' : 'يسمح' ,
'رئيسي' : {
'أوس' : 'arn:aws:iam::012345678910:user/profile-user'
} ,
'فعل' : 'ستس: افترض الدور'
}
}


في السياسة المذكورة أعلاه: خدمات أمازون ويب: استبدل القيمة 'arn:aws:iam::012345678910:user/policy-user' بـ ARN الخاص بمستخدم IAM الذي تم إنشاؤه مسبقًا في هذا القسم.

تم تعديل السياسة داخل المفكرة:


بعد ذلك، سنقوم بإنشاء دور IAM ونرفق به سياسة الثقة المذكورة أعلاه. استخدم الأمر التالي لإنشاء دور IAM:

aws أنا أقوم بإنشاء دور --اسم الدور دوري --تحمل-دور-سياسة-وثيقة ملف: // Trust-policy.json


في الأمر المذكور أعلاه:

    • -اسم الدور: استبدل 'دوري' مع اسم دور IAM الذي تختاره.
    • -تولي-دور-وثيقة السياسة: في هذا الحقل، استبدل المصطلح 'trust-policy.json' باسم سياسة ثقة IAM الخاصة بك

تم إنشاء دور IAM بنجاح. احفظ دور IAM. احفظ ARN لدور IAM كما هو موضح في الصورة التالية. سيتم استخدام ARN هذا أثناء تكوين ملف تعريف المستخدم:


تحدد سياسة الثقة المرتبطة بـ IAM ما إذا كان المستخدم موثوقًا به أم لا لتولي الدور. تحدد سياسة الأذونات ما إذا كان دور IAM لديه الإذن المطلوب لتنفيذ إجراء معين مع خدمات AWS أم لا.

نظرًا لربط سياسة الثقة بدور IAM، فإن الخطوة التالية هي إرفاق سياسة الأذونات بدور IAM. سيتم استخدام الأمر المذكور أدناه لإرفاق سياسة الأذونات بدور IAM:

aws أنا أرفق سياسة الدور --اسم الدور دوري --policy-arn 'arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess'


هنا، تم إرفاق سياسة الأذونات بدور IAM عبر سطر الأوامر:

الخطوة 4: تكوين الملف الشخصي

لكي يتولى المستخدم هذا الدور، سنقوم أولاً بتكوين ملف التعريف هذا ضمن بيانات اعتماد AWS. لإرفاق بيانات الاعتماد المؤقتة هذه، قم بتوفير الأمر التالي:

المفكرة~ / .aws / التكوين


نصيحة إضافية: حل 'المسار غير محدد' في المفكرة

سيحتوي ملف التكوين على الإعداد [الافتراضي] لـ AWS CLI. ومع ذلك، إذا عرضت المفكرة الرسالة 'يتعذر على النظام العثور على المسار المحدد'، فأدخل الأمر المذكور أدناه:

المفكرة .aws / التكوين


يمكن لمستخدمي Linux استخدام 'لأن' محرر لتكوين الملف الشخصي. يمكن للمستخدمين استخدام أي محرر يفضلونه لفتح ملف التكوين الخاص بـ AWS في الجهاز المحلي:


ضمن ملف التكوين المفتوح في المفكرة، قم بتحرير التغييرات التالية:

[ الملف الشخصي للمستخدم ]
role_arn = arn:aws:iam::012345678910:role / دوري
source_profile =profile-user


في المقتطف أعلاه:

    • دور_ارن: استبدل القيمة 'arn:aws:iam::012345678910:role/myrole' بـ ARN الخاص بدور IAM.
    • ملف_المصدر: في هذا الحقل، قم بتوفير اسم مستخدم IAM الذي تم إنشاؤه في الخطوة 1 من هذه الطريقة.

بعد إجراء التغييرات المطلوبة، اضغط على 'CTRL + S' من لوحة المفاتيح لتطبيق التغييرات وحفظها:


الآن، للتحقق مما إذا كان بإمكان المستخدم الآن إدراج حاويات S3 أم لا، قم بتوفير الأمر التالي إلى واجهة سطر الأوامر:

aws s3 ليرة سورية --حساب تعريفي الملف الشخصي للمستخدم


في الأمر أعلاه: -الملف الشخصي للمستخدم: في هذا الحقل، استبدل القيمة 'profile-use' بالاسم الذي تحدده في ملف التكوين.

نظرًا لأننا حددنا 'profile-user' في ملف التكوين، فسنستخدم نفس الاسم مع الأمر في CLI. في السابق، لم يكن المستخدم قادرًا على الوصول إلى خدمة S3 الخاصة بـ AWS حيث لم يتم تعيين أي أذونات لها. يتمتع دور IAM بإذن 'ReadOnlyAccess' لحاوية S3، وبالتالي، من خلال تولي هذا الدور، يمكن للمستخدم سرد الحاويات من لوحة معلومات S3:


هذا كل شيء من طريقة البرنامج التعليمي هذه.

الطريقة الثالثة: استخدام MFA (المصادقة متعددة العوامل)

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

فيما يلي الخطوات لتولي دور مع MFA عبر CLI:

الخطوة 1: إنشاء مستخدم IAM وتمكين MFA

في هذه الخطوة، يمكن للمستخدم إما استخدام واجهة سطر الأوامر (CLI) لإنشاء المستخدم أو الوصول إلى وحدة الإدارة في AWS. قم بتسجيل الدخول إلى حساب المستخدم الجذر باستخدام الأمر التالي:

تكوين أوس


يتم إعطاء إخراج الأمر على النحو التالي:


لإنشاء مستخدم، قم بتوفير الأمر التالي إلى واجهة سطر الأوامر:

aws أنا أقوم بإنشاء مستخدم --اسم المستخدم mfa-user


في الأمر أعلاه: -اسم المستخدم: استبدل 'مستخدم MFA' باستخدام اسم مستخدم IAM الذي تختاره.

تم إنشاء المستخدم بنجاح. احفظ ARN الخاص بالمستخدم لأنه سيكون مطلوبًا لاحقًا في هذا القسم. حاليًا، لم يتم تعيين أي أذونات لهذا المستخدم:


لتمكين MFA، قم بزيارة وحدة الإدارة في AWS وابحث عن خدمة IAM. اضغط عليها من النتائج المعروضة:


انقر فوق خيار المستخدمون من جزء التنقل الأيمن لخدمة IAM. من لوحة معلومات المستخدمين، انقر فوق اسم المستخدم لتكوين MFA:


في الواجهة التالية، اضغط على 'بيانات الاعتماد الأمنية' خيار:


قم بالتمرير لأسفل إلى المصادقة متعددة العوامل القسم وانقر فوق 'تخصيص جهاز MFA' زر:


توفير اسم ذو معنى في ال اسم الجهاز حقل النص على الواجهة المعروضة:


قم بالتمرير لأسفل إلى قسم جهاز MFA. يتم تقديم خيارات متنوعة للمستخدم لتمكين MFA، مثل مسح رمز الاستجابة السريعة ضوئيًا عبر مفتاح الأمان أو رمز TOTP للأجهزة. بالنسبة لهذا العرض التوضيحي، حدد 'تطبيق المصادقة' خيار:


اضغط على 'التالي' الزر الموجود أسفل الواجهة للمضي قدمًا:


انقر على 'إظهار رمز الاستجابة السريعة' كما هو موضح في الصورة أدناه:


إطلاق تطبيق على هاتفك المحمول أو الكمبيوتر المحمول لمسح رمز الاستجابة السريعة. اضغط على '+' الخيار من واجهة Symantec VIP:


في متجر Play، يتم تسمية Symantec VIP باسم VIP Access.

على الواجهة التالية لبرنامج Symantec VIP، انقر فوق مسح رمز الاستجابة السريعة الزر الموجود أسفل الواجهة:


امسح رمز QR ضوئيًا من AWS MFA واجهة تطبيق الموثق عرض. سيُنشئ هذا الرمز سلسلة من الرموز المطلوبة لتسجيل الدخول إلى وحدة تحكم مستخدم IAM:


سيتم إنشاء تطبيق Symantec VIP كلمة مرور لمرة واحدة مكونة من ستة أرقام بعد مسح رمز الاستجابة السريعة. ستستمر هذه الرموز في الظهور بعد كل مرة 30 ثانية . توضح لقطة الشاشة أدناه الرمزين اللذين تم إنشاؤهما:


توفير رموز ل كود وزارة الخارجية 1 و كود وزارة الخارجية 2 حقول النص على واجهة تطبيق Authenticator لـ MFA. انقر على 'إضافة وزارة الخارجية' الزر بعد ذلك لتمكين الوظيفة:


تم تمكين MFA لمستخدم IAM بنجاح. ويمكن التحقق من ذلك عن طريق 'المصادقة متعددة العوامل (MFA)' قسم من 'بيانات الاعتماد الأمنية' علامة التبويب مستخدم IAM . من هذا القسم، احفظ قيمة المعرف لأنه سيكون مطلوبًا أثناء تولي الدور:

الخطوة 2: إرفاق السياسة مع المستخدم

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

الخطوة 3: إنشاء سياسة الثقة ودور IAM

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

الخطوة 4: إنشاء مفتاح الوصول

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

الخطوة 5: تكوين بيانات الاعتماد

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

الخطوة 6:  تولي دور IAM

بعد إرفاق دور IAM بنجاح وتنفيذ سياسة الثقة، يمكن للمستخدم الآن تولي دور IAM. لهذا الغرض، قم بتوفير الأمر التالي إلى واجهة سطر الأوامر:

aws أنا إنشاء مفتاح الوصول --اسم المستخدم mfa-user


هنا تم إنشاء المفتاح بنجاح لمستخدم IAM. احفظ AccessKeyId وSecretAccessKey حيث سيكونان مطلوبين لتسجيل الدخول إلى حساب AWS:


الخطوة التالية هي تكوين مفاتيح الوصول داخل AWS CLI. استخدم الأمر المذكور أدناه لتكوين واجهة سطر الأوامر:

تكوين أوس


قم بتوفير مفتاح الوصول ومفتاح الوصول السري إلى واجهة سطر الأوامر (CLI) للتكوينات:


للتحقق مما إذا كان مستخدم IAM قد قام بتسجيل الدخول إلى AWS CLI، استخدم الأمر التالي:

aws sts الحصول على هوية المتصل


يتم إعطاء إخراج الأمر على النحو التالي مما يشير إلى أن المستخدم قد قام بتسجيل الدخول بنجاح إلى وحدة تحكم AWS:


لدى المستخدم الإذن بإدراج أدوار IAM ضمن حساب AWS. يتم استخدام الأمر الوارد أدناه لسرد أدوار IAM:

aws أنا قائمة الأدوار --استفسار 'الأدوار[?RoleName == 'mfa-role'].[RoleName, Arn]


في الأمر أعلاه: اسم الدور: في هذا الحقل، استبدل القيمة 'mfa-role' باسم دور IAM الخاص بك.

يتم إعطاء إخراج الأمر على النحو التالي:


لتولي دور IAM مع MFA، استخدم أمر تولي الدور مع معلمات إضافية مثل الرقم التسلسلي ورمز الرمز المميز. قم بتوفير الأمر التالي إلى CLI:

aws sts تتولى الدور --role-arn 'arn:aws:iam::123456789012:دور/م-دور' --اسم جلسة الدور جلسة AWSCLI --رقم سري 'arn:aws:iam::012345678910:mfa/admindevice' --الرمز المميز '123456'


في الأمر أعلاه:

    • -الدور: استبدل قيمة هذا الحقل بـ ARN لدور IAM الخاص بك.
    • -اسم جلسة الدور: في هذا الحقل، يمكن للمستخدم تقديم أي اسم جلسة من اختياره.
    • -رقم سري: استبدل قيمة هذا الحقل بقيمة المعرف من واجهة MFA التي تم حفظها مسبقًا.
    • -رمز الرمز: يجب استبدال هذه القيمة بالرمز الحالي المعروض في واجهة Symantec VIP.

يتم تقديم الرمز الحالي الموضح في Symantec VIP على النحو التالي. سيتم استخدام نفس الرمز في قيمة –token-code للأمر:


سيحتوي مخرج الأمر على بيانات الاعتماد المؤقتة مثل رمز الجلسة، ومفتاح الوصول، ومفتاح الوصول السري، وما إلى ذلك:

الخطوة 7: تكوين متغيرات البيئة

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

افكار اخيرة

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

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