ما هو مزود الهوية (IdP)؟
في مجال إدارة الهوية والوصول (Identity and access management, IAM) ، يعد مزود الهوية (IdP) الخدمة المركزية لإدارة الهويات. وهو مسؤول عن مصادقة المستخدمين، إصدار رموز الهوية، وتوفير معلومات المستخدم لـ مزودي الخدمة (مثل التطبيقات، الخدمات، واجهات برمجة التطبيقات).
بالإضافة إلى مصادقة (Authentication) ، تكون مزودي الهوية الحديثة أيضًا مسؤولة عن التفويض (Authorization) (تطبيق سياسات التحكم في الوصول (Access control) ) ودعم الميزات المتقدمة مثل تسجيل الدخول الموحد (SSO) و تعدد المستأجرين (Multi-tenancy) .
معايير مزودي الهوية
نظرًا لطبيعة إدارة الهوية والحاجة إلى التشغيل البيني، سيكون من غير العملي وغير الفعال بناء مزودي الهوية بدون معايير. هذه بعض السيناريوهات النموذجية:
- يحتاج مزودان للهوية للتواصل مع بعضهما لتبادل معلومات المستخدم (مثل تسجيل الدخول الاجتماعي).
- يحتاج تطبيق إلى التحقق من هوية المستخدمين باستخدام مزودي هوية متعددين (مثل هوية متحدّة).
- يحتاج مزود الهوية إلى دعم أنواع متعددة من العملاء (مثل الويب، الجوال، إنترنت الأشياء).
لمعالجة هذه السيناريوهات، طورت الصناعة عدة معايير شائعة لمزودي الهوية:
- OAuth 2.0 : إطار تفويض مستخدم على نطاق واسع يمكن التطبيقات من الحصول على حق الوصول نيابة عن المستخدمين أو الخدمات.
- OpenID Connect (OIDC) : طبقة هوية مبنية على قمة OAuth 2.0 توفر المصادقة ومعلومات المستخدم.
- لغة ترميز تأكيد الأمان (Security Assertion Markup Language, SAML) : معيار لتبادل بيانات المصادقة والتفويض بين نطاقات الأمان.
بالنسبة للتطبيقات الجديدة، يعد OpenID Connect (OIDC) المعيار الموصى باستخدامه إما لبناء مزود هوية أو للتكامل مع مزودي الهوية الحاليين.
هيكلية مزود الهوية
مصطلح “مزود الهوية” لا يحدد بنية معينة أو تنفيذًا معينًا. بمعنى آخر، يمكن أن يكون مزود الهوية أيضًا تطبيقًا أحاديًا أو خدمة صغيرة أو خدمة سحابية.
نظرًا لتعقيد وأهمية إدارة الهوية، تميل التطبيقات الحديثة إلى استخدام مزودي هوية متخصصين يكونون خدمات مستقلة أو حلولًا من البائعين.
ميزات مزود الهوية
تقدم مزودات الهوية الحديثة مجموعة واسعة من الميزات لدعم حالات استخدام ومتطلبات مختلفة. هذه بعض الميزات الشائعة:
- مصادقة (Authentication) : التحقق من هوية المستخدمين باستخدام طرق مختلفة (مثل اسم المستخدم وكلمة المرور، تسجيل الدخول الاجتماعي، المصادقة متعددة العوامل (Multi-factor authentication, MFA) ).
- التفويض (Authorization) : تطبيق سياسات الوصول وإدارة أذونات المستخدم (مثل التحكم في الوصول المستند إلى الأدوار (RBAC) ، التحكم في الوصول المستند إلى السمة (Attribute-based Access Control, ABAC) ).
- إدارة المستخدم: إنشاء وتحديث وحذف حسابات وملفات تعريف المستخدمين؛ توفير بيانات المستخدم لـ مزودي الخدمة .
- إدارة الرموز: إصدار وإدارة رموز الهوية (مثل رمز الهوية، رمز الوصول، رمز التحديث).
- تسجيل الدخول الموحد (SSO) : تمكين المستخدمين من المصادقة مرة واحدة والوصول إلى تطبيقات متعددة.
- تعدد المستأجرين (Multi-tenancy) : دعم منظمات أو مستأجرين متعددين ببيانات مستخدم وتكوينات معزولة.