مبدأ أقل الصلاحيات
طبّقوا مبدأ أقل الصلاحيات على سيناريوهات واقعية، واستخدموا سياسات AWS المُدارة مقابل السياسات المضمنة بحكمة.
مبدأ أقل الصلاحيات درس مجاني في AWS Solutions Architect على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AWS Solutions Architect، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AWS Solutions Architect 4 دروس في المجموع.
ما هو مبدأ أقل الامتيازات؟
يعني مبدأ أقل الامتيازات منح كل هوية الأذونات التي تحتاج إليها فعلاً فقط، من دون أي أذونات إضافية. إذا تسربت بيانات الاعتماد، يبقى الضرر محدوداً. 🛡️
البدء بالرفض افتراضياً
تجعل AWS تطبيق مبدأ أقل الامتيازات سهلاً: يبدأ المستخدم أو الدور الجديد بـ صفر أذونات. تضيف ما تحتاج إليه تحديداً، بدلاً من إزالة ما لا تحتاج إليه.
الإفراط في منح الأذونات: الخطأ الشائع
الخطأ التقليدي هو منح AdministratorAccess لأنه سريع. عندها قد يؤدي خطأ واحد إلى محو بياناتك. حدّد النطاق بإجراءات وموارد معينة بدلاً من ذلك.
# AVOID: wildcard permissions
{
'Effect': 'Allow',
'Action': '*',
'Resource': '*'
}
# PREFER: scoped permissions
{
'Effect': 'Allow',
'Action': ['dynamodb:GetItem', 'dynamodb:Query'],
'Resource': 'arn:aws:dynamodb:us-east-1:123456789:table/Orders'
}السياسات المُدارة من AWS مقابل السياسات المُدارة من العميل
تعد السياسات المُدارة من AWS مفيدة، لكنها غالباً واسعة أكثر من اللازم. تتيح لك السياسات المُدارة من العميل الإشارة بدقة إلى الحاويات أو الجداول التي يستخدمها تطبيقك فعلياً.
# Create a scoped customer-managed policy
aws iam create-policy \
--policy-name LambdaOrdersReader \
--policy-document file://orders-reader-policy.jsonIAM Access Analyzer
يراقب IAM Access Analyzer الموارد المكشوفة خارج حسابك. ويمكنه حتى كتابة سياسات مقيدة لك عبر تحليل ما استخدمته الهوية فعلياً.
# Enable IAM Access Analyzer for the account
aws accessanalyzer create-analyzer \
--analyzer-name MyAccountAnalyzer \
--type ACCOUNTاستخدام الشروط لتقييد الأذونات
حتى عندما يجب السماح بإجراء ما، تقلل الشروط المخاطر: اطلب MFA، أو قيّد الإجراء بعنوان IP الخاص بمكتبك، أو حصّر المستخدم في مجلده فقط. ✨
# Allow users to manage only their own folder in S3
{
'Effect': 'Allow',
'Action': ['s3:GetObject', 's3:PutObject'],
'Resource': 'arn:aws:s3:::shared-bucket/${aws:username}/*'
}حدود الأذونات كحواجز حماية
عندما تسمح للفرق بإدارة IAM الخاص بها، يحدد حد الأذونات ما تستطيع أدوارها فعله. يمكنهم البناء بحرية، لكن لا يمكنهم تجاوز الحد الذي وضعته.
وصول محدد المدة باستخدام سياسات الجلسة
عندما تتولى دوراً، يمكنك تمرير سياسة جلسة تقيده أكثر لتلك الجلسة. وهي مثالية لمنح خط أنابيب أذونات كافية بالقدر المطلوب فقط.
# Assume a role with a restrictive session policy
aws sts assume-role \
--role-arn arn:aws:iam::123456789012:role/DeployRole \
--role-session-name deploy-session \
--policy '{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Action":"lambda:UpdateFunctionCode","Resource":"arn:aws:lambda:us-east-1:123456789012:function:MyApp"}]}'التحكم بالوصول المستند إلى السمات (ABAC)
يمنح ABAC الوصول عبر مطابقة العلامات بدلاً من سرد كل مورد. على سبيل المثال، اسمح لدور بإيقاف مثيلات EC2 التي تحمل علامة فريقه فقط.
{
'Effect': 'Allow',
'Action': 'ec2:StopInstances',
'Resource': '*',
'Condition': {
'StringEquals': {
'ec2:ResourceTag/Team': '${aws:PrincipalTag/Team}'
}
}
}مراجعة الأذونات غير المستخدمة
تتتبع AWS آخر وقت استُخدم فيه كل إذن. تكشف بيانات آخر وصول الأذونات التي بقيت غير مستخدمة لأكثر من 90 يوماً، وهي مرشحات واضحة للإزالة.
# Get service last-accessed data for a role
aws iam generate-service-last-accessed-details \
--arn arn:aws:iam::123456789012:role/MyLambdaRole
# Retrieve the report (use the JobId from above)
aws iam get-service-last-accessed-details --job-id <JobId>مبدأ أقل الامتيازات للوصول إلى البيانات
طبّق مبدأ أقل الامتيازات على البيانات أيضاً: قصّر المستخدمين على مجلد S3 الخاص بكل منهم، وحدد نطاق DynamoDB باستخدام معرّف المستخدم، ومنح كل تطبيق تسجيل دخول خاصاً به إلى قاعدة البيانات.
تحقق سريع
اختبر فهمك لمفاهيم AWS Solutions Architect (SAA-C03) الواردة في هذا الدرس.
ملخص الدرس
ملخص سريع: يعني مبدأ أقل الامتيازات الحد الأدنى من الأذونات، ويعثر Access Analyzer على الأذونات غير المستخدمة، بينما تحافظ الشروط والحدود على تقييد الأذونات. التالي: أفضل ممارسات IAM وMFA.
الأسئلة الشائعة
هل درس «مبدأ أقل الصلاحيات» مجاني؟
نعم — نص درس «مبدأ أقل الصلاحيات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة AWS Solutions Architect، انتقل إلى CoddyKit PRO. تتضمن دورة AWS Solutions Architect 4 دروس في المجموع.
ماذا ستتعلم في «مبدأ أقل الصلاحيات»؟
طبّقوا مبدأ أقل الصلاحيات على سيناريوهات واقعية، واستخدموا سياسات AWS المُدارة مقابل السياسات المضمنة بحكمة. تتمرن على AWS Solutions Architect مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ AWS Solutions Architect؟
لا تُشترط خبرة سابقة. AWS Solutions Architect على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «مبدأ أقل الصلاحيات»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس AWS Solutions Architect هذا؟
نعم. كل درس في AWS Solutions Architect يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.