
kanidm v1.11.2
セルフホスト型アイデンティティ管理プラットフォーム。WebAuthn パスキー、OAuth2/OIDC SSO、SSH キー配布、RADIUS および LDAP 統合を提供し、現代的な認証を実現します。
Kanidm - シンプルで安全なアイデンティティ管理

概要
Kanidm は、シンプルで安全なアイデンティティ管理プラットフォームであり、他のアプリケーションやサービスが、 認証とアイデンティティの保存という課題を Kanidm にオフロードできるようにします。
このプロジェクトの目標は、可能な限り幅広い要件と 統合をカバーする、完全なアイデンティティプロバイダーになることです。Kanidm を使う際に、他のコンポーネント(Keycloak など)は必要ありません。 必要なものはすべて揃っています。
これを実現するために、私たちは厳格なデフォルト設定、シンプルな構成、自己修復コンポーネントに大きく依存しています。これにより、 Kanidm は小さなホームラボ、家族、小規模ビジネスから、最大規模のエンタープライズ要件までをサポートできます。
自分自身の認証サービスをホストしたいなら、Kanidm はあなたのためのものです。
対応機能
Kanidm がサポートする機能:
- 安全な暗号認証のための Passkeys (WebAuthn)
- 高セキュリティ環境向けのアテステーション付き Passkeys
- リンクされたアプリケーションへの簡単なアクセスを可能にするアプリケーションポータル
- SSO のための OAuth2/OIDC 認証プロバイダー
- トークン交換サービスを備えた OAuth2/OIDC サービスアクセス
- TPM による保護付きオフライン認証を備えた Linux/Unix 統合
- Linux/Unix システムへの SSH 鍵の配布
- ネットワークおよび VPN 認証のための RADIUS
- レガシーシステム向けの読み取り専用 LDAPs ゲートウェイ
- 管理のための完全な CLI ツール群
- データベースレプリケーションを使用した2ノードの高可用性
- ユーザーセルフサービスのための WebUI
- その他にも多数!
ドキュメント / はじめに / インストール
Kanidm でできることについてもっと知りたい場合は、ドキュメントをお読みください。
また、プロジェクトチームがサポートする内容についてのサポートガイドラインを 用意しています。
行動規範 / 倫理
このプロジェクトとのすべてのやり取りは、行動規範によってカバーされています。
機能を開発する際は、権利と倫理に関するプロジェクトのガイドラインに従います。
このプロジェクトとのやり取りに関して、AI/LLM 利用ポリシーを維持しています。
連絡先 / 質問
Matrix を利用した Gitter コミュニティチャンネル があり、プロジェクトメンバーはいつでも喜んでチャットや質問に応じます。 あるいは、新しい GitHub ディスカッション を開くこともできます。
Kanidm とはどういう意味ですか?
Kanidm は、'kani' と 'idm' のかばん語です。Kani は日本語で「カニ」を意味し、Rust のマスコットであるカニの Ferris に関連しています。 アイデンティティ管理はよく 'idm' と略され、認証プロバイダーを指す一般的な業界用語です。
Kanidm は "kar - nee - dee - em" と発音されます。
Kanidm アンセム
アンセムとは、人気のある歌、特に、ある時代 または社会集団に関連する態度や感情を要約していると感じられるロックソングのことです。
Kanidm のアンセムは Crab Rave - Noisestorm です。
他のサービスとの比較
LLDAP
LLDAP は、Web 管理ポータルを備えた、小さくて管理が簡単な LDAP サーバーの提供に焦点を当てた類似プロジェクトです。LLDAP と Kanidm はどちらも Kanidm LDAP バインディング を使用しており、多くの共通する設計思想を共有しています。
LLDAP に対する Kanidm の主な利点は、OAuth2 と OIDC のネイティブサポートを含む、より幅広い組み込み機能セットです。 対照的に、LLDAP はこれらの機能を提供するために Keycloak などの外部ポータルとの統合が必要です。ただし、 LLDAP のシンプルさ(機能が少ないこと)は、特定のユースケースではデプロイと管理を容易にすることができます。
LLDAP は主要なユーザー管理インターフェースとしてシンプルな Web UI を提供しますが、Kanidm は現在、管理 機能を主に CLI を介して提供しており、その Web UI は管理というよりもユーザーとのやり取りを目的として設計されています。
Kanidm がニーズに対して複雑すぎると感じる場合は、LLDAP がより小さくシンプルな代替手段です。しかし、 追加設定なしでより多機能なソリューションが必要な場合は、Kanidm がおそらくより適しています。
389-ds / OpenLDAP
389 Directory Server (389-ds) と OpenLDAP はどちらも汎用 LDAP サーバーです。これらは LDAP 機能のみを提供するため、 OIDC ポータル、セルフサービス Web UI、管理用コマンドラインツールなどの Identity Management (IDM) コンポーネントを 自分で用意する必要があります。
LDAP デプロイの最大限のカスタマイズが必要な場合は、389-ds または OpenLDAP がより良い選択かもしれません。しかし、 IDM に特化したセットアップが簡単なサービスを好むなら、Kanidm は優れた選択肢です。
Kanidm は 389-ds と OpenLDAP の両方から着想を得ており、ディレクトリサービスのパフォーマンスとスケーラビリティにおいて 389-ds に 匹敵するかすでに上回っており、より豊富な機能セットを提供しています。
FreeIPA
FreeIPA は、LDAP、Kerberos、 DNS、認証局 (Certificate Authority) を含む多くのサービスをバンドルした、Linux/Unix 向けの包括的なアイデンティティ管理システムです。
しかし、FreeIPA は多くのコンポーネントと設定で構成されており複雑で、セットアップやアップグレード時のリソース使用量と 管理オーバーヘッドが大きくなります。
Kanidm は、FreeIPA の豊富な機能を提供しつつ、より軽量なリソース消費とよりシンプルな管理を目指しています。 3,000 ユーザーと 1,500 グループのベンチマークでは、Kanidm は検索操作が約 3 倍、 変更と追加が 5 倍高速であることを実証しました(結果は異なる場合がありますが、Kanidm は一般的に速度において FreeIPA を上回ります)。
管理が簡単でより効率的な本格的な IDM ソリューションをお求めなら、Kanidm を検討する価値があります。
Keycloak
Keycloak は、既存の IDM システムの上に WebAuthn 認証を 重ねることができる OIDC/OAuth2/SAML プロバイダーです。スタンドアロンの IDM ソリューションとして動作することもできますが、一般的には LDAP サーバーや類似のバックエンドと併用されます。
Keycloak の導入には、かなりの設定と専門知識が必要です。認証ワークフローに関する広範なカスタマイズオプションは、 初期セットアップを困難にする可能性があります。
Kanidm は、OAuth2 やその他のサービスを提供するために Keycloak を必要としません。これらの機能の多くを、 追加設定なしで、よりシンプルで効率的な方法で統合しています。
Rauthy
Rauthy は、Kanidm と同じライブラリの一部を使用して WebAuthn をサポートする、最小限の OIDC プロバイダーです。
ただし、Rauthy は OIDC のみに焦点を当てており、RADIUS や Unix 認証などの追加のユースケースは サポートしていません。
最小限の OIDC 専用プロバイダーが必要な場合、Rauthy は優れた選択肢です。しかし、より広範な機能セットが必要な場合は、 Kanidm がより良い選択肢です。
Authentik / Authelia / Zitadel
Authentik(Python で記述)、 Authelia と Zitadel(どちらも Go で記述)は、 多くの点で Kanidm に類似した IDM プロバイダーです。しかし、これら 3 つはすべて Unix 認証のサポートが弱く、 Kanidm が提供する高度な認証ポリシーや WebAuthn Attestation 機能を備えていません。
さらに、これらのプロジェクトは PostgreSQL などの外部 SQL データベースに依存しており、潜在的な単一 障害点やパフォーマンスのボトルネックを引き起こす可能性があります。対照的に、Kanidm は独自の高性能データベースと レプリケーションシステムを使用しています。これはエンタープライズ LDAP サーバーの経験に基づいて開発されました。
開発者はじめに
Kanidm に貢献したい場合は、開発者向けガイドがあります。IDM は多様なトピックであり、 さまざまな背景を持つ人々からの多種多様な貢献を歓迎します。なお、 AI が生成したコンテンツの貢献は受け付けていません。
サーバーを開発する際は、代わりに最新のコミットのドキュメントを参照してください。