🎯 Securing User, Application, and Data Access — تأمين وصول المستخدمين والتطبيقات والبيانات
تُركز هذه الوحدة على كيفية تأمين البنى السحابية في AWS من خلال إدارة الهويات والصلاحيات وتشفير البيانات واستخدام خدمات الأمن المتقدمة. ستتعلم كيفية استخدام IAM لإدارة المستخدمين والمجموعات والأدوار، وتطبيق ABAC للتحكم في الوصول استناداً إلى السمات، ودمج الهويات الخارجية عبر Identity Federation، وإدارة حسابات متعددة باستخدام AWS Organizations وSCPs، وتشفير البيانات في حالة السكون باستخدام AWS KMS، وأخيراً التعرف على خدمات الأمن المتقدمة مثل AWS WAF وAmazon Macie وAmazon Inspector وAWS Security Hub لتطبيق استراتيجية دفاعية متعددة الطبقات.
1️⃣ IAM Users, Groups, and Roles — مستخدمون ومجموعات وأدوار IAM
IAM هي خدمة تتيح لك التحكم في الوصول إلى موارد AWS بشكل آمن. يمكنك إنشاء users (مستخدمين) وgroups (مجموعات) وroles (أدوار) وتطبيق سياسات الصلاحيات عليها. المستخدم هو هوية دائمة تمثل شخصاً أو تطبيقاً، أما المجموعة فهي مجموعة من المستخدمين تتشارك نفس الصلاحيات، والدور هو هوية مؤقتة يمكن لأي كيان افتراضها للحصول على صلاحيات محددة.
- سياسة IAM هي مستند JSON يحدد الصلاحيات المسموح بها أو الممنوعة صراحةً.
- سياسة المستخدم (user policy) تُرفق بمستخدم معين وتعطيه صلاحيات إضافية.
- سياسة المجموعة (group policy) تُرفق بالمجموعة وتطبق على جميع أعضائها.
- المنع الصريح (explicit deny) يتجاوز السماح الصريح (explicit allow) في أي سياسة.
- إذا لم يُمنح المستخدم صلاحية صريحة لفعل معين، فهذا يعني أنه لا يمتلك تلك الصلاحية.
بدلاً من إنشاء سياسة لكل مطور على حدة تنشئ الشركة مجموعة Developers ومجموعة Admins.
المطورون الجدد يُضافون إلى مجموعة Developers فقط ويحصلون تلقائياً على الصلاحيات المناسبة دون أي جهد إضافي.
2️⃣ RBAC vs ABAC — التحكم بالوصول القائم على الدور مقابل القائم على السمات
Role-Based Access Control (RBAC) هو النموذج التقليدي حيث تُعرف الصلاحيات بناءً على المسمى الوظيفي. ينشئ المسؤول سياسة IAM لكل دور وظيفي ويرفقها بكيان IAM (مستخدم أو مجموعة أو دور). أما Attribute-Based Access Control (ABAC) فهو استراتيجية أحدث تُعرف الصلاحيات بناءً على السمات (attributes) التي تأخذ شكل أزواج مفتاح-قيمة (key-value pairs) تُسمى tags في AWS.
- RBAC: يتطلب صيانة سياسات متعددة، وعند إضافة موارد جديدة يجب تحديث جميع السياسات ذات العلاقة مما يستغرق وقتاً طويلاً.
- ABAC: أكثر مرونة ولا يتطلب تحديث السياسات عند إضافة مستخدمين أو موارد جدد.
- ABAC: يتحقق من أن السمة المطبقة على مستخدم IAM مطبقة أيضاً على المورد الذي يريد الوصول إليه.
- ABAC: يمكن دمج الصلاحيات في سياسة واحدة بدلاً من سياسات متعددة.
- ABAC: قابل للتدقيق (auditable) بالكامل.
لديهم أربعة أدوار IAM للمطورين والمختبرين في مشروعي الصيانة والتطوير الجديد.
باستخدام ABAC يمكنهم إنشاء سياسة واحدة تقول: الأدوار التي تحمل سمة Env=Dev وProject=Maint يمكنها الوصول إلى موارد المشروع.
عند إضافة EC2 instance جديد إضافة الوسم المناسب وستحصل الأدوار على الصلاحية تلقائياً.
أما ABAC فهو مثل نظام التصنيف الحديث Dewey Decimal حيث يمكنك إضافة كتاب جديد وتصنيفه برقم معين فيندرج تلقائياً في المكان الصحيح دون الحاجة لتحديث الفهرس بالكامل.
3️⃣ Example: Using ABAC to Grant Permissions — مثال عملي على ABAC
تخيل مؤسسة تطوير تستخدم سمات لتحديد فريق العمل (تطوير أو اختبار) والمشروع (صيانة أو تطوير جديد). لديهم أربعة أدوار IAM: مطورو الصيانة، مطورو التطوير الجديد، مختبرو الصيانة، مختبرو التطوير الجديد. لكل مشروع خادمان EC2: واحد موسوم بـ Env=Dev والآخر بـ Env=Test. وهناك S3 bucket للمطورين وآخر للمختبرين.
- إنشاء هويات IAM مع الوسوم المناسبة (مثل Env=Dev وProject=Maint).
- فرض الوسوم على الموارد الجديدة عبر سياسات تمنع إنشاء مورد دون الوسم المطلوب.
- تكوين صلاحيات الوصول بناءً على الوسوم باستخدام سياسة واحدة تغطي جميع السيناريوهات.
- اختبار التهيئة للتأكد من أن المحاولات غير المصرَّح بها تفشل.
عند إضافة خادم EC2 جديد بمجرد وضع الوسم المناسب تحصل الأدوار على الصلاحية تلقائياً دون أي تغيير في السياسات.
- استخدم المجموعات (IAM groups) لمنح نفس الصلاحيات لعدة مستخدمين.
- المنع الصريح (explicit deny) يتجاوز السماح الصريح (explicit allow) دائماً.
- يفضل استخدام ABAC بدلاً من RBAC لتوسيع نطاق إدارة الصلاحيات.
- ABAC يعرف الصلاحيات بناءً على السمات (الوسوم) مما يبسط الإدارة بدمج الصلاحيات في سياسة واحدة.
- الوسوم هي بيانات وصفية تأخذ شكل زوج مفتاح-قيمة وتطبق على الموارد والهويات.
📖 جدول المصطلحات
| المصطلح (English) | الترجمة | المفهوم |
|---|---|---|
| IAM | إدارة الهوية والوصول | خدمة للتحكم الآمن في الوصول إلى موارد AWS عبر مستخدمين ومجموعات وأدوار. |
| IAM policy | سياسة IAM | مستند JSON يحدد الصلاحيات المسموح بها أو الممنوعة. |
| Explicit deny | منع صريح | قاعدة في السياسة تمنع وصولاً معيناً وتتجاوز أي قاعدة سماح. |
| RBAC | التحكم بالوصول القائم على الدور | نموذج صلاحيات تقليدي يُعرف الصلاحيات بناءً على المسمى الوظيفي. |
| ABAC | التحكم بالوصول القائم على السمات | استراتيجية صلاحيات تُعرف الوصول بناءً على سمات (وسوم) الهويات والموارد. |
| Tags | الوسوم | بيانات وصفية (مفتاح-قيمة) تُطبق على موارد AWS وهويّات IAM لأغراض التنظيم والتحكم. |
1️⃣ Identity Federation — دمج الهويات
دمج الهويات هو نظام ثقة بين طرفين: Identity Provider (IdP) المسؤول عن مصادقة المستخدمين، وService Provider (SP) المسؤول عن التحكم في الوصول إلى موارده. من خلال اتفاق إداري وتهيئة، يثق SP في IdP لمصادقة المستخدمين ومنحهم حق الوصول إلى الموارد المطلوبة. أمثلة على IdP: Login with Amazon وFacebook وGoogle وActive Directory Federation Services.
- AWS Identity and Access Management (IAM) — يدعم SAML 2.0 وOIDC لكل حساب على حدة.
- AWS IAM Identity Center — إدارة مركزية للوصول الموحد عبر حسابات متعددة.
- AWS Security Token Service (AWS STS) — يصدر صلاحيات مؤقتة محدودة الصلاحية.
- Amazon Cognito — مصادقة وترخيص لتطبيقات الويب والجوال.
بدلاً من إنشاء حساب IAM منفصل في AWS يمكن للشركة استخدام Identity Federation بحيث يسجل الموظف دخوله إلى شبكة الشركة ثم يحصل تلقائياً على صلاحيات مؤقتة للوصول إلى AWS Management Console دون الحاجة لكلمة مرور ثانية.
2️⃣ AWS IAM Identity Center — مركز هوية IAM
IAM Identity Center هو الخليفة لخدمة AWS Single Sign-On (SSO). يسمح لك بإنشاء الهويات أو ربطها مرة واحدة وإدارة الوصول مركزياً عبر حسابات AWS الخاصة بك. يوفر تجربة إدارة موحدة لتعريف وتخصيص وتعيين صلاحيات دقيقة بناءً على المسميات الوظيفية الشائعة. يمكن للمستخدمين الوصول إلى بوابة المستخدم (user portal) الخاصة بهم لرؤية جميع حسابات AWS وتطبيقات السحابة المخصصة لهم.
- إنشاء أو ربط الهويات مرة واحدة وإدارة الوصول مركزياً.
- تجربة إدارة موحدة لتعريف وتخصيص وتعيين صلاحيات دقيقة.
- بوابة مستخدم للوصول إلى جميع الحسابات والتطبيقات المخصصة.
- يدعم تطبيقات سحابية شائعة مثل Microsoft 365 وSalesforce.
- يمكن استخدامه بالتزامن مع IAM أو كبديل لإدارة الوصول.
بدلاً من إنشاء مستخدمين في كل حساب على حدة تستخدم IAM Identity Center لربط Active Directory الخاص بالشركة مرة واحدة.
عند انضمام موظف جديد يكفي إضافته إلى المجموعة المناسبة في AD وستنتشر صلاحياته تلقائياً إلى جميع الحسابات.
3️⃣ AWS STS and Identity Broker — STS ووسيط الهوية
AWS STS هي خدمة ويب (API) تمكنك من طلب صلاحيات مؤقتة محدودة الصلاحية يمكن استخدامها من قبل مستخدمي IAM أو المستخدمين المدمجين أو التطبيقات. تستمر الصلاحية من بضع دقائق إلى عدة ساعات. Identity Broker هو وسيط يربط بين موفري الهوية الخارجيين ومزود الخدمة لتسهيل عملية الدمج.
- يسجل المستخدم باستخدام هويته الحالية من موفر الهوية (IdP).
- يتواصل وسيط الهوية مع AWS STS لطلب صلاحيات مؤقتة.
- AWS STS يُصدر الصلاحيات المؤقتة ويعيدها إلى وسيط الهوية.
- وسيط الهوية يمرر الصلاحيات المؤقتة إلى التطبيق ليتمكن المستخدم من الوصول إلى الموارد.
يستخدم التطبيق وسيط هوية يتواصل مع AWS STS.
بعد مصادقة المستخدم عبر Google يحصل التطبيق على صلاحيات AWS مؤقتة للوصول إلى S3 أو DynamoDB نيابة عن المستخدم.
4️⃣ Amazon Cognito — أمازون كوجنيتو
Amazon Cognito هي خدمة مُدارة بالكامل توفر المصادقة والترخيص وإدارة المستخدمين لتطبيقات الويب والجوال. يمكن للمستخدمين تسجيل الدخول مباشرة باسم مستخدم وكلمة مرور أو من خلال طرف ثالث مثل Facebook وAmazon وGoogle. تتكون الخدمة من مكونين رئيسيين: user pools (مجمعات المستخدمين) وidentity pools (مجمعات الهويات).
- User pools: دليل مستخدمين في Cognito. يمكن للمستخدمين تسجيل الدخول إلى تطبيق الويب أو الجوال من خلال Cognito أو عبر موفر هوية خارجي.
- Identity pools: تمكن من إنشاء هويات فريدة وتعيين صلاحيات للمستخدمين. يمكنها توفير صلاحيات AWS مؤقتة للوصول إلى الخدمات.
- يدعم Cognito واجهة مستخدم مستضافة (hosted UI) للتسجيل وتسجيل الدخول والمصادقة متعددة العوامل (MFA) وإعادة تعيين كلمة المرور.
- يدعم رموز JSON Web Token (JWT) للوصول إلى موارد الخادم.
يستخدم المطورون Amazon Cognito مع user pool لتسجيل الدخول وidentity pool لمنح المستخدمين صلاحية الوصول إلى DynamoDB لتخزين الطلبات.
بهذا يتخلصون من عناء بناء نظام مصادقة من الصفر.
وكما تستخدم هذه البطاقة لفتح موقف السيارات وشراء الطعام ودخول صالة السينما فإن Identity Federation تسمح بهوية واحدة للوصول إلى جميع خدمات AWS المصرح بها.
- Identity Federation هو نظام ثقة بين IdP وSP لمصادقة المستخدمين والتحكم في الوصول.
- IAM Identity Center يوفر إدارة مركزية للوصول الموحد عبر حسابات متعددة.
- AWS STS يصدر صلاحيات مؤقتة ويمكن المستخدمين المدمجين من افتراض دور IAM.
- Amazon Cognito خدمة مُدارة للمصادقة والترخيص وإدارة المستخدمين في تطبيقات الويب والجوال.
- وسيط الهوية (Identity Broker) يسهل الدمج عندما تكون الهويات خارج AWS.
📖 جدول المصطلحات
| المصطلح (English) | الترجمة | المفهوم |
|---|---|---|
| Identity Federation | دمج الهويات | نظام ثقة بين موفر هوية خارجي ومزود خدمة لمصادقة المستخدمين والتحكم في الوصول. |
| IAM Identity Center | مركز هوية IAM | خدمة للإدارة المركزية للوصول الموحد عبر حسابات AWS وتطبيقات السحابة. |
| AWS STS | خدمة رمز الأمان | خدمة ويب تصدر صلاحيات AWS مؤقتة محدودة الصلاحية. |
| Amazon Cognito | أمازون كوجنيتو | خدمة مُدارة للمصادقة والترخيص وإدارة المستخدمين في تطبيقات الويب والجوال. |
| User pool | مجمع المستخدمين | دليل مستخدمين في Cognito يمكنهم تسجيل الدخول محلياً أو عبر موفر خارجي. |
| Identity pool | مجمع الهويات | مكون في Cognito يوفر صلاحيات AWS مؤقتة للمستخدمين المصادق عليهم. |
| Identity Broker | وسيط الهوية | وسيط يربط بين موفري الهوية الخارجيين ومزود الخدمة لتسهيل الدمج. |
1️⃣ Multiple Accounts Patterns — أنماط الحسابات المتعددة
عند استخدام AWS لدعم فِرَق وأقسام مختلفة في المؤسسة، هناك نمطان معماريتان: الأول هو إنشاء عدة VPCs في حساب واحد، والثاني هو إنشاء حسابات AWS متعددة مع VPC في كل منها. عملياً، تميل المؤسسات الكبيرة والصغيرة إلى إنشاء حسابات متعددة لعزل الموارد حسب الوحدات التنظيمية أو البيئات (تطوير، اختبار، إنتاج).
- المزايا: عزل حسب الوحدات التنظيمية أو البيئات، عزل بيانات التدقيق والاسترداد، فصل حسابات لأحمال العمل الخاضعة للتنظيم، سهولة إنشاء تنبيهات التكلفة، توفير التكاليف عبر التسعير المجمّع.
- التحديات: إدارة الأمان عبر الحسابات، الحاجة لعمليات يدوية لإنشاء حسابات جديدة، تحديد الجهة المسؤولة عن الفوترة، الحاجة لحوكمة مركزية لضمان الامتثال والاتساق.
تنشئ الشركة ثلاثة حسابات AWS واحدة لكل بيئة.
بهذا إذا أجرى فريق التطوير تجارب غير مستقرة فإن ذلك لا يؤثر على بيئة الإنتاج الحقيقية للعملاء.
2️⃣ AWS Organizations — مؤسسات AWS
AWS Organizations هي خدمة إدارة حسابات تسمح لك بدمج عدة حسابات AWS في مؤسسة واحدة تُدار مركزياً. توفر الخدمة إمكانية إنشاء الحسابات وإدارتها بشكل مركزي، والفوترة المجمّعة (consolidated billing)، والتجميع الهرمي للحسابات في وحدات تنظيمية (Organizational Units - OUs)، والتحكم في السياسات المركزية باستخدام Service Control Policies (SCPs).
- تجميع الحسابات في هيكل هرمي يصل عمقه إلى 5 مستويات من الوحدات التنظيمية (OUs).
- سياسات التحكم في الخدمات (SCPs) لتحديد أقصى الصلاحيات المسموحة للحسابات الأعضاء.
- خصومات على التسعير المجمّع (volume pricing) عبر جميع الحسابات.
- يتكامل مع IAM لتوسيع نطاق التحكم إلى مستوى الحساب.
- يمنع SCP العملية إذا منعها أي من Organizations أو IAM.
تستخدم AWS Organizations لتجميع الفواتير والحصول على خصومات الحجم.
كما تنشئ وحدات تنظيمية لكل شركة وتطبق SCPs لضمان عدم تمكن أي شركة من تعطيل CloudTrail أو مغادرة المؤسسة.
3️⃣ Service Control Policies (SCPs) — سياسات التحكم في الخدمات
SCPs تقدم تحكماً مركزياً في أقصى الصلاحيات المتاحة لجميع الحسابات في المؤسسة. تتحكم في الخدمات التي يمكن لمستخدمي IAM في الحسابات الأعضاء الوصول إليها. تحدد SCPs قيوداً على الإجراءات التي يمكن لمسؤول الحساب تفويضها لمستخدمي IAM والأدوار. لا يمكن تجاوز SCP من قبل المسؤول المحلي. الأفضلية: من الأسهل تعريف السياسات عبر حسابات متعددة في SCP بدلاً من نسخ إعدادات الصلاحيات هذه في مستندات سياسة IAM في كل حساب.
- منع تعطيل AWS CloudTrail في جميع الحسابات الأعضاء.
- فرض الوسوم على الموارد (مثلاً منع تشغيل EC2 بدون وسم محدد).
- منع الحسابات الأعضاء من مغادرة المؤسسة.
تطبق SCP على جميع الحسابات تمنع إجراء cloudtrail:StopLogging وcloudtrail:DeleteTrail.
حتى مسؤول الحساب المحلي لا يستطيع تجاوز هذا المنع مما يضمن الامتثال الدائم.
4️⃣ SCPs and Permissions Boundaries — حدود الصلاحيات
حدود الصلاحيات هي ميزة متقدمة في AWS تستخدم سياسة مُدارة لتعيين أقصى الصلاحيات التي يمكن أن تمنحها سياسة هوية (identity-based policy) لكيان IAM (مستخدم أو دور). لا تمنح حدود الصلاحيات صلاحيات بحد ذاتها، بل تحد من الصلاحيات القصوى. الصلاحية الفعلية هي تقاطع (intersection) ما تسمح به سياسة الهوية وما تسمح به حدود الصلاحيات. المنع الصريح في أي منهما يتجاوز السماح.
- SCP: يؤثر على الحساب بأكمله ويحد من صلاحيات كل المبادئ داخل الحساب.
- Permissions Boundary: يحدد أقصى صلاحيات لكيان IAM محدد (مستخدم أو دور).
- Identity-based policy: تمنح صلاحيات صريحة لكيان IAM.
- الصلاحية الفعلية = تقاطع الثلاثة. إذا منع أي منها، فلا صلاحية.
حتى لو كانت سياسة الهوية تسمح بإنشاء مستخدم IAM (باستخدام iam:CreateUser) فإن حد الصلاحيات لا يتضمن IAM لذا يفشل الطلب.
هذا يمنح المسؤول تحكماً دقيقاً في صلاحيات كل مستخدم.
| الميزة | SCP | Permissions Boundary |
|---|---|---|
| النطاق | الحساب بأكمله | كيان IAM محدد (مستخدم/دور) |
| الغرض | تحديد الخدمات المسموح بها في الحساب | تحديد أقصى صلاحيات الكيان |
| من يطبقه | مسؤول AWS Organizations | مسؤول حساب AWS |
| التجاوز | لا يمكن تجاوزه محلياً | لا يمكن تجاوزه إلا بتغيير الحد |
5️⃣ AWS Control Tower — برج التحكم
AWS Control Tower تسهّل إعداد وإدارة بيئة AWS متعددة الحسابات وآمنة بناءً على أفضل الممارسات. توفر إعداداً آلياً لبيئة جديدة متقنة التصميم (well-architected multi-account environment) مع حوكمة باستخدام قواعد حماية (guardrails) من قائمة مُعدّة مسبقاً. القاعدة الحامية (guardrail) أو control هي قاعدة عالية المستوى توفر حوكمة مستمرة لبيئة AWS.
- إعداد آلي لبيئة متعددة الحسابات ومتقنة التصميم وفقاً لأفضل الممارسات.
- حوكمة أحمال عمل AWS بقواعد للأمان والتشغيل والامتثال الداخلي.
- توجيه إرشادي (prescriptive guidance) لحوكمة بيئة AWS على نطاق واسع.
- مناسب لبناء بيئة AWS جديدة أو إدارة بيئة حالية.
بدلاً من إعداد كل شيء يدوياً تستخدم AWS Control Tower الذي ينشئ تلقائياً هيكل الحسابات والوحدات التنظيمية ويفعّل قواعد الحوكمة.
هذا يوفر أسابيع من العمل اليدوي ويضمن الامتثال من اليوم الأول.
- معظم المؤسسات تنشئ حسابات AWS متعددة لعزل الموارد وتحقيق فوائد الفوترة المجمّعة.
- AWS Organizations تسمح بدمج الحسابات في مؤسسة واحدة تُدار مركزياً.
- SCPs تحدد أقصى الصلاحيات للحسابات بينما Permissions Boundaries تحدد صلاحيات كيانات IAM محددة.
- Control Tower توفر إعداداً آلياً لبيئة متعددة الحسابات مع حوكمة مدمجة.
- الصلاحية الفعلية = تقاطع ما تسمح به SCP وPermissions Boundary وسياسة الهوية.
📖 جدول المصطلحات
| المصطلح (English) | الترجمة | المفهوم |
|---|---|---|
| AWS Organizations | مؤسسات AWS | خدمة إدارة حسابات لدمج عدة حسابات AWS في مؤسسة واحدة تُدار مركزياً. |
| Organizational Unit (OU) | وحدة تنظيمية | مجموعة هرمية من الحسابات داخل AWS Organizations لتطبيق السياسات. |
| Service Control Policy (SCP) | سياسة التحكم في الخدمات | سياسة تحدّد أقصى الصلاحيات المسموحة للحسابات الأعضاء في المؤسسة. |
| Permissions Boundary | حد الصلاحيات | ميزة لتحديد أقصى صلاحيات يمكن أن تمنحها سياسة هوية لكيان IAM. |
| AWS Control Tower | برج التحكم | خدمة إعداد آلي لبيئة متعددة الحسابات مع حوكمة مدمجة وفقاً لأفضل الممارسات. |
| Guardrail | قاعدة حامية | قاعدة حوكمة عالية المستوى لتطبيق سياسات الأمان والتشغيل والامتثال. |
| Consolidated billing | الفوترة المجمّعة | ميزة تجمع فواتير حسابات متعددة في فاتورة واحدة مع خصومات الحجم. |
1️⃣ Why Protect Data at Rest? — لماذا نحمي البيانات في حالة السكون؟
حماية البيانات في حالة السكون تضمن سرية المعلومات (confidentiality) وسلامتها (integrity) حتى لو تمكن طرف غير مصرح له من الوصول إليها. تشفير البيانات في حالة السكون يصعّب على المهاجمين اختراق البيانات حتى لو تمكنوا من اختراق نقطة نهاية (endpoint). ثالوث CIA (السرية والسلامة والتوفر) هو النموذج المستخدم على نطاق واسع لتطبيق أمن البيانات في المؤسسات.
- السرية (Confidentiality): الحفاظ على البيانات الشخصية آمنة ومخفية عن غير المصرح لهم.
- السلامة (Integrity): ضمان عدم تعديل البيانات أو تغييرها أثناء استخدامها.
- التوفر (Availability): ضمان بقاء البيانات متاحة عند الحاجة للشخص المناسب.
2️⃣ Types of Encryption — أنواع التشفير
التشفير (encryption) هو عملية استخدام شيفرة (cipher) لتحويل البيانات المقروءة (plaintext) إلى بيانات غير مقروءة (ciphertext). المفتاح (key) هو سلسلة من الأرقام والحروف يستخدمها الخوارزم (algorithm) لتشفير البيانات وفك تشفيرها. هناك نوعان رئيسيان: التشفير المتماثل (symmetric encryption) والتشفير غير المتماثل (asymmetric encryption).
| وجه المقارنة | Symmetric Encryption | Asymmetric Encryption |
|---|---|---|
| المفتاح | مفتاح واحد للتشفير وفك التشفير | زوج مفاتيح: عام (public) وخاص (private) |
| السرعة | أسرع ومناسب للبيانات الكبيرة | أبطأ بسبب طول المفاتيح والحسابات المعقدة |
| الأمان | آمن بشكل عام لكن يجب تغيير المفتاح باستمرار | أكثر أمناً ويوفر عدم التنصل (non-repudiation) |
| متى يُستخدم | البيانات داخل حدود المؤسسة، السرعة والتكلفة أولوية | مشاركة البيانات خارج المؤسسة، عدم مشاركة المفتاح، التنظيم والامتثال |
| مثال | بروتوكول TLS لتبادل البيانات | توقيع الشهادات الرقمية |
لا يمكن فك التشفير إلا باستخدام المفتاح الصحيح مما يحمي البيانات حتى لو اعترضها مهاجم.
3️⃣ Envelope Encryption — التشفير المغلف
التشفير المغلف هو ممارسة تشفير المفتاح الذي استخدمته لتشفير بياناتك. يمكنك تشفير مفتاح تشفير البيانات تحت مفتاح تشفير آخر، ثم تشفير مفتاح التشفير ذاك تحت مفتاح تشفير آخر. للتوضيح: تشفير العنصر بمفتاح (data key)، ثم تشفير ذلك المفتاح بمفتاح آخر (key-encryption key)، وهكذا إلى العدد المطلوب من الطبقات، وتخزين مفتاح التشفير مع العنصر المشفر.
كل طبقة إضافية من الأمان تقلل خطر وصول أي شخص إلى المفتاح الذي يحتاجه لفتح الخزنة الأصلية.
بروتوكول TLS (SSL) يستخدم التشفير المغلف بدمج التشفير المتماثل وغير المتماثل معاً.
ثم يشفر مفتاح البيانات نفسه باستخدام مفتاح تشفير رئيسي (master key) في AWS KMS.
بهذا حتى لو تمكن مهاجم من الحصول على مفتاح البيانات المشفر، لا يمكنه فك تشفيره بدون المفتاح الرئيسي المحفوظ بأمان في KMS.
4️⃣ CSE vs SSE — تشفير جانب العميل مقابل تشفير جانب الخادم
في CSE، يقوم التطبيق بتشفير البيانات محلياً قبل إرسالها إلى AWS وفك تشفيرها بعد استلامها من AWS. أنت تنشئ وتدير مفاتيح التشفير بنفسك. في SSE، يتم تشفير البيانات في وجهتها بواسطة الخدمة أو التطبيق الذي يستلمها. مثلاً، Amazon S3 يشفر بياناتك على مستوى الكائن عند كتابتها على الأقراص في مراكز بيانات AWS ويفك تشفيرها عند وصولك إليها. يمكن استخدام CSE وSSE معاً على نفس البيانات لتعزيز الأمان.
| وجه المقارنة | Client-Side Encryption (CSE) | Server-Side Encryption (SSE) |
|---|---|---|
| مكان التشفير | قبل إرسال البيانات إلى AWS | عند استلام الخدمة للبيانات |
| من يدير المفاتيح | أنت (أو تطبيقك) | AWS (أو أنت عبر KMS) |
| الشفافية | غير شفاف — التطبيق مسؤول | شفاف — يتم تلقائياً |
| مكتبات الدعم | AWS Encryption SDK, DynamoDB Encryption Client, S3 encryption clients | مدمج في الخدمة (S3, EBS, RDS...) |
مع SSE (تشفير جانب الخادم) تقوم برفع البيانات عبر HTTPS وS3 يشفرها تلقائياً قبل التخزين ويفك تشفيرها عند الوصول.
مع CSE (تشفير جانب العميل) يقوم التطبيق بتشفير البيانات في مركز بيانات المؤسسة قبل إرسالها إلى S3 الذي يخزنها كما هي دون تدخل.
5️⃣ AWS Key Management Service (AWS KMS)
AWS KMS هي خدمة مُدارة تتيح إنشاء والتحكم في المفاتيح المستخدمة لتشفير بياناتك. تستخدم الخدمة وحدات أمان عتادية (Hardware Security Modules - HSMs) مُصدّقة وفق FIPS 140-2 لحماية المفاتيح. تتكامل AWS KMS مع خدمات AWS الأخرى لمساعدتك في حماية بياناتك المخزنة لديها. يمكنك تعيين سياسات استخدام على هذه المفاتيح لتحديد المستخدمين الذين يمكنهم استخدامها، وتسجل جميع طلبات استخدام المفاتيح في AWS CloudTrail.
- المفاتيح: Customer managed keys (ينشئها ويديرها العميل)، AWS managed keys (تنشئها وتديرها AWS نيابة عنك)، Data keys (مفاتيح متناظرة للاستخدام خارج KMS)، Data key pairs (مفاتيح غير متناظرة).
- العمليات التشفيرية: Encrypt (تشفير حتى 4096 بايت)، Decrypt (فك التشفير)، GenerateDataKey (إنشاء مفتاح بيانات متناظر)، GenerateDataKeyPair (إنشاء زوج مفاتيح بيانات غير متناظر).
- التكامل: Amazon S3 (تشفير جانب الخادم للكائنات)، Amazon EBS (تشفير وحدات التخزين واللقطات).
1. تطلب رفع الملف وتخزينه ككائن مشفر في S3 bucket.
2. يطلب S3 مفتاح بيانات من KMS.
3. يُنشئ KMS مفتاح بيانات ويشفر بالمفتاح الرئيسي.
4. يُرسل KMS نسختي المفتاح (العادي والمشفر) إلى S3.
5. يشفر S3 الكائن بالمفتاح العادي ويحذفه ويحتفظ بالمفتاح المشفر في البيانات الوصفية.
6️⃣ AWS KMS with Amazon EBS — KMS مع EBS
تشفير Amazon EBS هو حل تشفير مباشر لموارد EBS المرتبطة بمثيلات EC2. يستخدم تشفير AES-256-XTS الذي يتطلب مفتاحين بطول 256 بت (يمكن اعتباره مفتاحاً واحداً بطول 512 بت). يُشفر مفتاح البيانات تحت مفتاح KMS في حسابك. البيانات المشفرة على القرص وعمليات الإدخال/الإخراج واللقطات (snapshots) كلها مشفرة. التشفير وفك التشفير شفافان تماماً ولا يتطلبان أي إجراء إضافي منك أو من تطبيقك.
- يحصل EBS على مفتاح بيانات مشفر تحت مفتاح عميل من KMS ويخزنه مع البيانات المشفرة.
- تسترجع الخوادم المستضيفة لمثيلات EC2 مفتاح البيانات المشفر من التخزين.
- يُرسل طلب إلى KMS عبر TLS لفك تشفير مفتاح البيانات.
- يُخزن مفتاح البيانات المفكوك في الذاكرة ويستخدم لتشفير وفك تشفير كل البيانات المتدفقة من وإلى وحدة EBS.
يختار خيار التشفير عند إنشاء وحدة EBS ويختار مفتاح KMS من حسابه.
بعد ذلك كل البيانات على القرص واللقطات وحتى الأقراص الجديدة المبنية على اللقطات تكون مشفرة تلقائياً دون أي جهد إضافي.
- تشفير البيانات في حالة السكون يصعّب على المهاجمين اختراق البيانات حتى لو تمكنوا من اختراق نقطة النهاية.
- التشفير المتماثل يستخدم مفتاحاً واحداً، وهو أسرع ومناسب للبيانات الكبيرة.
- التشفير غير المتماثل يستخدم زوج مفاتيح (عام وخاص)، أكثر أماناً لكنه أبطأ.
- التشفير المغلف (Envelope Encryption) هو تشفير مفتاح البيانات تحت مفتاح آخر.
- CSE: التطبيق يشفر محلياً قبل الإرسال. SSE: الخدمة تشفر بعد الاستلام.
- AWS KMS: خدمة مُدارة للمفاتيح مع HSMs مادي وتكامل مع خدمات AWS.
📖 جدول المصطلحات
| المصطلح (English) | الترجمة | المفهوم |
|---|---|---|
| Encryption | التشفير | عملية تحويل البيانات المقروءة إلى بيانات غير مقروءة باستخدام خوارزم ومفتاح. |
| Symmetric encryption | تشفير متماثل | نوع تشفير يستخدم نفس المفتاح للتشفير وفك التشفير. |
| Asymmetric encryption | تشفير غير متماثل | نوع تشفير يستخدم زوج مفاتيح: عام للتشفير وخاص لفك التشفير. |
| Envelope encryption | التشفير المغلف | ممارسة تشفير مفتاح البيانات تحت مفتاح تشفير آخر في طبقات. |
| AWS KMS | خدمة إدارة المفاتيح | خدمة مُدارة لإنشاء والتحكم في مفاتيح التشفير مع HSMs مادية. |
| CSE | تشفير جانب العميل | تطبيق العميل يشفر البيانات قبل إرسالها إلى AWS. |
| SSE | تشفير جانب الخادم | خدمة AWS تشفر البيانات بعد استلامها وقبل تخزينها. |
| HSM | وحدة أمان عتادية | جهاز مادي مخصص لحماية المفاتيح التشفيرية وتنفيذ العمليات التشفيرية بأمان. |
1️⃣ Defense in Depth — الدفاع في العمق
جزء أساسي من ركيزة الأمان في AWS Well-Architected Framework هو تطبيق الأمان في جميع الطبقات وتنفيذ نهج الدفاع في العمق. تقييد الوصول هو طبقة مهمة، لكن هناك طبقات إضافية تشمل منع حركة المرور غير المرغوب فيها، إضافة آليات حماية إضافية للبيانات (مثل حماية البيانات الحساسة والشخصية)، وأتمتة القدرة على كشف والاستجابة للثغرات والأحداث الأمنية.
- إدارة الهوية والوصول: IAM، IAM Identity Center، Amazon Cognito، AWS Organizations.
- الكشف والاستجابة: AWS CloudTrail، Amazon Detective، Amazon Inspector، AWS Security Hub.
- حماية الشبكة والتطبيقات: AWS Network Firewall، AWS Shield، AWS WAF.
- حماية البيانات: AWS KMS، AWS Secrets Manager، Amazon Macie.
- الامتثال: AWS Artifact، AWS Audit Manager.
2️⃣ AWS WAF — جدار حماية تطبيقات الويب
AWS WAF (Web Application Firewall) هي جدار حماية لتطبيقات الويب تراقب طلبات HTTP وHTTPS الموجهة إلى موارد تطبيق الويب المحمية. يمكنك استخدام قواعد مُدارة أو قواعد مخصصة للسماح أو الحظر بناءً على عنوان IP أو بلد المنشأ أو قيم الترويسة (headers). تتضمن الخدمة AWS Shield بدون تكلفة إضافية للمساعدة في تقليل أثر هجمات رفض الخدمة الموزعة (DDoS).
- حظر الطلبات التي تفتقد إلى ترويسة HTTP User-Agent.
- كشف وإدارة محاولات إنشاء حسابات ضارة على صفحة التسجيل.
- توفير حماية DDoS على طبقات الشبكة (layer 3, 4) وطبقة التطبيق (layer 7).
يستخدم الموقع AWS WAF مع AWS Shield لحظر الطلبات القادمة من عناوين IP المعروفة بالضارة.
كما يضيف قاعدة تمنع الطلبات التي لا تحتوي على ترويسة User-Agent لإيقاف الروبوتات الآلية.
3️⃣ Amazon Macie — أمازون ماسي
Amazon Macie هي خدمة أمن بيانات تستخدم التعلم الآلي (machine learning) لاكتشاف وتصنيف وحماية البيانات الحساسة في AWS تلقائياً. تتعرف Macie على المعلومات الشخصية القابلة للتعريف (PII) مثل أرقام جوازات السفر وأرقام الهوية الطبية وأرقام الضرائب، وكذلك المعلومات المالية ومفاتيح التشفير وبيانات الاعتماد. حالياً تحمي Macie البيانات المخزنة في Amazon S3 فقط.
- اكتشاف البيانات الحساسة آلياً باستخدام التعلم الآلي ومطابقة الأنماط.
- إنشاء وتشغيل مهام اكتشاف البيانات الحساسة.
- استخدام معرفات بيانات مدمجة أو مخصصة (تعبيرات منتظمة regex).
- مراجعة وتحليل وإدارة النتائج.
- التكامل مع AWS Organizations لإدارة حتى 5,000 حساب.
تستخدم Amazon Macie لفحص buckets تلقائياً بحثاً عن أرقام التأمين الصحي (PII).
عند اكتشاف بيانات حساسة في موقع غير متوقع تُرسل الخدمة تنبيهاً للمسؤول لمراجعة الملف واتخاذ الإجراء المناسب.
4️⃣ Amazon Inspector — أمازون إنسبكتور
Amazon Inspector هي خدمة إدارة ثغرات (vulnerability management) تمسح أحمال عمل AWS باستمرار بحثاً عن ثغرات برمجية وتعرض شبكي غير مقصود. تكتشف وتفحص تلقائياً مثيلات Amazon EC2 وصور الحاويات في Amazon ECR ودوال AWS Lambda. عند اكتشاف ثغرة أو مشكلة شبكية، تنشئ الخدمة نتيجة (finding) تصف الثغرة وتحدد المورد المتأثر وتقيم شدتها وتقدم توجيهات للمعالجة.
- إدارة مركزية للبيئة عبر حساب واحد باستخدام AWS Organizations.
- تقييم دقيق للثغرات باستخدام درجة المخاطر (Risk score).
- تحديد النتائج عالية التأثير عبر لوحة المعلومات (dashboard).
- نشر النتائج إلى Amazon EventBridge للتكامل مع خدمات أخرى.
يستخدم Amazon Inspector لفحص صور EC2 تلقائياً.
عند اكتشاف ثغرة حرجة في صورة AMI يتم إيقاف النشر تلقائياً عبر EventBridge وإبلاغ الفريق للمعالجة.
5️⃣ Amazon Detective — أمازون ديتيكتيف
Amazon Detective تساعد في تحليل والتحقيق وتحديد السبب الجذري (root cause) للنتائج الأمنية أو الأنشطة المشبوهة بسرعة. تجمع الخدمة تلقائياً بيانات السجلات من موارد AWS وتستخدم التعلم الآلي والتحليل الإحصائي ونظرية الرسم البياني (graph theory) لتوليد تصورات تدعم تحقيقات أمنية أسرع وأكثر كفاءة. يمكنك الوصول إلى بيانات تاريخية تصل إلى عام كامل.
- فرز مشكلة محتملة بإيجاد كل النشاط المتعلق بكيان IAM محدد.
- عرض البيانات منظمة في نموذج رسم بياني مُعدّ مسبقاً مع علاقات أمنية.
- التحقق من البيانات ومقارنتها وربطها للوصول إلى استنتاجات بسرعة.
- استيعاب ومعالجة البيانات ذات الصلة من جميع الحسابات الممكنة تلقائياً.
يستخدم Amazon Detective للبحث عن جميع الأنشطة المتعلقة بدور IAM معين خلال آخر 7 أيام.
يكتشف أن الدور استُخدم من عنوان IP غير معتاد في منتصف الليل مما يشير إلى اختراق محتمل.
يساعده التصور البياني للعلاقات على تتبع مسار الهجوم بسرعة.
6️⃣ AWS Security Hub — مركز الأمن
AWS Security Hub تجمع بيانات الأمن عبر حسابات AWS والخدمات ومنتجات الطرف الثالث المدعومة. تساعدك في تحليل اتجاهاتك الأمنية وتحديد أهم القضايا الأمنية. توفر نقاط أمان (security score) لكل معيار ممكّن ونقطة إجمالية لجميع الحسابات. تدعم معايير أمنية متعددة بما في ذلك AWS Foundational Security Best Practices (FSBP) وأطر الامتثال الخارجية.
- يدعم معايير أمنية متعددة بما في ذلك FSBP وأطر الامتثال الخارجية.
- يتلقى نتائج من خدمات AWS أخرى مثل Amazon Macie وAmazon Inspector.
- يستخدم قواعد أتمتة لتحديث النتائج الحرجة تلقائياً عند فشل فحص أمني.
- يتكامل مع EventBridge لأتمتة سير العمل.
تفعِّل AWS Security Hub لمراقبة الوضع الأمني عبر جميع الحسابات من لوحة تحكم واحدة.
يتلقى Security Hub نتائج من Amazon Inspector (ثغرات) وAmazon Macie (بيانات حساسة) ويقدم نقاط أمان شاملة.
عند اكتشاف ثغرة حرجة يُرسل إشعار إلى فريق الأمن تلقائياً عبر EventBridge.
7️⃣ AWS Trusted Advisor — مستشار AWS الموثوق
AWS Trusted Advisor تقدم توصيات بناءً على خمس فئات من أفضل ممارسات AWS: تحسين التكلفة والأمان وتحمل الأعطال وحدود الخدمة وتحسين الأداء. تقيّم حسابك وتقترح تحسينات وتحسينات لمواردك. بعد تفعيل Security Hub لحساب AWS الخاص بك، يمكنك عرض عناصر التحكم الأمني والنتائج في وحدة تحكم Trusted Advisor.
- تحسين التكلفة (cost optimization).
- الأمان (security).
- تحمل الأعطال (fault tolerance).
- حدود الخدمة (service limits).
- تحسين الأداء (performance improvement).
يفتح Trusted Advisor ويرى توصيات مثل: مفاتيح الوصول لـ IAM غير مستخدمة منذ 90 يوماً، ومجموعات أمان EC2 تسمح بالوصول من أي عنوان IP على المنفذ 22 (SSH).
يتبع التوصيات لإزالة المفاتيح غير المستخدمة وتقييد الوصول إلى SSH مما يحسّن الوضع الأمني فوراً.
| الخدمة | الفئة | الوظيفة الرئيسية |
|---|---|---|
| AWS WAF | حماية التطبيقات | جدار حماية لتطبيقات الويب يراقب طلبات HTTP/HTTPS |
| Amazon Macie | حماية البيانات | اكتشاف البيانات الحساسة في S3 باستخدام التعلم الآلي |
| Amazon Inspector | الكشف | مسح مستمر للثغرات على EC2 والحاويات و Lambda |
| Amazon Detective | الاستجابة | تحليل وتحديد السبب الجذري للنتائج الأمنية |
| AWS Security Hub | التجميع | تجميع النتائج الأمنية ومراقبة الوضع الأمني |
| AWS Trusted Advisor | التقييم | توصيات لتحسين الأمان والأداء والتكلفة |
- خدمات الأمن في AWS تساعدك في تطبيق استراتيجية الدفاع في العمق على أحمال العمل.
- AWS WAF لمراقبة طلبات الويب وحماية التطبيقات.
- Amazon Macie لتحديد البيانات الحساسة في S3.
- Amazon Inspector لتحديد الثغرات على EC2 والحاويات وLambda.
- Amazon Detective لتحليل والتحقيق في الأنشطة الأمنية المشبوهة.
- AWS Security Hub لتجميع النتائج ومراقبة الوضع الأمني.
- AWS Trusted Advisor يُقيّم البيئة ويقدم توصيات لسد الثغرات الأمنية.
📖 جدول المصطلحات
| المصطلح (English) | الترجمة | المفهوم |
|---|---|---|
| AWS WAF | جدار حماية تطبيقات الويب | خدمة لمراقبة وحظر طلبات HTTP/HTTPS الضارة إلى تطبيقات الويب. |
| Amazon Macie | أمازون ماسي | خدمة تكتشف البيانات الحساسة وتصنفها في S3 باستخدام التعلم الآلي. |
| Amazon Inspector | أمازون إنسبكتور | خدمة إدارة ثغرات تمسح أحمال العمل بحثاً عن الثغرات والتعرض الشبكي. |
| Amazon Detective | أمازون ديتيكتيف | خدمة تحليل وتحقيق لتحديد السبب الجذري للنتائج الأمنية. |
| AWS Security Hub | مركز الأمن | خدمة تجمع النتائج الأمنية وتراقب الوضع الأمني عبر معايير متعددة. |
| AWS Trusted Advisor | المستشار الموثوق | خدمة توصيات لتقييم الحساب وتحسين الأمان والأداء والتكلفة. |
| Defense in Depth | الدفاع في العمق | استراتيجية أمنية تطبق طبقات حماية متعددة عبر جميع مستويات البنية. |
🚀 الخاتمة
في هذه الوحدة تعلمنا كيفية تأمين وصول المستخدمين والتطبيقات والبيانات في AWS. استعرضنا إدارة الصلاحيات باستخدام IAM مع المستخدمين والمجموعات والأدوار، والفرق بين RBAC وABAC وكيف تبسّط السمات (tags) إدارة الصلاحيات على نطاق واسع. تعمقنا في دمج الهويات الخارجية عبر Identity Federation باستخدام IAM Identity Center وAWS STS وAmazon Cognito. ثم انتقلنا إلى إدارة الحسابات المتعددة عبر AWS Organizations مع SCPs وحدود الصلاحيات (Permissions Boundaries) وAWS Control Tower. تعرفنا على تشفير البيانات في حالة السكون باستخدام AWS KMS والفرق بين التشفير المتماثل وغير المتماثل وCSE مقابل SSE. وأخيراً استعرضنا خدمات الأمن المتقدمة في AWS مثل AWS WAF وAmazon Macie وAmazon Inspector وAmazon Detective وAWS Security Hub وAWS Trusted Advisor لتطبيق استراتيجية الدفاع في العمق وحماية البنية السحابية من جميع الاتجاهات.
