Apidog

منصة تطوير API تعاونية متكاملة

تصميم API

توثيق API

تصحيح أخطاء API

محاكاة API

اختبار API الآلي

ما هو SAML وكيف يعمل؟

تتيح SAML (لغة تأكيد الأمان) الوصول الآمن والسلس إلى تطبيقات متعددة من خلال تبادل بيانات المصادقة بين مزود الهوية (IdP) ومزود الخدمة (SP).

@apidog

@apidog

Updated on نوفمبر 6, 2024

يمكن لـ SAML (لغة تأكيد الأمان) تمكين الوصول الآمن والسلس إلى عدة تطبيقات من خلال تبادل بيانات المصادقة بين مزود الهوية (IdP) ومزود الخدمة (SP).

يسمح ذلك للمستخدمين بتسجيل الدخول مرة واحدة والوصول إلى خدمات متنوعة دون إعادة إدخال بيانات الاعتماد، مما يعزز الأمان وتجربة المستخدم في بيئات المؤسسات. في هذا المنشور، سنستكشف كيف يعمل SAML وفوائده.

ما هي لغة تأكيد الأمان (SAML)؟

يوفر مصادقة SAML (لغة تأكيد الأمان) وصولاً آمناً إلى الخدمات من خلال تبادل بيانات المصادقة والتفويض بين مزود الهوية (IdP) ومزود الخدمة (SP). يُستخدم هذا البروتوكول بشكل شائع في بيئات المؤسسات لتوفير وصول سلس للمستخدمين إلى عدة تطبيقات باستخدام مجموعة واحدة من بيانات الاعتماد.

مكونات SAML

إليك المكونات الرئيسية ومفاهيم SAML:

  • مزود الهوية (IdP): هو الكيان الذي يقوم بمصادقة المستخدم ويقدم تأكيدًا لمزود الخدمة. يحتوي التأكيد على معلومات حول هوية المستخدم وسماته.
  • مزود الخدمة (SP): هو الكيان الذي يتلقى تأكيد SAML ويتخذ قرارات التحكم في الوصول بناءً عليه. يُوثق مزود الخدمة الثقة بمزود الهوية لمصادقة المستخدمين.
  • تأكيد SAML: هو وثيقة XML التي يرسلها مزود الهوية إلى مزود الخدمة. تحتوي على معلومات المصادقة، معلومات السمة، وقرارات التفويض.
  • تسجيل دخول موحد (SSO): يُستخدم SAML عادةً لتنفيذ SSO، مما يسمح للمستخدمين بالمصادقة مرة واحدة مع مزود الهوية والحصول على وصول إلى عدة مزودي خدمات دون إعادة المصادقة.
  • الربط: يدعم SAML عدة ربطات لنقل الرسائل، بما في ذلك إعادة توجيه HTTP، HTTP POST، و SOAP.
  • بروتوكول قائم على XML: يستخدم SAML XML لترميز الرسائل التي يتم تبادلها بين مزود الهوية ومزود الخدمة.
💡
يقدم Apidog Enterprise تكوين SSO على مستوى المؤسسات باستخدام مزودي هوية متوافقين مع SAML 2.0 مثل Microsoft Entra ID. تسهل هذه الميزة المصادقة لمستخدمي المؤسسات.
زر

SAML 2.0

استنادًا إلى مفهوم SAML، دعونا نتعمق في SAML 2.0، الذي يُعتبر النسخة الأكثر استخداماً من المعيار. قدمت SAML 2.0 العديد من التحسينات والميزات عن سابقتها SAML 1.1:

  1. تحسين تسجيل الدخول الموحد (SSO): حسّنت SAML 2.0 قدرات SSO، مما جعل من السهل تنفيذها وأكثر قوة من حيث الأمان وتجربة المستخدم.
  2. اتحاد الهوية: يسمح باتحاد الهوية بين المجالات المختلفة بطريقة أكثر سلاسة، مما يتيح للمستخدمين الوصول إلى الموارد عبر منظمات مختلفة بعملية مصادقة واحدة.
  3. الدعم لعدة سياقات مصادقة: يمكن لـ SAML 2.0 التعامل مع مستويات مختلفة من ضمان المصادقة، مما يمكّن من استخدام طرق مصادقة أقوى عند الحاجة.
  4. تبادل البيانات الوصفية: يدعم هذا الإصدار تبادل البيانات الوصفية بين مزودي الهوية ومزودي الخدمة، مما يساعد على أتمتة التكوين وإقامة علاقات الثقة.
  5. تحسين روابط البروتوكول: يتضمن SAML 2.0 دعمًا أفضل لمختلف بروتوكولات النقل، مثل إعادة توجيه HTTP، HTTP POST، ورابط Artifact، مما يعزز المرونة والتوافق.
  6. استعلام السمات والموافقة: يتيح SAML 2.0 استعلام سمات المستخدم وإدارة موافقة المستخدم بشكل أكثر كفاءة، مما يُحسن من السيطرة على البيانات الشخصية.

كيف تعمل مصادقة SAML؟

عملية المصادقة

تبدأ مصادقة SAML عندما يبدأ المستخدم عملية تسجيل الدخول من خلال إدخال بيانات اعتماده في مزود الهوية. يقوم مزود الهوية بالتحقق من هوية المستخدم وإنشاء تأكيد SAML، والذي يحتوي على سمات المستخدم ومعلومات المصادقة.

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

الوصول إلى الخدمة

