Kanidm: A simple, secure, and fast identity management platform
Find a file
2019-02-26 14:38:12 +10:00
designs Add more design 2019-02-18 19:45:04 +10:00
src Improve error handling 2019-02-26 14:38:12 +10:00
tests Large rework of audit logging 2018-12-27 15:22:03 +10:00
.dockerignore Large rework of audit logging 2018-12-27 15:22:03 +10:00
.gitignore Begin datastructure and work on the core server 2018-11-03 10:30:57 +10:00
Cargo.toml Finished major transaction refactor 2019-01-20 13:45:49 +13:00
CHECKLIST.md Add support for working server integration test! 2018-11-27 20:48:21 +10:00
CODE_OF_CONDUCT.md Begin datastructure and work on the core server 2018-11-03 10:30:57 +10:00
Dockerfile Large rework of audit logging 2018-12-27 15:22:03 +10:00
LICENSE.md Change license to MPL #15 2019-02-03 10:27:49 +10:00
README.md Update readme 2019-02-02 11:44:31 +10:00

Kanidm

Kanidm is an identity management platform written in rust. Our goals are:

  • Modern identity management platform
  • Simple to deploy and integrate with
  • extensible
  • correct

Code of Conduct

See CODE_OF_CONDUCT.md

Examples

MVP features

  • Pam/nsswitch clients (with offline auth, and local totp)
  • CLI for admin
  • OIDC/Oauth
  • SSH key distribution
  • MFA (TOTP)
  • In memory read cache (cow)
  • backup/restore

Planned features

  • Replicated database backend (389-ds, couchdb, or custom repl proto)
  • SAML
  • Read Only Replicas
  • Certificate distribution?
  • Web UI for admin
  • Account impersonation
  • Webauthn
  • Sudo rule distribution via nsswitch?

Features we want to avoid

  • Audit: This is better solved by ...
  • Fully synchronous behaviour: ...
  • Generic database: ... (max db size etc)
  • Being LDAP: ...
  • GSSAPI/Kerberos

More?

Get involved

Designs

See the designs folder

Why do I see rsidm references?

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. It all works out in the end.