kanidm/server
Kanidm是一个简单安全的身份管理平台,允许其他应用程序和服务将身份验证和存储的挑战转移给Kanidm处理。
该项目的目标是成为一个完整的身份提供商,涵盖最广泛的需求和集成。使用Kanidm时,您不需要任何其他组件(如Keycloak)——我们已经提供了您需要的一切!
为实现这一目标,我们高度依赖严格的默认设置、简单的配置和自修复组件。这使Kanidm能够支持小型家庭实验室、家庭、小型企业,乃至最大的企业需求。
如果您想托管自己的身份验证服务,那么Kanidm正是您所需要的!
Kanidm支持:
bash# 拉取Kanidm镜像 docker pull kanidm/server:latest # 创建数据卷 docker volume create kanidm_data # 运行Kanidm容器 docker run -d \ --name kanidm \ -p 8443:8443 \ -v kanidm_data:/data \ -e KANIDM_SERVER_NAME=idm.example.com \ -e KANIDM_ADMIN_PASSWORD=your_secure_password \ kanidm/server:latest
bash# 主节点 docker run -d \ --name kanidm-node1 \ -p 8443:8443 \ -v kanidm_data_node1:/data \ -e KANIDM_SERVER_NAME=idm.example.com \ -e KANIDM_ADMIN_PASSWORD=your_secure_password \ -e KANIDM_REPLICATION_ROLE=primary \ kanidm/server:latest # 备用节点 docker run -d \ --name kanidm-node2 \ -p 8444:8443 \ -v kanidm_data_node2:/data \ -e KANIDM_SERVER_NAME=idm.example.com \ -e KANIDM_ADMIN_PASSWORD=your_secure_password \ -e KANIDM_REPLICATION_ROLE=secondary \ -e KANIDM_REPLICATION_PRIMARY_URL=[***] \ kanidm/server:latest
如需了解更多关于Kanidm的功能,请阅读官方文档:
项目团队还提供了一套支持指南,说明将提供的支持范围。
所有与项目的互动均受我们的行为准则约束。
开发功能时,我们遵循项目的权利和伦理指南。
我们有一个基于Matrix的gitter社区频道,项目成员很乐意聊天并回答问题。您也可以开启新的[GitHub讨论]。
Kanidm是"kani"和"idm"的组合词。Kani在日语中是螃蟹的意思,与Rust的吉祥物Ferris the crab有关。身份管理通常缩写为"idm",是身份验证提供程序的常见行业术语。
Kanidm的发音为"卡尼迪姆"(kar - nee - dee - em)。
LLDAP是一个类似的项目,旨在提供小型且易于管理的LDAP服务器,带有Web管理门户。两个项目都使用Kanidm LDAP绑定,并有许多相似的想法。
Kanidm相比LLDAP的主要优势在于提供更广泛的"内置"功能,如OAuth2和OIDC。如果Kanidm过于复杂,LLDAP是更小的替代方案;如果需要更广泛的功能集,Kanidm是更好的选择。
FreeIPA是另一个Linux/Unix身份管理服务,提供LDAP、Kerberos、DNS、证书颁发机构等功能,但系统复杂,资源开销大。Kanidm旨在提供与FreeIPA相当的功能丰富度,但资源和管理开销更低。
Keycloak是OIDC/OAuth2/SAML提供程序,需大量配置和经验才能部署。Kanidm无需Keycloak即可提供OAuth2等服务,并以更简单正确的方式集成了许多元素。
这些IDM提供程序对UNIX身份验证支持较弱,不支持WebAuthn Attestation,且依赖外部SQL服务器。Kanidm采用自研高性能数据库和复制系统,避免了潜在的单点故障和性能限制。
如需为Kanidm贡献代码,可参考开发者入门指南。IDM是多样化的主题,鼓励各种背景的人以多种方式为项目做贡献。
开发服务器时,应参考最新提交的文档:
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务