
kanidm v1.11.2
Selbst gehostete Identitätsverwaltungsplattform, die WebAuthn-Passkeys, OAuth2/OIDC-SSO, SSH-Schlüsselverteilung sowie RADIUS- und LDAP-Integration für moderne Authentifizierung bietet.
Kanidm - Einfaches und sicheres Identitätsmanagement

Über
Kanidm ist eine einfache und sichere Plattform für das Identitätsmanagement, die es anderen Anwendungen und Diensten ermöglicht, die Herausforderung der Authentifizierung und Speicherung von Identitäten an Kanidm auszulagern.
Das Ziel dieses Projekts ist es, ein vollständiger Identitätsanbieter zu sein, der den breitestmöglichen Satz an Anforderungen und Integrationen abdeckt. Sie sollten keine weiteren Komponenten (wie Keycloak) benötigen, wenn Sie Kanidm verwenden – wir haben bereits alles, was Sie brauchen!
Um dies zu erreichen, verlassen wir uns stark auf strikte Standardeinstellungen, eine einfache Konfiguration und selbstheilende Komponenten. Dadurch kann Kanidm kleine Heimlabore, Familien, kleine Unternehmen und bis hin zu den größten Anforderungen von Unternehmen unterstützen.
Wenn Sie Ihren eigenen Authentifizierungsdienst betreiben möchten, ist Kanidm genau das Richtige für Sie!
Unterstützte Funktionen
Kanidm unterstützt:
- Passkeys (WebAuthn) für sichere kryptografische Authentifizierung
- Attestierte Passkeys für Umgebungen mit hohen Sicherheitsanforderungen
- Anwendungsportal, das einfachen Zugriff auf verknüpfte Anwendungen ermöglicht
- OAuth2/OIDC-Authentifizierungsanbieter für SSO
- OAuth2/OIDC-Dienstzugriff mit Token-Austauschdiensten
- Linux/Unix-Integration mit TPM-geschützter Offline-Authentifizierung
- SSH-Schlüsselverteilung an Linux/Unix-Systeme
- RADIUS für Netzwerk- und VPN-Authentifizierung
- Schreibgeschütztes LDAPs-Gateway für Altsysteme
- Vollständige CLI-Werkzeuge für die Verwaltung
- Hochverfügbarkeit mit zwei Knoten durch Datenbankreplikation
- Eine WebUI für Benutzer-Self-Service
- Und mehr!
Dokumentation / Erste Schritte / Installation
Wenn Sie mehr darüber erfahren möchten, was Kanidm kann, sollten Sie unsere Dokumentation lesen.
Wir haben außerdem eine Reihe von Support-Richtlinien dafür, was das Projektteam unterstützen wird.
Verhaltenskodex / Ethik
Alle Interaktionen mit dem Projekt unterliegen unserem Verhaltenskodex.
Wenn wir Funktionen entwickeln, folgen wir den Richtlinien unseres Projekts zu [Rechten und Ethik].
Wir pflegen eine KI/LLM-Nutzungsrichtlinie für Interaktionen mit diesem Projekt.
Kontaktaufnahme / Fragen
Wir haben einen Matrix-basierten Gitter-Community-Kanal, in dem Projektmitglieder immer gerne chatten und Fragen beantworten. Alternativ können Sie eine neue GitHub-Diskussion eröffnen.
Was bedeutet Kanidm?
Kanidm ist ein Kofferwort aus ‚kani‘ und ‚idm‘. Kani ist japanisch für Krabbe, verwandt mit Rusts Maskottchen Ferris der Krabbe. Identitätsmanagement wird oft mit ‚idm‘ abgekürzt und ist ein gebräuchlicher Branchenbegriff für Authentifizierungsanbieter.
Kanidm wird als „kar - nee - dee - em“ ausgesprochen.
Kanidm-Hymne
Eine Hymne ist ein populäres Lied, insbesondere ein Rocksong, von dem angenommen wird, dass er die Einstellungen oder Gefühle einer Epoche oder sozialen Gruppe zusammenfasst.
Die Kanidm-Hymne ist Crab Rave - Noisestorm
Vergleich mit anderen Diensten
LLDAP
LLDAP ist ein ähnliches Projekt, das sich auf die Bereitstellung eines kleinen, einfach zu verwaltenden LDAP-Servers mit einem Web-Administrationsportal konzentriert. Sowohl LLDAP als auch Kanidm verwenden die Kanidm-LDAP-Bindungen und teilen viele gemeinsame Designideen.
Der Hauptvorteil von Kanidm gegenüber LLDAP ist der breitere integrierte Funktionsumfang, einschließlich nativer Unterstützung für OAuth2 und OIDC. Im Gegensatz dazu erfordert LLDAP für diese Funktionen die Integration eines externen Portals wie Keycloak. Allerdings kann die Einfachheit von LLDAP – das weniger Funktionen bietet – die Bereitstellung und Verwaltung für bestimmte Anwendungsfälle erleichtern.
Während LLDAP eine einfache Weboberfläche als Hauptschnittstelle für die Benutzerverwaltung bietet, stellt Kanidm derzeit administrative Funktionen hauptsächlich über seine CLI bereit, wobei seine Weboberfläche eher für Benutzerinteraktionen als für die Verwaltung ausgelegt ist.
Wenn Kanidm für Ihre Anforderungen zu komplex erscheint, ist LLDAP eine kleinere und einfachere Alternative. Wenn Sie jedoch eine funktionsreichere Lösung sofort einsatzbereit wünschen, ist Kanidm wahrscheinlich die bessere Wahl.
389-ds / OpenLDAP
Sowohl der 389 Directory Server (389-ds) als auch OpenLDAP sind universelle LDAP-Server. Sie bieten ausschließlich LDAP-Funktionalität, daher müssen Sie Ihre eigenen Identity-Management-Komponenten (IDM) bereitstellen – etwa ein OIDC-Portal, eine Self-Service-Weboberfläche, Befehlszeilenwerkzeuge für die Verwaltung und mehr.
Wenn Sie eine maximale Anpassung Ihrer LDAP-Bereitstellung benötigen, sind 389-ds oder OpenLDAP möglicherweise die bessere Wahl. Wenn Sie jedoch einen einfach einzurichtenden Dienst bevorzugen, der sich speziell auf IDM konzentriert, ist Kanidm die überlegene Option.
Kanidm lässt sich von 389-ds und OpenLDAP inspirieren und erreicht oder übertrifft 389-ds bereits bei Leistung und Skalierbarkeit des Verzeichnisdienstes, während es einen reichhaltigeren Funktionsumfang bietet.
FreeIPA
FreeIPA ist ein umfassendes Identitätsmanagementsystem für Linux/Unix, das viele Dienste bündelt, darunter LDAP, Kerberos, DNS und eine Zertifizierungsstelle.
FreeIPA ist jedoch komplex und besteht aus zahlreichen Komponenten und Konfigurationen, was zu höherem Ressourcenverbrauch und mehr Verwaltungsaufwand bei Einrichtung und Aktualisierungen führt.
Kanidm zielt darauf ab, den Funktionsreichtum von FreeIPA zu bieten, jedoch mit einem geringeren Ressourcenverbrauch und einer einfacheren Verwaltung. In Benchmarks mit 3.000 Benutzern und 1.500 Gruppen zeigte Kanidm etwa dreimal schnellere Suchvorgänge und fünfmal schnellere Änderungen und Hinzufügungen (die Ergebnisse können variieren, aber Kanidm ist bei der Geschwindigkeit im Allgemeinen schneller als FreeIPA).
Wenn Sie eine vollständige IDM-Lösung wünschen, die einfacher zu verwalten und effizienter ist, ist Kanidm eine Überlegung wert.
Keycloak
Keycloak ist ein OIDC-/OAuth2-/SAML-Anbieter, der WebAuthn-Authentifizierung über bestehende IDM-Systeme legen kann. Obwohl es als eigenständige IDM-Lösung betrieben werden kann, wird es häufig zusammen mit einem LDAP-Server oder einem ähnlichen Backend verwendet.
Die Bereitstellung von Keycloak erfordert umfangreiche Konfiguration und Fachwissen. Die zahlreichen Anpassungsmöglichkeiten für Authentifizierungsabläufe können die anfängliche Einrichtung zu einer Herausforderung machen.
Kanidm benötigt kein Keycloak, um OAuth2 und andere Dienste bereitzustellen. Es integriert viele dieser Funktionen sofort einsatzbereit auf einfachere, schlankere Weise.
Rauthy
Rauthy ist ein minimaler OIDC-Anbieter mit WebAuthn-Unterstützung, der einige der gleichen Bibliotheken wie Kanidm verwendet.
Rauthy konzentriert sich jedoch ausschließlich auf OIDC und unterstützt keine zusätzlichen Anwendungsfälle wie RADIUS oder Unix-Authentifizierung.
Wenn Sie einen minimalen reinen OIDC-Anbieter benötigen, ist Rauthy eine ausgezeichnete Wahl. Wenn Sie jedoch einen breiteren Funktionsumfang benötigen, ist Kanidm die bessere Option.
Authentik / Authelia / Zitadel
Authentik (in Python geschrieben), Authelia und Zitadel (beide in Go geschrieben) sind IDM-Anbieter, die Kanidm in vielerlei Hinsicht ähneln. Alle drei haben jedoch eine schwächere Unterstützung für Unix-Authentifizierung und bieten nicht die erweiterten Authentifizierungsrichtlinien oder WebAuthn-Attestierungsfunktionen, die Kanidm bietet.
Darüber hinaus sind diese Projekte auf externe SQL-Datenbanken wie PostgreSQL angewiesen, was potenzielle Single Points of Failure und Leistungsengpässe mit sich bringen kann. Im Gegensatz dazu verwendet Kanidm eine eigene Hochleistungsdatenbank und ein eigenes Replikationssystem, die auf Basis von Erfahrungen mit Enterprise-LDAP-Servern entwickelt wurden.
Erste Schritte für Entwickler
Wenn Sie zu Kanidm beitragen möchten, gibt es einen Leitfaden für Entwickler für den Einstieg. IDM ist ein vielfältiges Thema, und wir ermutigen Menschen aller Hintergründe, auf vielfältige Weise zum Projekt beizutragen. Bitte beachten Sie, dass wir keine KI-generierten Inhalte in Beiträgen akzeptieren.
Bei der Entwicklung des Servers sollten Sie stattdessen die Dokumentation des neuesten Commits heranziehen.