Files
wiki/Catalogue-Self-Hosted/apps/app-kanidm.md
T
2026-06-09 18:40:21 +02:00

3.5 KiB


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é)

# 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

🔗 Pages Liées