بمجرد المصادقة، يحاول المستخدم الوصول إلى خدمة مقدمة من مزود الخدمة. بما أن مزود الخدمة يحتاج إلى التحقق من هوية المستخدم، فإنه يعيد توجيه المستخدم إلى مزود الهوية مع طلب المصادقة. يرد مزود الهوية بإرسال تأكيد SAML إلى مزود الخدمة، عادةً عبر متصفح المستخدم باستخدام HTTP POST أو إعادة توجيه HTTP.

ثم يقوم مزود الخدمة بالتحقق من صحة تأكيد SAML من خلال مراجعة التوقيع الرقمي وشروط التأكيد. إذا كان التأكيد صالحًا، يمنح مزود الخدمة المستخدم الوصول إلى الخدمة المطلوبة. هذه العملية سلسة للمستخدم، الذي يحتاج فقط إلى تسجيل الدخول مرة واحدة للحصول على وصول إلى عدة خدمات.

سيناريو توضيحي

اعتبر سيناريو مؤسسي نموذجي. في بداية يوم العمل، يقوم جون بتسجيل الدخول إلى نظام إدارة الهوية والوصول (IAM) الخاص بشركته، والذي يعمل كمزود هوية، باستخدام بيانات اعتماده الخاصة بالشركة.

يقوم مزود الهوية بالتحقق من بيانات اعتماد جون وينشئ تأكيد SAML، الذي يتضمن معلومات مثل اسم مستخدم جون، توقيت المصادقة، وسمات الوصول المعتمدة على الدور. ثم يحاول جون الوصول إلى خدمة البريد الإلكتروني المستضافة في الشركة، وهي مزود خدمة.

يعيد مزود البريد الإلكتروني توجيه جون إلى مزود الهوية مع طلب المصادقة. يرسل مزود الهوية تأكيد SAML مرة أخرى إلى خدمة البريد الإلكتروني عبر متصفح جون. تتحقق خدمة البريد الإلكتروني من التأكيد من خلال التحقق من التوقيع الرقمي والتأكد من استيفاء جميع الشروط، مثل كون التأكيد موجهًا لخدمة البريد الإلكتروني وغير منتهٍ.

بمجرد التحقق, يُمنح جون الوصول إلى خدمة البريد الإلكتروني دون الحاجة إلى إعادة إدخال بيانات اعتماده، مما يتيح له استخدام الخدمة بسلاسة.

فوائد مصادقة SAML

من خلال دمج مصادقة SAML، يمكن للمؤسسات تبسيط إدارة وصول المستخدمين، وتعزيز الأمان من خلال تقليل خطر الإرهاق من كلمة المرور وإعادة استخدامها، وتوفير وصول سلس للمستخدمين إلى عدة تطبيقات. يؤدي هذا الدمج في نهاية المطاف إلى تحسين كفاءة التشغيل والوضع الأمني.

ما هو تأكيد SAML؟

تأكيد SAML هو وثيقة XML تصدرها مزود هوية SAML (IdP) وتستهلك بواسطة مزود الخدمة (SP). تحتوي على بيانات حول المستخدم يمكن للطرفين الوثوق بها.

الغرض الأساسي من تأكيد SAML هو نقل معلومات الأمان بين مزود الهوية ومزود الخدمة بطريقة آمنة ومعيارية. إليك المكونات الرئيسية وأنواع البيانات الموجودة داخل تأكيد SAML:

المكونات الرئيسية

  • الجهة المصدرة: الكيان الذي أصدر التأكيد، وعادة ما يكون المزود الهوية.
  • الموضوع: المستخدم أو الكيان الذي يتعلق به التأكيد. عادة ما يتضمن ذلك معرفًا فريدًا للمستخدم.
  • الشروط: القيود والقواعد التي يكون بموجبها التأكيد صالحًا، بما في ذلك القيود الزمنية وقيود الجمهور.
  • بيان المصادقة: معلومات حول مصادقة المستخدم في مزود الهوية، مثل طريقة المصادقة والتوقيت.
  • بيان السمة: مجموعة من السمات حول المستخدم، مثل الاسم، عنوان البريد الإلكتروني، الأدوار، إلخ.
  • بيان قرار التفويض: معلومات حول حقوق وصول المستخدم إلى موارد معينة.

أنواع البيانات

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

كيف يعمل تأكيد SAML

  1. طلب المستخدم للوصول: يحاول المستخدم الوصول إلى مورد في مزود الخدمة.
  2. طلب مزود الخدمة للمصادقة: يقوم مزود الخدمة بإعادة توجيه المستخدم إلى مزود الهوية للمصادقة.
  3. المستخدم يحصل على المصادقة: يقدم المستخدم بيانات الاعتماد لمزود الهوية.
  4. مزود الهوية يصدر التأكيد: بعد المصادقة الناجحة، يقوم مزود الهوية بإنشاء تأكيد SAML وإرساله مرة أخرى إلى مزود الخدمة، عادةً عبر متصفح المستخدم.
  5. مزود الخدمة يتحقق من التأكيد: يقوم مزود الخدمة بالتحقق من التأكيد، والتحقق من سلامته، وصلاحية الجهة المصدرة، والشروط.
  6. تُمنح الإذن: إذا كان التأكيد صالحًا، يُمنح المستخدم الوصول إلى المورد.

الاعتبارات الأمنية

  • التشفير: يمكن تشفير تأكيدات SAML لضمان السرية.
  • التوقيع: غالبًا ما يتم توقيع التأكيدات لضمان سلامتها وأصالتها.
  • انتهاء الصلاحية: تتضمن التأكيدات شروطًا، مثل حدود زمنية، للتخفيف من خطر هجمات إعادة التشغيل.