
kanidm v1.11.2
Piattaforma self-hosted di gestione delle identità che fornisce passkey WebAuthn, SSO OAuth2/OIDC, distribuzione delle chiavi SSH, integrazione RADIUS e LDAP per un'autenticazione moderna.
Kanidm - Gestione delle identità semplice e sicura

Informazioni
Kanidm è una piattaforma di gestione delle identità semplice e sicura, che consente ad altre applicazioni e servizi di delegare a Kanidm la sfida dell'autenticazione e dell'archiviazione delle identità.
L'obiettivo di questo progetto è essere un identity provider completo, coprendo la più ampia gamma possibile di requisiti e integrazioni. Non dovresti aver bisogno di altri componenti (come Keycloak) quando usi Kanidm: abbiamo già tutto ciò di cui hai bisogno!
Per raggiungere questo obiettivo ci affidiamo molto a impostazioni predefinite rigorose, configurazione semplice e componenti auto-riparanti. Questo consente a Kanidm di supportare piccoli home lab, famiglie, piccole aziende e arrivare fino alle esigenze delle più grandi imprese.
Se vuoi ospitare il tuo servizio di autenticazione, Kanidm fa per te!
Funzionalità supportate
Kanidm supporta:
- Passkey (WebAuthn) per un'autenticazione crittografica sicura
- Passkey attestate per ambienti ad alta sicurezza
- Portale applicativo che consente un facile accesso alle applicazioni collegate
- Provider di autenticazione OAuth2/OIDC per SSO
- Accesso ai servizi OAuth2/OIDC con servizi di scambio token
- Integrazione Linux/Unix con autenticazione offline protetta da TPM
- Distribuzione delle chiavi SSH ai sistemi Linux/Unix
- RADIUS per l'autenticazione di rete e VPN
- Gateway LDAPs di sola lettura per sistemi legacy
- Strumenti CLI completi per l'amministrazione
- Alta disponibilità a due nodi tramite replica del database
- WebUI per il self-service degli utenti
- E altro ancora!
Documentazione / Per iniziare / Installazione
Se vuoi saperne di più su cosa può fare Kanidm, dovresti leggere la nostra documentazione.
Abbiamo anche una serie di linee guida di supporto per ciò che il team di progetto supporterà.
Codice di condotta / Etica
Tutte le interazioni con il progetto sono coperte dal nostro codice di condotta.
Quando sviluppiamo funzionalità, seguiamo le linee guida del nostro progetto su diritti ed etica.
Manteniamo una politica sull'uso di AI/LLM per le interazioni con questo progetto.
Contatti / Domande
Abbiamo un canale community gitter basato su Matrix dove i membri del progetto sono sempre felici di chiacchierare e rispondere alle domande. In alternativa puoi aprire una nuova discussione GitHub.
Cosa significa Kanidm?
Kanidm è un portmanteau di 'kani' e 'idm'. Kani in giapponese significa granchio, in relazione alla mascotte di Rust, Ferris il granchio. Identity management è spesso abbreviato in 'idm' ed è un termine di settore comune per gli identity provider.
Kanidm si pronuncia "kar - nii - di - em".
Inno di Kanidm
Un inno è una canzone popolare, soprattutto un brano rock che si ritiene riassuma gli atteggiamenti o i sentimenti associati a un periodo o a un gruppo sociale.
L'inno di Kanidm è Crab Rave - Noisestorm
Confronto con altri servizi
LLDAP
LLDAP è un progetto simile incentrato sulla fornitura di un server LDAP piccolo e facile da amministrare con un portale di amministrazione web. Sia LLDAP che Kanidm utilizzano i binding LDAP Kanidm e condividono molte idee di design comuni.
Il vantaggio principale di Kanidm rispetto a LLDAP è la sua più ampia serie di funzionalità integrate, incluso il supporto nativo per OAuth2 e OIDC. Al contrario, LLDAP richiede l'integrazione con un portale esterno come Keycloak per fornire queste funzionalità. Tuttavia, la semplicità di LLDAP — che offre meno funzionalità — può renderlo più facile da distribuire e gestire per alcuni casi d'uso.
Mentre LLDAP fornisce una semplice interfaccia web come principale interfaccia di gestione utenti, Kanidm attualmente offre funzionalità amministrative principalmente tramite la sua CLI, con la sua interfaccia web progettata più per le interazioni degli utenti che per l'amministrazione.
Se Kanidm ti sembra troppo complesso per le tue esigenze, LLDAP è un'alternativa più piccola e semplice. Ma se vuoi una soluzione più ricca di funzionalità pronta all'uso, Kanidm sarà probabilmente la scelta migliore.
389-ds / OpenLDAP
Sia 389 Directory Server (389-ds) che OpenLDAP sono server LDAP generici. Forniscono solo funzionalità LDAP, quindi devi fornire tu stesso i componenti di Identity Management (IDM), come un portale OIDC, un'interfaccia web self-service, strumenti da riga di comando per l'amministrazione e altro ancora.
Se hai bisogno della massima personalizzazione della tua distribuzione LDAP, 389-ds o OpenLDAP potrebbero essere scelte migliori. Tuttavia, se preferisci un servizio facile da configurare e incentrato specificamente sull'IDM, Kanidm è un'opzione superiore.
Kanidm trae ispirazione sia da 389-ds che da OpenLDAP e già eguaglia o supera 389-ds in termini di prestazioni e scalabilità del servizio directory, offrendo al contempo una serie di funzionalità più ricca.
FreeIPA
FreeIPA è un sistema completo di gestione delle identità per Linux/Unix, che raggruppa molti servizi tra cui LDAP, Kerberos, DNS e una certificate authority.
Tuttavia, FreeIPA è complesso, essendo composto da numerosi componenti e configurazioni, il che comporta un maggiore utilizzo di risorse e un sovraccarico amministrativo durante l'installazione e gli aggiornamenti.
Kanidm mira a offrire la ricchezza di funzionalità di FreeIPA ma con un'impronta di risorse più leggera e una gestione più semplice. Nei benchmark con 3.000 utenti e 1.500 gruppi, Kanidm ha dimostrato operazioni di ricerca circa tre volte più veloci e modifiche e aggiunte cinque volte più veloci (i risultati possono variare, ma Kanidm generalmente supera FreeIPA in velocità).
Se vuoi una soluzione IDM completa più facile da gestire e più efficiente, Kanidm merita di essere preso in considerazione.
Keycloak
Keycloak è un provider OIDC/OAuth2/SAML che può aggiungere l'autenticazione WebAuthn sopra i sistemi IDM esistenti. Sebbene possa operare come soluzione IDM autonoma, è comunemente usato insieme a un server LDAP o a un backend simile.
La distribuzione di Keycloak richiede una configurazione e una competenza significative. Le sue ampie opzioni di personalizzazione per i flussi di autenticazione possono rendere impegnativa la configurazione iniziale.
Kanidm non richiede Keycloak per fornire OAuth2 e altri servizi. Integra molte di queste capacità in un modo più semplice e più snello, fin da subito.
Rauthy
Rauthy è un provider OIDC minimale che supporta WebAuthn, utilizzando alcune delle stesse librerie di Kanidm.
Tuttavia, Rauthy si concentra esclusivamente su OIDC e non supporta casi d'uso aggiuntivi come RADIUS o l'autenticazione Unix.
Se hai bisogno di un provider minimale solo OIDC, Rauthy è un'ottima scelta. Ma se richiedi una serie di funzionalità più ampia, Kanidm è l'opzione migliore.
Authentik / Authelia / Zitadel
Authentik (scritto in Python), Authelia e Zitadel (entrambi scritti in Go) sono provider IDM simili a Kanidm per molti aspetti. Tuttavia, tutti e tre hanno un supporto più debole per l'autenticazione Unix e non forniscono le policy di autenticazione avanzate o le capacità di attestazione WebAuthn che Kanidm offre.
Inoltre, questi progetti si affidano a database SQL esterni come PostgreSQL, che possono introdurre potenziali punti di guasto singoli e colli di bottiglia nelle prestazioni. Al contrario, Kanidm utilizza il proprio database ad alte prestazioni e il proprio sistema di replica, sviluppati sulla base dell'esperienza con i server LDAP aziendali.
Per iniziare per gli sviluppatori
Se vuoi contribuire a Kanidm, c'è una guida per iniziare [per gli sviluppatori]. L'IDM è un argomento variegato e incoraggiamo contributi di molti tipi al progetto, da persone di ogni estrazione. Ti preghiamo di notare che non accettiamo contenuti generati da AI nei contributi.
Quando sviluppi il server, dovresti invece fare riferimento alla documentazione dell'ultimo commit.