93 lines
3.5 KiB
Markdown
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]]
|