تفاصيل المقالة

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

الفرق بين المصادقة (Authentication) والتفويض (Authorization) في الأنظمة الرقمية

الفرق بين المصادقة (Authentication) والتفويض (Authorization) في الأنظمة الرقمية

  • يوسف العمير
مشاركة:

مقدمة

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

كثير من المطورين يخلطون بين المفهومين رغم أنهما يؤديان وظيفتين مختلفتين تماماً داخل النظام.

لفهم الفرق ببساطة:

  • المصادقة تجيب على سؤال: من أنت؟
  • التفويض يجيب على سؤال: ماذا يسمح لك أن تفعل؟

ما هي المصادقة (Authentication)

المصادقة هي عملية التحقق من هوية المستخدم قبل السماح له بالدخول إلى النظام.

أي أن النظام يتأكد أن المستخدم هو بالفعل الشخص الذي يدّعي أنه هو.

تتم المصادقة عادة عبر عدة طرق مثل:

اسم المستخدم وكلمة المرور

رمز تحقق لمرة واحدة (OTP)

بصمة الإصبع أو التعرف على الوجه

تسجيل الدخول عبر خدمات خارجية

تعتمد الكثير من الأنظمة على بروتوكولات قياسية مثل OAuth 2.0 و OpenID Connect لتنفيذ عملية المصادقة بطريقة آمنة.

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

إذا تم التحقق بنجاح، يتم اعتبارك مستخدمًا موثوق الهوية داخل النظام.

ما هو التفويض (Authorization)

بعد أن يتأكد النظام من هوية المستخدم، تأتي الخطوة الثانية وهي تحديد الصلاحيات التي يمتلكها هذا المستخدم داخل النظام.

وهذه العملية تسمى التفويض.

بمعنى آخر، التفويض يحدد ما الذي يمكن للمستخدم فعله داخل التطبيق.

أمثلة على التفويض:

مستخدم عادي يمكنه مشاهدة البيانات فقط

مدير النظام يمكنه تعديل البيانات

المشرف يمكنه حذف المستخدمين

في التطبيقات الكبيرة يتم إدارة هذه الصلاحيات باستخدام نماذج مثل:

Role-Based Access Control (RBAC)

Permission-Based Access Control

مثال عملي: في لوحة إدارة تطبيق ما قد يسمح النظام للمشرفين فقط بحذف البيانات، بينما يسمح للمستخدمين العاديين بعرضها فقط.

العنصر Authentication Authorization
الهدف التحقق من هوية المستخدم تحديد صلاحيات المستخدم
السؤال الذي يجيب عليه من أنت؟ ماذا يمكنك أن تفعل؟
الترتيب يحدث أولاً يحدث بعد المصادقة
مثال تسجيل الدخول للنظام تحديد إمكانية حذف أو تعديل البيانات

بمعنى آخر:

Authentication = إثبات الهوية

Authorization = تحديد الصلاحيات

مثال عملي في تطبيقات الويب

عند دخول المستخدم إلى نظام إدارة محتوى:

  1. يقوم المستخدم بإدخال البريد الإلكتروني وكلمة المرور. هنا يتم تنفيذ المصادقة.

  2. بعد نجاح تسجيل الدخول، يقوم النظام بفحص دور المستخدم.

  3. إذا كان المستخدم مديراً يتم منحه صلاحيات إضافية مثل إدارة المستخدمين أو حذف المقالات.

هذه الخطوة تمثل التفويض.

لماذا الفصل بين المصادقة والتفويض مهم

الفصل بين هذين المفهومين يحقق عدة فوائد مهمة:

  • تحسين أمان النظام

  • تسهيل إدارة الصلاحيات

  • دعم الأنظمة الكبيرة متعددة المستخدمين

  • إمكانية دمج أنظمة تسجيل دخول خارجية بسهولة

ولهذا تعتمد معظم الأنظمة الحديثة على هذا الفصل في تصميم البنية الأمنية للتطبيقات.

خلاصة

المصادقة والتفويض هما عنصران أساسيان في أي نظام آمن.

المصادقة مسؤولة عن تأكيد هوية المستخدم، بينما التفويض مسؤول عن تحديد ما يمكن لهذا المستخدم القيام به داخل النظام.

فهم هذا الفرق يساعد المطورين على تصميم تطبيقات أكثر أماناً وتنظيماً وقابلية للتوسع.

يوسف العمير