https://github.com/kanidm/kanidm Skip to content Sign up * Why GitHub? Features - + Mobile - + Actions - + Codespaces - + Packages - + Security - + Code review - + Issues - + Integrations - + GitHub Sponsors - + Customer stories- * Team * Enterprise * Explore + Explore GitHub - Learn and contribute + Topics - + Collections - + Trending - + Learning Lab - + Open source guides - Connect with others + The ReadME Project - + Events - + Community forum - + GitHub Education - + GitHub Stars program - * Marketplace * Pricing Plans - + Compare plans - + Contact Sales - + Education - [ ] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this organization All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} kanidm / kanidm Public * Notifications * Star 649 * Fork 31 * Kanidm: A simple, secure and fast identity management platform MPL-2.0 License 649 stars 31 forks Star Notifications * Code * Issues 78 * Pull requests 2 * Discussions * Actions * Projects 0 * Wiki * Security * Insights More * Code * Issues * Pull requests * Discussions * Actions * Projects * Wiki * Security * Insights master Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags 3 branches 23 tags Code Latest commit @Firstyear Firstyear Minor book change ... b51d32d Oct 17, 2021 Minor book change b51d32d Git stats * 476 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time .github/workflows removing book runs on pull_request (#537) Jul 24, 2021 artwork Resolve potential issue with use of Australian Coat of Arms (#347) Feb 1, 2021 designs Add more detail to repl design (#543) Jul 31, 2021 ethics 468 valueset abstraction (#538) Jul 29, 2021 examples fixes #571 (#572) Aug 22, 2021 kanidm_book Minor book change Oct 16, 2021 kanidm_client 509 oauth2 scope mapping (#586) Oct 7, 2021 kanidm_proto 509 oauth2 scope mapping (#586) Oct 7, 2021 kanidm_rlm_python Fixing #521 - Documenting the server role (#535) Jul 24, 2021 kanidm_tools Update outputs for "group" commands (#591) Oct 10, 2021 kanidm_unix_int fixes (#589) Oct 9, 2021 kanidmd Integrated compiled-uuid into kanidmd/src/lib/constants/uuids.rs (#... Oct 11, 2021 kanidmd_web_ui (cargo-release) version 1.1.0-alpha.6 Oct 1, 2021 orca (cargo-release) version 1.1.0-alpha.6 Oct 1, 2021 platform/opensuse Fixes #528 - DynamicUser was set to kanidmd (#530) Jul 22, 2021 profiles Base web UI (#391) Mar 26, 2021 project_docs (cargo-release) version 1.1.0-alpha.6 Oct 1, 2021 .clippy.toml User feedback improvements, also handling a permissions issue (#424) Apr 26, 2021 .dockerignore 195 rel cleanup (#268) Jun 18, 2020 .gitignore (cargo-release) version 1.1.0-alpha.6 Oct 1, 2021 CHECKLIST.md Add support for working server integration test! Nov 27, 2018 CODE_OF_CONDUCT.md Update CODE_OF_CONDUCT.md Jan 25, 2021 CONTRIBUTORS.md Add statistical analysis to indexes (#505) Jul 2, 2021 Cargo.lock Integrated compiled-uuid into kanidmd/src/lib/constants/uuids.rs (#... Oct 11, 2021 Cargo.toml Orca - a load testing framework for Kanidm (#431) May 6, 2021 DEVELOPER_README.md Makes kanidmd bail on startup if it can't find the webpkg dir (#531) Jul 22, 2021 FAQ.md 445 update pam nsswitch md (#451) May 23, 2021 LICENSE.md Change license to MPL #15 Feb 3, 2019 Makefile 509 oauth2 scope mapping (#586) Oct 7, 2021 README.md Update README.md Aug 16, 2021 RELEASE_NOTES.md (cargo-release) version 1.1.0-alpha.6 Oct 1, 2021 RUST_MSRV adding a check for rustc MSRV (#542) Jul 27, 2021 VERSION Minor updates Jul 1, 2020 insecure_generate_tls.sh 356 Use tls chain file (#358) Feb 16, 2021 pull_request_template.md 195 rel cleanup (#268) Jun 18, 2020 View code [ ] Kanidm Documentation / Getting Started / Install Code of Conduct / Ethics Getting in Contact / Questions Developer Getting Started Features Implemented Currently Working On Upcoming Focus Areas Future Some key project ideas Features We Want to Avoid What does Kanidm mean? README.md [logo-small] Kanidm Kanidm is an identity management platform written in rust. Our goals are: * Modern identity management platform * Simple to deploy and integrate with * Extensible for various needs * Correct and secure behaviour by default Today the project is still under heavy development to achieve these goals - We have many foundational parts in place, and many of the required security features, but it is still an Alpha, and should be treated as such. Documentation / Getting Started / Install If you want to deploy Kanidm to see what it can do, you should read the kanidm book We also publish limited support guidelines. Code of Conduct / Ethics See our code of conduct See our documentation on rights and ethics Getting in Contact / Questions We have a gitter community channel where we can talk. Firstyear is also happy to answer questions via email, which can be found on their github profile. Developer Getting Started If you want to develop on the server, there is a getting started guide for developers. IDM is a diverse topic and we encourage contributions of many kinds in the project, from people of all backgrounds. Features Implemented * SSH key distribution for servers * Pam/nsswitch clients (with limited offline auth) * MFA - TOTP * Highly concurrent design (MVCC, COW) * RADIUS integration * MFA - Webauthn Currently Working On * CLI for administration * WebUI for self-service with wifi enrollment, claim management and more. * RBAC/Claims/Policy (limited by time and credential scope) Upcoming Focus Areas * OIDC/Oauth * Replication (async multiple active write servers, read-only servers) Future * SSH CA management * Sudo rule distribution via nsswitch * WebUI for administration * Account impersonation * Synchronisation to other IDM services Some key project ideas * All people should be respected and able to be represented securely. * Devices represent users and their identities - they are part of the authentication. * Human error occurs - we should be designed to minimise human mistakes and empower people. * The system should be easy to understand and reason about for users and admins. Features We Want to Avoid * Auditing: This is better solved by SIEM software, so we should generate data they can consume. * Fully synchronous behaviour: This prevents scaling and our future ability to expand. * Generic database: We don't want to be another NoSQL database, we want to be an IDM solution. * Being like LDAP/GSSAPI/Kerberos: These are all legacy protocols that are hard to use and confine our thinking - we should avoid "being like them" or using them as models. What does Kanidm mean? The original project name was rsidm while it was a thought experiment. Now that it's growing and developing, we gave it a better project name. Kani is Japanese for "crab". Rust's mascot is a crab. IDM is the common industry term for identity management services. About Kanidm: A simple, secure and fast identity management platform Topics rust security identity idm identity-management Resources Readme License MPL-2.0 License Releases 7 v1.1.0-alpha.6 Latest Oct 1, 2021 + 6 releases Packages 0 No packages published Contributors 14 * * * * * * * * * * * + 3 contributors Languages * Rust 96.6% * JavaScript 2.6% * Python 0.3% * CSS 0.2% * Makefile 0.1% * Dockerfile 0.1% * Shell 0.1% * (c) 2021 GitHub, Inc. * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.