返回更新列表
新发布Sep 12, 2026

kanidm v1.11.2

自托管身份管理平台,提供 WebAuthn 通行密钥、OAuth2/OIDC 单点登录、SSH 密钥分发、RADIUS 和 LDAP 集成,用于现代身份验证。

分享

Kanidm - 简单且安全的身份管理

Kanidm 标志

关于

Kanidm 是一个简单且安全的身份管理平台,允许其他应用和服务将身份认证与存储的挑战交由 Kanidm 处理。

该项目的目标是成为一个完整的身份提供方,覆盖尽可能广泛的需求和集成。使用 Kanidm 时,您不需要任何其他组件(如 Keycloak)——我们已经拥有您需要的一切!

为了实现这一目标,我们高度依赖严格的默认设置、简单的配置和自我修复组件。这使得 Kanidm 能够支持小型家庭实验室、家庭、小型企业,直至大型企业的需求。

如果您想自行托管认证服务,那么 Kanidm 正适合您!

支持的功能

Kanidm 支持:

  • 通行密钥(WebAuthn),用于安全的加密认证
    • 适用于高安全环境的已认证通行密钥
  • 应用程序门户,便于轻松访问已关联的应用程序
  • OAuth2/OIDC 认证提供商,用于 SSO
  • OAuth2/OIDC 服务访问与令牌交换服务
  • Linux/Unix 集成,支持 TPM 保护的离线认证
  • 向 Linux/Unix 系统分发 SSH 密钥
  • 用于网络和 VPN 认证的 RADIUS
  • 用于遗留系统的只读 LDAPs 网关
  • 用于管理的完整 CLI 工具集
  • 通过数据库复制实现双节点高可用
  • 用于用户自助服务的 WebUI
  • 以及更多功能!

文档 / 快速入门 / 安装

如果您想进一步了解 Kanidm 的功能,请阅读我们的文档。

我们还提供了一套支持指南,说明项目团队将提供哪些支持。

行为准则 / 道德规范

与本项目的所有互动均受我们的[行为准则]约束。

在开发功能时,我们遵循项目中关于[权利与道德]的指南。

我们为此项目的互动制定了 [AI/LLM 使用政策]。

联系我们 / 提问

我们有一个由 Matrix 驱动的 [gitter 社区频道],项目成员随时欢迎您聊天和提问。或者,您也可以发起新的 [GitHub 讨论]。

Kanidm 是什么意思?

Kanidm 是 'kani' 和 'idm' 的合成词。Kani 在日语中是螃蟹的意思,与 Rust 的吉祥物 Ferris 螃蟹有关。身份管理(Identity management)通常缩写为 'idm',是业内对认证提供商的常用术语。

Kanidm 的发音为 "kar - nee - dee - em"。

Kanidm 颂歌

颂歌(anthem)是一首流行歌曲,尤其是摇滚歌曲,被认为能概括某个时代或社会群体的态度或情感。

Kanidm 的颂歌是 Crab Rave - Noisestorm

与其他服务的比较

LLDAP

LLDAP 是一个类似的项目,专注于提供一个小型、易于管理的 LDAP 服务器,并带有 Web 管理门户。LLDAP 和 Kanidm 都使用 Kanidm LDAP 绑定,并且共享许多共同的设计理念。

Kanidm 相对于 LLDAP 的主要优势在于其更丰富的内置功能集,包括对 OAuth2 和 OIDC 的原生支持。相比之下,LLDAP 需要与 Keycloak 等外部门户集成才能提供这些功能。不过,LLDAP 的简洁性——提供的功能更少——在某些用例中可能更易于部署和管理。

虽然 LLDAP 提供了一个简单的 Web UI 作为主要的用户管理界面,但 Kanidm 目前主要通过命令行界面(CLI)提供管理功能,其 Web UI 更多是为用户交互而非管理而设计。

如果您觉得 Kanidm 对您的需求来说过于复杂,LLDAP 是一个更轻量、更简单的替代方案。但如果您希望开箱即用地获得功能更丰富的解决方案,Kanidm 可能更适合您。

389-ds / OpenLDAP

389 目录服务器(389-ds)和 OpenLDAP 都是通用 LDAP 服务器。它们仅提供 LDAP 功能,因此您必须自行提供身份管理(IDM)组件——例如 OIDC 门户、自助 Web UI、用于管理的命令行工具等等。

如果您需要对 LDAP 部署进行最大程度的定制,389-ds 或 OpenLDAP 可能是更好的选择。但如果您更喜欢一个专注于 IDM、易于搭建的服务,Kanidm 是更优的选择。

Kanidm 从 389-ds 和 OpenLDAP 中汲取灵感,在目录服务的性能和可扩展性方面已达到或超过 389-ds,同时还提供了更丰富的功能集。

FreeIPA

FreeIPA 是一个面向 Linux/Unix 的全面身份管理系统,集成了 LDAP、Kerberos、DNS 和证书颁发机构(CA)等众多服务。

然而,FreeIPA 很复杂,包含大量组件和配置,这导致在安装和升级过程中资源占用和管理开销更高。

Kanidm 旨在提供 FreeIPA 那样丰富的功能,但资源占用更少、管理更简单。在包含 3,000 个用户和 1,500 个组的基准测试中,Kanidm 的搜索操作速度约为 FreeIPA 的三倍,修改和添加操作速度快五倍(结果可能因环境而异,但 Kanidm 通常在速度上优于 FreeIPA)。

如果您想要一个更易于管理、更高效的全功能 IDM 解决方案,Kanidm 值得考虑。

Keycloak

Keycloak 是一个 OIDC/OAuth2/SAML 提供商,可以在现有 IDM 系统之上叠加 WebAuthn 认证。虽然它可以作为独立的 IDM 解决方案运行,但通常与 LDAP 服务器或类似后端一起使用。

部署 Keycloak 需要大量配置和专业知识。其对认证工作流的广泛自定义选项可能会让初次设置颇具挑战。

Kanidm 无需 Keycloak 即可提供 OAuth2 等服务。它开箱即用,以更简单、更精简的方式集成了许多此类功能。

Rauthy

Rauthy 是一个极简的 OIDC 提供商,支持 WebAuthn——并使用了一些与 Kanidm 相同的库。

然而,Rauthy 只专注于 OIDC,不支持 RADIUS 或 Unix 认证等其他用例。

如果您需要一个仅支持 OIDC 的极简提供商,Rauthy 是很棒的选择。但如果您需要更广泛的功能集,Kanidm 是更好的选择。

Authentik / Authelia / Zitadel

Authentik(使用 Python 编写)、AutheliaZitadel(后两者均使用 Go 编写)都是与 Kanidm 在许多方面相似的 IDM 提供商。然而,这三者对 Unix 认证的支持较弱,并且不提供 Kanidm 所具备的高级认证策略或 WebAuthn 证明(Attestation)功能。

此外,这些项目依赖 PostgreSQL 等外部 SQL 数据库,这可能会引入潜在的单点故障和性能瓶颈。相比之下,Kanidm 使用基于企业级 LDAP 服务器经验自研的高性能数据库和复制系统。

开发者入门

如果您想为 Kanidm 做出贡献,可以阅读[开发者指南]来入门。IDM 是一个多元化的主题,我们鼓励来自各种背景的人们以多种形式为项目做出贡献。请注意,我们不接受贡献中包含 AI 生成的内容。

在开发服务器时,您应改为参阅最新提交对应的文档。

分类