الشروط وعلامات البدل ومتغيرات السياسات
اضبط الوصول بدقة باستخدام مفاتيح السياق والقيم الديناميكية
الشروط وعلامات البدل ومتغيرات السياسات درس مجاني في AWS Security Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AWS Security Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AWS Security Academy 4 دروس في المجموع.
ضبط الوصول بدقة
إلى جانب الإجراء والمورد، توفر IAM أدوات قوية لجعل السياسات دقيقة وديناميكية: الشروط وأحرف البدل ومتغيرات السياسات. يتيح إتقان هذه الأدوات منح الصلاحيات المطلوبة بالضبط، وفي الظروف المناسبة تمامًا، وهو جوهر مبدأ أقل الصلاحيات وموضوع متكرر في الامتحان.
عنصر Condition
تحتوي كتلة Condition على اختبار واحد أو أكثر، ويجب أن تكون جميعها صحيحة حتى تنطبق العبارة. يقترن كل اختبار بـعامل ومفتاح شرط وقيمة، مثل StringEquals مع aws:PrincipalTag. وتُربط المفاتيح المتعددة في الكتلة نفسها بعامل AND؛ أما القيم المتعددة للمفتاح الواحد فتُربط بعامل OR.
مفاتيح الشروط الشائعة
تظهر مفاتيح الشروط العامة باستمرار في الامتحان:
- aws:SourceIp — التقييد بناءً على نطاق IP للمتصل.
- aws:SecureTransport — اشتراط TLS.
- aws:MultiFactorAuthPresent — اشتراط MFA.
- aws:PrincipalOrgID — التقييد على مؤسستك.
وتوفر المفاتيح الخاصة بالخدمات (مثل s3:prefix) تحكمًا أدق.
فرض التشفير أثناء النقل
من الأنماط الشائعة رفض الوصول ما لم يستخدم الطلب TLS. إذ يمنع شرط سياسة الحاوية هذا أي استدعاء غير HTTPS، ويضمن تشفير البيانات أثناء النقل دائمًا. ويكثر ورود هذا النمط في الامتحان بوصفه إجابة عن سؤال "اشتراط التشفير أثناء النقل في S3".
"Condition": {
"Bool": { "aws:SecureTransport": "false" }
}عوامل الشروط
تحدد العوامل كيفية مقارنة القيم: StringEquals وStringLike (يدعم أحرف البدل) وIpAddress وDateGreaterThan وBool وNull وغير ذلك. تؤدي إضافة IfExists إلى عامل ما إلى نجاحه عند غياب المفتاح. ويُعد اختيار العامل المناسب ضروريًا للحصول على المنطق المقصود.
أحرف البدل في الإجراءات
تجعل أحرف البدل (* لأي تسلسل، و? لحرف واحد) السياسات موجزة، لكنها قد تمنح صلاحيات زائدة. يغطي s3:Get* جميع عمليات القراءة؛ بينما يغطي s3:* كل شيء في S3. استخدم أضيق حرف بدل يفي بالحاجة، وتعامل بحذر مع أحرف البدل الواسعة في أي سياسة تراجعها.
أحرف البدل في الموارد
تقبل ARNs الخاصة بالموارد أحرف البدل أيضًا، مثل arn:aws:s3:::logs/2024/* لتقييد النطاق ببادئة واحدة. ويتيح ذلك للسياسة استهداف مجلد أو نمط من دون إدراج كل كائن على حدة. لكن استخدام Resource بالقيمة "*" يمنح نطاقًا على مستوى الحساب بأكمله، لذا تحقّق دائمًا مما إذا كان هذا الاتساع مطلوبًا فعلًا.
متغيرات السياسات
تُدرج متغيرات السياسات سياق الطلب وقت التقييم باستخدام الصيغة ${...}. وأكثرها فائدة هو ${aws:username}، إذ يتيح لسياسة واحدة منح كل مستخدم الوصول إلى موارده الخاصة فقط. وتجعل المتغيرات سياسة واحدة قابلة لإعادة الاستخدام تتصرف بشكل مختلف لكل كيان، مما يوسّع تطبيق مبدأ أقل الصلاحيات بأناقة.
مثال على مورد لكل مستخدم
تتيح هذه العبارة لكل مستخدم إدارة الكائنات الموجودة فقط ضمن مجلد يحمل اسم المستخدم الخاص به، وهو نمط قوي لسياسة واحدة للجميع.
"Resource": "arn:aws:s3:::team-bucket/${aws:username}/*"الوصول المستند إلى الوسوم (ABAC)
يستخدم Attribute-Based Access Control (ABAC) الوسوم في الشروط، إذ يقارن وسوم الكيان (aws:PrincipalTag) بوسوم المورد (aws:ResourceTag). وعند تطابقها، يُمنح الوصول. يتميز ABAC بقابلية توسع كبيرة: إذ تمنح الوصول بناءً على الوسم بدلًا من كتابة سياسة جديدة لكل مشروع، وهي أفضل ممارسة حديثة يسلط الامتحان الضوء عليها.
جمع العناصر معًا
اجمع هذه الأدوات بعناية: استخدم الشروط للتحكم في الوصول بناءً على MFA أو IP أو TLS أو عضوية المؤسسة؛ واستخدم أحرف البدل باعتدال وبأضيق نطاق؛ واستخدم متغيرات السياسات والوسوم لتطبيق مبدأ أقل الصلاحيات لكل كيان على نطاق واسع. وتتيح هذه الأدوات مجتمعة لسياسة واحدة مصممة جيدًا فرض وصول دقيق ومدرك للسياق عبر هويات وموارد متعددة.
تحقق سريع
اختبر الشروط والمتغيرات.
مراجعة
تتحكم الشروط في انطباق العبارات استنادًا إلى مفاتيح السياق (aws:SourceIp وaws:SecureTransport وaws:MultiFactorAuthPresent وaws:PrincipalOrgID) باستخدام عوامل مثل StringLike وBool. تجعل أحرف البدل (* و?) السياسات موجزة، لكنها قد تمنح صلاحيات زائدة. وتوفر متغيرات السياسات مثل ${aws:username} وABAC المستند إلى الوسوم تطبيقًا قابلًا للتوسع لمبدأ أقل الصلاحيات لكل كيان.
الأسئلة الشائعة
هل درس «الشروط وعلامات البدل ومتغيرات السياسات» مجاني؟
نعم — نص درس «الشروط وعلامات البدل ومتغيرات السياسات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة AWS Security Academy، انتقل إلى CoddyKit PRO. تتضمن دورة AWS Security Academy 4 دروس في المجموع.
ماذا ستتعلم في «الشروط وعلامات البدل ومتغيرات السياسات»؟
اضبط الوصول بدقة باستخدام مفاتيح السياق والقيم الديناميكية تتمرن على AWS Security Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ AWS Security Academy؟
لا تُشترط خبرة سابقة. AWS Security Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «الشروط وعلامات البدل ومتغيرات السياسات»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس AWS Security Academy هذا؟
نعم. كل درس في AWS Security Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- تشريح مستند سياسة IAM
- السياسات المستندة إلى الهوية مقابل المستندة إلى المورد
- تدفق اتخاذ قرار تقييم السياسات
- الشروط وعلامات البدل ومتغيرات السياسات