--- title: Kanidm created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, authentication, sso, oidc, ldap, idm, rust] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Authentication, https://github.com/kanidm/kanidm] --- # 🔐 Kanidm > Identity Management moderne écrit en Rust, performant et sécurisé, supportant OIDC, LDAP, OAuth2 et WebAuthn. ## 📋 Informations Générales | Attribut | Valeur | |----------|--------| | **Nom** | Kanidm | | **Slug** | app-kanidm | | **Description** | IdM moderne écrit en Rust, sécurisé et performant | | **Site officiel** | https://kanidm.com | | **Repository** | https://github.com/kanidm/kanidm | | **Stars** | 5 032 ⭐ | | **Licence** | MPL 2.0 | | **Langage principal** | Rust | | **Catégorie** | Authentication | | **Tags** | [catalogue, authentication, sso, oidc, ldap, idm, rust] | ## 📝 Description Kanidm est un serveur d'Identity Management moderne, écrit en **Rust** par **William Brown** (SUSE/Alibaba). Le projet vise à fournir un IdM **sécurisé, performant et ergonomique** pour les organisations, en rupture avec la complexité de **OpenLDAP** ou de **389 Directory Server**. Kanidm supporte **OIDC**, **OAuth 2.0**, **LDAP** (en option), **WebAuthn/FIDO2**, **TOTP** et la **fédération d'identités** (SAML, Google, etc.). Le projet met l'accent sur la **sécurité by design** : bindings TLS obligatoires, durcissement SSH automatique pour les comptes avec clés, **account policies** strictes, **event log** détaillé. Kanidm se distingue de Keycloak/389-DS par sa **performance** (Rust, async, single binary), sa **sécurité** (memory-safe, type-safe) et son **API moderne** (REST + CLI `kanidm`). C'est le choix idéal pour des organisations qui veulent un IdM moderne, sans la JVM, avec un focus sécurité. Documentation très complète. ## 🚀 Installation ### Via Docker (recommandé) ```yaml # docker-compose.yml services: kanidm: image: kanidm/server:latest hostname: kanidm-server command: ["kanidmd", "server", "-c", "/data/server.toml"] ports: - "8443:8443" volumes: - ./kanidm-data:/data environment: KANIDM_DOMAIN: example.com KANIDM_ORIGIN: https://idm.example.com ``` ### Installation manuelle Single binary Rust, `kanidmd server`. Binaire CLI `kanidm` pour l'administration. Voir https://kanidm.com/docs. ## ⚙️ Configuration - **Domain** : nom DNS de l'instance - **OIDC Clients** : enregistrement des apps - **Groups / Roles** : RBAC natif - **Service Accounts** : comptes techniques (LDAP, mail, etc.) - **Account Policies** : MFA obligatoire, password policy - **WebAuthn** : passkeys comme premier facteur ## 🔗 Alternatives - **389 Directory Server** — IdM traditionnel Red Hat - **OpenLDAP** — Annuaire historique, complexe - **Keycloak** — IdM enterprise en Java, plus complet - **authentik** — IdM moderne en Python/Go ## 🔒 Sécurité - Activer **HTTPS** (HSTS, certificats valides) - Activer **WebAuthn** comme premier facteur - Activer le **MFA obligatoire** sur les comptes admin - Durcir le système (systemd unit, AppArmor) - Mettre à jour régulièrement (release fréquente) ## 📚 Ressources - Site officiel : https://kanidm.com - Repository GitHub : https://github.com/kanidm/kanidm - Documentation : https://kanidm.com/docs/ ## 🔗 Pages Liées - [[cat-authentication]] (n'existe pas encore, OK) - [[app-keycloak]] — IdM enterprise - [[app-authentik]] — IdM moderne - [[app-pocket-id]] — OIDC simple - [[app-traefik]] - [[recettes-docker-compose]] - [[securisation-home-lab]]