
kanidm v1.11.2
셀프 호스팅 신원 관리 플랫폼으로, 최신 인증을 위해 WebAuthn 패스키, OAuth2/OIDC SSO, SSH 키 배포, RADIUS 및 LDAP 통합을 제공합니다.
Kanidm - 간단하고 안전한 ID 관리

개요
Kanidm은 간단하고 안전한 ID 관리 플랫폼으로, 다른 애플리케이션과 서비스가 인증 및 ID 저장의 부담을 Kanidm에 위임할 수 있게 해줍니다.
이 프로젝트의 목표는 가능한 가장 넓은 범위의 요구 사항과 통합을 아우르는 완전한 ID 제공자가 되는 것입니다. Kanidm을 사용할 때 다른 구성 요소(예: Keycloak)가 필요하지 않습니다. 이미 필요한 모든 것을 갖추고 있습니다!
이를 위해 우리는 엄격한 기본값, 간단한 구성, 그리고 자가 치유 구성 요소에 크게 의존합니다. 이를 통해 Kanidm은 소규모 홈랩, 가족, 소규모 비즈니스부터 대기업의 요구 사항까지 지원할 수 있습니다.
자체 인증 서비스를 호스팅하고 싶다면 Kanidm이 적합합니다!
지원 기능
Kanidm은 다음을 지원합니다:
- 안전한 암호화 인증을 위한 패스키(WebAuthn)
- 높은 보안 환경을 위한 증명된(attested) 패스키
- 연결된 애플리케이션에 쉽게 접근할 수 있는 애플리케이션 포털
- 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 the crab과 관련이 있습니다. ID 관리는 종종 'idm'으로 축약되며, 인증 제공자를 뜻하는 일반적인 업계 용어입니다.
Kanidm은 "카-니-디-엠"으로 발음합니다.
Kanidm 송가
송가(anthem)는 대중적인 노래, 특히 특정 시대나 사회 집단과 관련된 태도나 감정을 요약한다고 느껴지는 록 노래를 말합니다.
Kanidm의 송가는 Crab Rave - Noisestorm입니다.
다른 서비스와의 비교
LLDAP
LLDAP는 웹 관리 포털을 갖춘 소규모의 관리하기 쉬운 LDAP 서버를 제공하는 데 초점을 맞춘 유사한 프로젝트입니다. LLDAP와 Kanidm은 모두 Kanidm LDAP 바인딩을 사용하며 많은 공통 설계 아이디어를 공유합니다.
Kanidm이 LLDAP보다 가지는 주요 이점은 OAuth2 및 OIDC에 대한 기본 지원을 포함한 더 넓은 내장 기능 세트입니다. 반면 LLDAP는 이러한 기능을 제공하려면 Keycloak과 같은 외부 포털과의 통합이 필요합니다. 그러나 LLDAP의 단순함은 기능이 더 적다는 것을 의미하므로 특정 사용 사례에서는 배포와 관리가 더 쉬울 수 있습니다.
LLDAP가 주요 사용자 관리 인터페이스로 간단한 웹 UI를 제공하는 반면, Kanidm은 현재 주로 CLI를 통해 관리 기능을 제공하며, 웹 UI는 관리보다는 사용자 상호 작용에 더 적합하게 설계되었습니다.
Kanidm이 요구 사항에 비해 너무 복잡하다고 느껴진다면 LLDAP가 더 작고 간단한 대안입니다. 그러나 기본적으로 더 풍부한 기능을 갖춘 솔루션을 원한다면 Kanidm이 더 적합할 것입니다.
389-ds / OpenLDAP
389 디렉터리 서버(389-ds)와 OpenLDAP는 모두 범용 LDAP 서버입니다. LDAP 기능만 제공하므로 OIDC 포털, 셀프 서비스 웹 UI, 관리를 위한 명령줄 도구 등 고유한 ID 관리(IDM) 구성 요소를 직접 제공해야 합니다.
LDAP 배포의 최대 사용자 지정이 필요하다면 389-ds 또는 OpenLDAP가 더 나은 선택일 수 있습니다. 그러나 IDM에 특화된 설정하기 쉬운 서비스를 선호한다면 Kanidm이 더 우수한 옵션입니다.
Kanidm은 389-ds와 OpenLDAP 모두에서 영감을 얻었으며 디렉터리 서비스 성능과 확장성에서 이미 389-ds와 같거나 더 뛰어나면서 더 풍부한 기능 세트를 제공합니다.
FreeIPA
FreeIPA는 Linux/Unix를 위한 포괄적인 ID 관리 시스템으로, LDAP, Kerberos, DNS, 인증 기관(CA)을 포함한 많은 서비스를 함께 묶어 제공합니다.
그러나 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 제공자입니다. 그러나 세 가지 모두 Unix 인증 지원이 약하며 Kanidm이 제공하는 고급 인증 정책이나 WebAuthn 증명(Attestation) 기능을 제공하지 않습니다.
또한 이 프로젝트들은 PostgreSQL과 같은 외부 SQL 데이터베이스에 의존하므로 잠재적인 단일 실패 지점과 성능 병목 현상이 발생할 수 있습니다. 반면 Kanidm은 엔터프라이즈 LDAP 서버 경험을 바탕으로 개발된 자체 고성능 데이터베이스와 복제 시스템을 사용합니다.
개발자 시작하기
Kanidm에 기여하고 싶다면 개발자용 시작 가이드가 있습니다. IDM은 다양한 주제이며 우리는 다양한 배경을 가진 사람들의 다양한 종류의 기여를 환영합니다. 기여에 AI 생성 콘텐츠는 받지 않는다는 점을 유의하세요.
서버를 개발할 때는 최신 커밋 문서를 참조해야 합니다.