أدوار IAM وسياساته
اكتبوا مستندات سياسات JSON، وأرفقوها بالأدوار، وتعرّفوا إلى الفرق بين السياسات المستندة إلى الهوية والسياسات المستندة إلى الموارد.
أدوار IAM وسياساته درس مجاني في Cloud & IT Cert Prep على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cloud & IT Cert Prep، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cloud & IT Cert Prep 4 دروس في المجموع.
سياسات IAM: لغة الأذونات
سياسة IAM هي مستند JSON يحدد المسموح به. يحتوي كل بيان على Effect (Allow أو Deny)، وAction، وResource. يعرض الكود مثالاً عليها.
{
'Version': '2012-10-17',
'Statement': [
{
'Effect': 'Allow',
'Action': [
's3:GetObject',
's3:PutObject'
],
'Resource': 'arn:aws:s3:::my-bucket/*'
}
]
}السياسات المستندة إلى الهوية مقابل السياسات المستندة إلى المورد
ترتبط السياسة المستندة إلى الهوية بمستخدم أو دور وتحدد ما يمكنه فعله. أما السياسة المستندة إلى المورد فترتبط بالمورد نفسه وتحدد من يمكنه الوصول إليه.
# Example S3 bucket policy (resource-based)
{
'Version': '2012-10-17',
'Statement': [{
'Effect': 'Allow',
'Principal': {
'AWS': 'arn:aws:iam::123456789012:role/MyAppRole'
},
'Action': 's3:GetObject',
'Resource': 'arn:aws:s3:::my-bucket/*'
}]
}أدوار IAM: هويات مؤقتة
دور IAM هو هوية تتولاها لفترة قصيرة. يمنح بيانات اعتماد مؤقتة تنتهي صلاحيتها، وهو مثالي لـ EC2 وLambda والخدمات الأخرى.
# Attach an IAM role to an EC2 instance (instance profile)
aws ec2 associate-iam-instance-profile \
--instance-id i-0abcdef1234567890 \
--iam-instance-profile Name=MyEC2Roleسياسات الثقة: من يمكنه تولي الدور
يمتلك كل دور سياسة ثقة تحدد من يُسمح له بتولي الدور، إلى جانب سياسات الأذونات التي تحدد ما يمكنه فعله بعد توليه. لا سياسة ثقة، لا وصول.
# Trust policy for a Lambda execution role
{
'Version': '2012-10-17',
'Statement': [{
'Effect': 'Allow',
'Principal': {
'Service': 'lambda.amazonaws.com'
},
'Action': 'sts:AssumeRole'
}]
}أدوار خدمات AWS: EC2 وLambda
عندما يحتاج EC2 إلى استدعاء AWS، امنحه ملف تعريف مثيل يضم دوراً. تُدوّر بيانات الاعتماد تلقائياً، فلا توجد مفاتيح مضمنة في الكود. ويعمل Lambda بالطريقة نفسها.
# Retrieve role credentials from EC2 metadata (IMDSv2)
TOKEN=$(curl -X PUT 'http://169.254.169.254/latest/api/token' \
-H 'X-aws-ec2-metadata-token-ttl-seconds: 21600')
curl -H "X-aws-ec2-metadata-token: $TOKEN" \
http://169.254.169.254/latest/meta-data/iam/security-credentials/MyEC2Roleتولي الأدوار عبر الحسابات
يتيح الدور عبر الحسابات لمستخدم في حساب تولي دور في حساب آخر والوصول إلى موارده. وهكذا تتجنب البيئات متعددة الحسابات تكرار المستخدمين في كل مكان.
# Assume a cross-account role from Account A
aws sts assume-role \
--role-arn arn:aws:iam::999999999999:role/CrossAccountRole \
--role-session-name my-sessionشروط السياسات: تحكم دقيق
يضيف Condition قواعد إضافية إلى السياسة، مثل اشتراط MFA أو حصر الوصول في نطاق IP أو منطقة محددة. وهذا يجعل الأذونات أكثر تقييداً بكثير.
# Policy that requires MFA for sensitive actions
{
'Effect': 'Deny',
'Action': ['iam:*', 'cloudtrail:*'],
'Resource': '*',
'Condition': {
'BoolIfExists': {
'aws:MultiFactorAuthPresent': 'false'
}
}
}حدود الأذونات
يحدد حد الأذونات الحد الأقصى لما يمكن أن تملكه الهوية على الإطلاق، حتى إن منحت سياسة أذونات أكثر. وهو شبكة الأمان التي تتيح للمطورين إنشاء أدوارهم الخاصة.
# Attach a permissions boundary to a user
aws iam put-user-permissions-boundary \
--user-name alice \
--permissions-boundary arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccessمنطق تقييم السياسات
عندما تتحقق AWS من طلب، توجد قاعدة تتفوق على كل ما عداها: الرفض الصريح يمنع الطلب دائماً. وبعد ذلك، يجب أن توافق كل طبقة من السياسات على السماح بالوصول.
محاكي سياسات IAM
يختبر IAM Policy Simulator ما إذا كانت الهوية تستطيع تنفيذ إجراء ما، من دون تنفيذه فعلياً. وهو ممتاز لتصحيح أخطاء الأذونات قبل الإطلاق.
# Simulate an IAM policy evaluation via CLI
aws iam simulate-principal-policy \
--policy-source-arn arn:aws:iam::123456789012:user/alice \
--action-names s3:PutObject \
--resource-arns arn:aws:s3:::my-bucket/*أدوار للوصول الموحد
يمكن للمستخدمين الخارجيين من Okta أو Google أو Active Directory تولي الأدوار من خلال الاتحاد (SAML أو OIDC). يمكنك منح ملايين الأشخاص حق الوصول من دون أي مستخدمي IAM.
تحقق سريع
اختبر فهمك لمفاهيم AWS Solutions Architect (SAA-C03) الواردة في هذا الدرس.
ملخص الدرس
ملخص سريع: السياسات هي قواعد JSON لـ Allow وDeny، والأدوار تمنح بيانات اعتماد مؤقتة، وتضيف الشروط تحكماً دقيقاً. التالي: مبدأ أقل الامتيازات.
الأسئلة الشائعة
هل درس «أدوار IAM وسياساته» مجاني؟
نعم — نص درس «أدوار IAM وسياساته» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cloud & IT Cert Prep، انتقل إلى CoddyKit PRO. تتضمن دورة Cloud & IT Cert Prep 4 دروس في المجموع.
ماذا ستتعلم في «أدوار IAM وسياساته»؟
اكتبوا مستندات سياسات JSON، وأرفقوها بالأدوار، وتعرّفوا إلى الفرق بين السياسات المستندة إلى الهوية والسياسات المستندة إلى الموارد. تتمرن على Cloud & IT Cert Prep مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Cloud & IT Cert Prep؟
لا تُشترط خبرة سابقة. Cloud & IT Cert Prep على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «أدوار IAM وسياساته»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Cloud & IT Cert Prep هذا؟
نعم. كل درس في Cloud & IT Cert Prep يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.