
kanidm v1.11.2
منصة إدارة هوية ذاتية الاستضافة توفّر مفاتيح مرور WebAuthn، ودخولًا موحدًا عبر OAuth2/OIDC، وتوزيع مفاتيح SSH، وتكامل RADIUS وLDAP للمصادقة الحديثة.
Kanidm - إدارة هوية بسيطة وآمنة

حول
Kanidm هي منصة إدارة هوية بسيطة وآمنة، تتيح للتطبيقات والخدمات الأخرى إسناد مهمة المصادقة وتخزين الهويات إلى Kanidm.
الهدف من هذا المشروع هو أن يكون مزود هوية متكاملًا، يغطي أوسع مجموعة ممكنة من المتطلبات والتكاملات. لن تحتاج إلى أي مكونات أخرى (مثل Keycloak) عند استخدام Kanidm - لدينا بالفعل كل ما تحتاجه!
لتحقيق هذا، نعتمد بشكل كبير على إعدادات افتراضية صارمة، وتكوين بسيط، ومكونات ذاتية الإصلاح. وهذا يتيح لـ Kanidm دعم المختبرات المنزلية الصغيرة، والعائلات، والشركات الصغيرة، وصولًا إلى احتياجات أكبر المؤسسات.
إذا كنت ترغب في استضافة خدمة مصادقة خاصة بك، فإن Kanidm هو الخيار المناسب لك!
الميزات المدعومة
يدعم Kanidm ما يلي:
- مفاتيح المرور (WebAuthn) للمصادقة التشفيرية الآمنة
- مفاتيح مرور موثّقة للبيئات عالية الأمان
- بوابة التطبيقات التي تتيح سهولة الوصول إلى التطبيقات المرتبطة
- مزود مصادقة OAuth2/OIDC للدخول الموحد (SSO)
- وصول الخدمة عبر OAuth2/OIDC مع خدمات تبادل الرموز
- تكامل مع Linux/Unix مع مصادقة غير متصلة محمية بتقنية TPM
- توزيع مفاتيح SSH إلى أنظمة Linux/Unix
- RADIUS لمصادقة الشبكة والـ VPN
- بوابة LDAPs للقراءة فقط للأنظمة القديمة (Legacy)
- أدوات CLI كاملة للإدارة
- توفر عالٍ عبر عقدتين باستخدام النسخ المتماثل لقاعدة البيانات
- واجهة ويب للخدمة الذاتية للمستخدمين
- والمزيد!
التوثيق / البدء / التثبيت
إذا كنت تريد قراءة المزيد حول ما يمكن أن يقدمه Kanidm، فيجب عليك قراءة توثيقاتنا.
لدينا أيضًا مجموعة من إرشادات الدعم لما سيدعمه فريق المشروع.
مدونة قواعد السلوك / الأخلاقيات
جميع التفاعلات مع المشروع تخضع لـمدونة قواعد السلوك.
عند تطوير الميزات، نتبع إرشادات مشروعنا بشأن الحقوق والأخلاقيات.
نحافظ على سياسة استخدام الذكاء الاصطناعي/LLM الخاصة بالتفاعلات مع هذا المشروع.
التواصل / الأسئلة
لدينا قناة مجتمع gitter مدعومة بـ Matrix حيث يسعد أعضاء المشروع دائمًا بالدردشة والإجابة عن الأسئلة. بدلاً من ذلك، يمكنك فتح مناقشة GitHub جديدة.
ماذا يعني Kanidm؟
Kanidm هو مزيج من 'kani' و'idm'. Kani تعني سلطعون باليابانية، وهي مرتبطة بتميمة لغة Rust، Ferris السلطعون. إدارة الهوية غالبًا ما تُختصر إلى 'idm'، وهي مصطلح شائع في الصناعة لمزودي المصادقة.
يُنطق Kanidm كـ "kar - nee - dee - em".
نشيد Kanidm
النشيد هو أغنية شائعة، خاصة أغنية روك يُنظر إليها على أنها تلخّص المواقف أو المشاعر المرتبطة بفترة معينة أو مجموعة اجتماعية.
نشيد Kanidm هو Crab Rave - Noisestorm
مقارنة مع الخدمات الأخرى
LLDAP
LLDAP هو مشروع مشابه يركّز على توفير خادم LDAP صغير وسهل الإدارة مع بوابة إدارة ويب. يستخدم كل من LLDAP وKanidm روابط Kanidm الخاصة بـ LDAP ويتشاركان في العديد من أفكار التصميم المشتركة.
الميزة الأساسية لـ Kanidm على LLDAP هي مجموعة ميزاته المدمجة الأوسع، بما في ذلك الدعم الأصلي لـ OAuth2 وOIDC. في المقابل، يتطلب LLDAP التكامل مع بوابة خارجية مثل Keycloak لتوفير هذه الميزات. ومع ذلك، فإن بساطة LLDAP — حيث يقدم ميزات أقل — يمكن أن تجعل نشره وإدارته أسهل في حالات استخدام معينة.
في حين يوفر LLDAP واجهة ويب بسيطة كواجهة إدارة مستخدمين رئيسية، يقدم Kanidm حاليًا وظائف إدارية بشكل أساسي عبر CLI الخاص به، بينما صُممت واجهة الويب الخاصة به للتفاعلات مع المستخدمين أكثر من الإدارة.
إذا شعرت أن Kanidm معقد للغاية بالنسبة لاحتياجاتك، فإن LLDAP بديل أصغر وأبسط. لكن إذا كنت تريد حلاً أكثر ثراءً بالميزات بشكل جاهز، فمن المرجح أن يكون Kanidm أكثر ملاءمة.
389-ds / OpenLDAP
كل من 389 Directory Server (389-ds) وOpenLDAP هما خادما LDAP للأغراض العامة. يوفران وظائف LDAP فقط، لذا يجب عليك توفير مكونات إدارة الهوية (IDM) الخاصة بك — مثل بوابة OIDC، وواجهة ويب للخدمة الذاتية، وأدوات سطر أوامر للإدارة، والمزيد.
إذا كنت تحتاج إلى أقصى تخصيص لنشر LDAP الخاص بك، فقد يكون 389-ds أو OpenLDAP خيارًا أفضل. ومع ذلك، إذا كنت تفضل خدمة سهلة الإعداد تركّز تحديدًا على IDM، فإن Kanidm خيار متفوق.
يستوحي Kanidm من كل من 389-ds وOpenLDAP، ويتفوق بالفعل على 389-ds أو يساويه في أداء خدمة الدليل وقابلية التوسع، مع تقديم مجموعة ميزات أغنى.
FreeIPA
FreeIPA هو نظام إدارة هوية شامل لأنظمة Linux/Unix، يضم العديد من الخدمات بما في ذلك LDAP وKerberos وDNS وسلطة التصديق الرقمية (Certificate Authority).
ومع ذلك، فإن FreeIPA معقد، ويتكون من مكونات وتكوينات عديدة، مما يؤدي إلى استخدام أعلى للموارد وعبء إداري أكبر أثناء الإعداد والترقيات.
يهدف Kanidm إلى تقديم ثراء ميزات FreeIPA ولكن ببصمة موارد أخف وإدارة أبسط. في اختبارات قياس الأداء مع 3,000 مستخدم و1,500 مجموعة، أظهر Kanidm عمليات بحث أسرع بنحو ثلاثة أضعاف وتعديلات وإضافات أسرع بخمسة أضعاف (قد تختلف النتائج، لكن Kanidm يتفوق عمومًا على FreeIPA في السرعة).
إذا كنت تريد حلاً كاملاً لإدارة الهوية (IDM) أسهل في الإدارة وأكثر كفاءة، فإن Kanidm يستحق النظر فيه.
Keycloak
Keycloak هو مزود OIDC/OAuth2/SAML يمكنه إضافة مصادقة WebAuthn فوق أنظمة إدارة الهوية (IDM) الموجودة. على الرغم من أنه يمكن أن يعمل كحل IDM مستقل، إلا أنه يُستخدم بشكل شائع إلى جانب خادم LDAP أو نظام خلفي مشابه.
يتطلب نشر Keycloak قدرًا كبيرًا من التكوين والخبرة. كما أن خيارات التخصيص الواسعة لسير عمل المصادقة يمكن أن تجعل الإعداد الأولي صعبًا.
لا يتطلب Kanidm وجود Keycloak لتوفير OAuth2 والخدمات الأخرى. فهو يدمج العديد من هذه الإمكانات بطريقة أبسط وأكثر انسيابية بشكل جاهز.
Rauthy
Rauthy هو مزود OIDC بسيط يدعم WebAuthn — باستخدام بعض المكتبات نفسها المستخدمة في Kanidm.
ومع ذلك، يركز Rauthy حصريًا على OIDC ولا يدعم حالات استخدام إضافية مثل مصادقة RADIUS أو Unix.
إذا كنت بحاجة إلى مزود OIDC فقط وبسيط، فإن Rauthy خيار ممتاز. لكن إذا كنت تحتاج إلى مجموعة ميزات أوسع، فإن Kanidm هو الخيار الأفضل.
Authentik / Authelia / Zitadel
Authentik (مكتوب بلغة Python)، وAuthelia وZitadel (كلاهما مكتوبان بلغة Go) هم مزودو IDM مشابهون لـ Kanidm في جوانب عديدة. ومع ذلك، فإن جميعهم لديهم دعم أضعف لمصادقة Unix ولا يوفرون سياسات المصادقة المتقدمة أو قدرات توثيق WebAuthn (WebAuthn Attestation) التي يقدمها Kanidm.
بالإضافة إلى ذلك، تعتمد هذه المشاريع على قواعد بيانات SQL خارجية مثل PostgreSQL، مما قد يُدخل نقاط فشل فردية محتملة واختناقات في الأداء. في المقابل، يستخدم Kanidm قاعدة البيانات عالية الأداء ونظام النسخ المتماثل الخاصين به، اللذين طُوّرا بناءً على خبرة خوادم LDAP المؤسسية.
البدء للمطورين
إذا كنت ترغب في المساهمة في Kanidm، فهناك دليل للمطورين للبدء. إدارة الهوية (IDM) موضوع متنوع ونشجع على المساهمات من أنواع عديدة في المشروع، من أشخاص من خلفيات مختلفة. يرجى ملاحظة أننا لا نقبل المحتوى المُنشأ بالذكاء الاصطناعي في المساهمات.
عند تطوير الخادم، يجب بدلاً من ذلك الرجوع إلى توثيق أحدث commit.