Files
2026-06-09 18:40:21 +02:00

93 lines
3.5 KiB
Markdown

---
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]]