Skip to content

تسجيل الدخول الأحادي (SSO) ومصادقة Windows ​

يدعم Cockpit تسجيل الدخول الأحادي (SSO) والمصادقة بدون كلمة مرور للتكامل مع مزودي الهوية المؤسسيين (IdPs) وبيئات النطاق (Domain environments).


بروتوكولات المصادقة ​

يتكامل Cockpit مع أطر عمل SSO القياسية للتحقق من جلسات المستخدمين:

  1. SAML 2.0: يتكامل مع مزودي الهوية المؤسسيين مثل Okta وKeycloak وPing Identity وMicrosoft Entra ID.
  2. OpenID Connect (OIDC): طبقة مصادقة خفيفة الوزن مبنية فوق OAuth 2.0 لتكاملات دليل السحابة (Cloud directory).
  3. مصادقة Windows المدمجة (Kerberos / GSSAPI): تسمح للأجهزة العميلة المنضمة إلى النطاق بالمصادقة تلقائيًا باستخدام تذكرة أمان Windows النشطة الخاصة بها، مما يلغي الحاجة إلى إدخال بيانات الاعتماد يدويًا.

1. إعداد مصادقة جلسة Windows (Kerberos) ​

يتطلب نشر مصادقة Kerberos إنشاء ملف keytab على وحدة التحكم بالنطاق (Active Directory Domain Controller) وتسجيل وحدة GSSAPI على Cockpit.

الخطوة أ: تحضير خادم Active Directory ​

قم بتشغيل الأوامر الإدارية التالية على وحدة التحكم بالنطاق لتسجيل اسم كيان الخدمة (SPN) وإنشاء ملف keytab:

cmd
# 1. Register the Cockpit service principal name under the service account
setspn -a HTTP/cockpit.corp.awan.io svc-cockpit

# 2. Export the cryptographic keytab file to "cockpit.keytab"
ktpass /out cockpit.keytab /princ HTTP/cockpit.corp.awan.io@CORP.AWAN.IO /mapuser svc-cockpit /pass Password123 /crypto AES256-SHA1 /ptype KRB5_NT_PRINCIPAL

الخطوة ب: إعداد خدمة Cockpit ​

  1. انسخ ملف cockpit.keytab المُنشأ بشكل آمن إلى /etc/cockpit/cockpit.keytab على خادم Cockpit.
  2. أضف المعلمات التالية إلى قسم [auth] في /etc/cockpit/cockpit.conf:
ini
[auth]
sso_enabled = true
sso_method = "kerberos"
sso_keytab_path = "/etc/cockpit/cockpit.keytab"
sso_realm = "CORP.AWAN.IO"
sso_service_principal = "HTTP/cockpit.corp.awan.io@CORP.AWAN.IO"

2. إعداد تكامل SAML 2.0 ​

لتوصيل Cockpit بمزودي الهوية الخارجيين مثل Okta أو Azure AD:

  1. قم بتسجيل الدخول إلى Cockpit بصفة مسؤول.
  2. انتقل إلى Settings > Identity Management > SAML.
  3. حدد Metadata Import وقم بتحميل ملف XML الخاص ببيانات توجيه مزود الهوية (Identity Provider Metadata).
  4. استخرج إعدادات Cockpit لتسجيل التطبيق على مزود الهوية:
    • Entity ID: https://cockpit.corp.awan.io/api/v1/auth/saml/metadata
    • Assertion Consumer Service (ACS) URL: https://cockpit.corp.awan.io/api/v1/auth/saml/acs
  5. قم بإعداد تعيين السمات (Attribute mapping) في مزود الهوية:
    • Username Attribute: قم بتعيينه إلى البريد الإلكتروني الرئيسي للمستخدم أو المعرف الفريد (NameID أو uid).
    • Groups Attribute: قم بتعيينه إلى حقل تأكيد المجموعة (memberOf أو groups) لتمكين التعيين التلقائي للأذونات.