Commit Graph
112 Commits
Author SHA1 Message Date
Martin HoffmannandGitHub fc104247ae Restructure authentication policies. (#1232)
This PR restructures how authentication policies are used in Krill. It
removes the use of Oso and its policy definition language and instead
switches to simple, straightforward mappings between permissions, roles,
and users.

The existing concept of roles is augmented to serve as the central
configuration option for limiting a user’s access to certain action and
resources. Roles are now user configurable via the new auth_roles
configuration directive. For each role, a set of permissions has to be
provided. Optionally, a list of resource handles (vulgo: CAs) can be given
in which case access is limited to these resources.

The authentication providers now assign one of these roles to each logged
in user.

The OpenID Connect provider now only determines claims for “id,” i.e., the
user name, and the “role.” Since we replaced the previous use of JMES
paths with custom functions with a more stringent model of matching and
substitution, the configuration had to change in a non-compatible way,
anyway, so we cleaned it up a bit and switched from a map to an array for
the claims.

For the config file provider, this was already possible by adding a “role”
attribute. This has now been changed into a “role” field of the user
details. In order to make upgrading seamless, the “role” attribute is
still accepted but a deprecation warning is logged. Since the auth_users
configuration is not used for the OpenID Connect provider any more, the
password_hash and salt fields of the user details are now mandatory.

Custom policies have been removed.

This is a breaking change.
2025-02-05 11:45:49 +01:00
Koen van HoveandGitHub 6da2c80d68 Integrate roto-api in Krill replacing RISwhois (#1233)
This PR replaces the downloading and parsing of RISwhois files in Krill
with the roto-api.
2024-12-20 14:28:00 +01:00
Koen van HoveandGitHub 7c14de18e9 Packaging: add Ubuntu Noble, remove Xenial, Bionic, and Debian Stretch (#1239) 2024-12-04 10:15:51 +01:00
Alex Band afc1e783eb spurious indent 2024-07-17 21:01:28 +02:00
Alex Band da773d49eb Update for RtD changes 2024-07-17 20:57:52 +02:00
Alex Band f5fbb30d63 First pass of typo and formatting fixes 2024-07-03 12:34:21 +02:00
Alex Band a88636428e Remove reference to closed and merged issue 2024-07-03 10:46:23 +02:00
Alex Band 865a26cedc Remove CentOS 6 instructions 2024-07-03 10:43:14 +02:00
Alex Band d507f2c8f3 Add docs Makefile and README 2024-07-03 10:19:04 +02:00
Alex BandandGitHub 64834f089d Update docs link 2024-07-03 09:59:02 +02:00
Alex BandandGitHub 7c0c2bc24e Update docs link 2024-07-03 09:57:58 +02:00
Alex Band 1d1ee4f7b1 Update build dependencies 2024-07-02 22:53:43 +02:00
Alex Band f843acc7a9 Updated badges and reflow 2024-07-02 22:39:04 +02:00
Alex Band 2d33e14829 Update OS packages 2024-07-02 22:18:00 +02:00
Alex Band 5789368904 Fetch version info from cargo.toml 2024-07-02 21:49:40 +02:00
Alex Band 15f8c2130d Migrate docs into main project 2024-07-02 21:39:13 +02:00
Tim BruijnzeelsandGitHub 0ede4730a6 Update documentation and comment. (#1091) 2024-01-09 12:49:26 +01:00
Tim Bruijnzeels c907478059 Remove no longer needed 'always_recover_data' function #1086 2023-10-17 15:31:11 +02:00
Tim BruijnzeelsandArjen dd037c7e70 Kvx storage 1067 (#1069)
* Depend on kvx 0.6.0
* Update minimum rust version to 1.65 (required by kvx)
---------

Co-authored-by: Arjen <4867268+arjentz@users.noreply.github.com>
2023-10-17 15:31:11 +02:00
Ximon EighteenandGitHub b22beb3fa3 Remove Cypress based UI tests (#1035) 2023-04-20 13:28:48 +02:00
Tim Bruijnzeels aa11075b9c Merge branch 'main' into prep-0.13.0 2023-04-12 15:48:21 +02:00
Ximon EighteenandGitHub 870b23e3a8 Add krillta package (#1006) 2023-03-07 15:13:11 +01:00
Ximon EighteenandGitHub 41cb0dc0a1 Also note how to disable HTTP/2 and HTTP/3 in Google Chrome. 2023-03-07 12:58:17 +01:00
Ximon EighteenandGitHub a7dda6282a Add note about clearing browser state when diagnosing OIDC issues. 2023-03-07 10:34:25 +01:00
Ximon EighteenandGitHub 32f9b1c8dc Improved Wireshark display filters. 2023-03-07 10:15:26 +01:00
Ximon EighteenandGitHub 416615c18b Add diagnostic recipe for OpenID Connect. 2023-03-07 10:03:13 +01:00
Tim Bruijnzeels a3e67214c2 Update links to documentation in man pages. 2022-07-22 13:53:29 +02:00
Ximon EighteenandGitHub 4d1e63f9ac Also fix the crpytoki crate link in the dev docs. 2022-07-21 12:46:58 +02:00
Ximon EighteenandGitHub d8966d281f Remove incomplete sentence in HSM dev docs. 2022-07-21 11:29:12 +02:00
Ximon EighteenandGitHub 443814e65f Note the change from the pkcs11 crate to the cryptoki crate in the dev docs. 2022-07-21 11:28:40 +02:00
Ximon EighteenandGitHub 09e737789c The HSM feature is now enabled by default. 2022-07-21 11:25:53 +02:00
Tim Bruijnzeels f35ffd7bd3 Fix typo 2022-07-21 10:08:02 +02:00
Tim Bruijnzeels 4e1df9294a Merge 0.9.5-rc8 (main) into dev 2022-03-30 14:05:02 +02:00
ffb7d6ecdd V0.9.5 rc7 prep (#803)
* Use PriorityQueue with time based Priority.
* Improve session sweep logging (make it less noisy)
* Update config file with new refresh settings - cap jitter at 50% of refresh
* Let api schedule repo sync tasks rather than execute it synchronously.
* Update version and readme for RC7
* Use the highest priority in case a task was already in the queue.
* Use consistent capitalization of Krill in config files.
* Update readme regarding ca-parent sync changes
* Update to Lagosta with updated dependencies
* Update developer documentation with new scheduler behaviour.
* Add hidden api end-point for scheduling suspend all - used in testing.

Co-authored-by: Ximon Eighteen <3304436+ximon18@users.noreply.github.com>
2022-03-28 16:01:51 +02:00
Tim BruijnzeelsandXimon Eighteen 5780c771f6 Support prepare-upgrade krill: prepares the new data to migrate. (#777)
* Support "prepare-upgrade" through "krillup" binary.
* Package the new `krillup` binary and man page into a separate DEB/RPM.
* Also switches to building in a Rocky Linux container due to repeated CentOS 8 vault repo timeouts.
* Mention correct config file location on CLI help.
* Remove incorrect reference to non-existent help subcommand for krillup.
* Add locking to upgrade process.

Co-authored-by: Ximon Eighteen <3304436+ximon18@users.noreply.github.com>
2022-02-18 18:02:55 +01:00
Ximon EighteenandGitHub b0be88bc10 HSM support for keys (#21) (#733)
Adds support for PKCS#11 v2.20 and/or KMIP 1.2 compatible HSMs.
Includes backward compatible extensions to the krill.conf syntax.
Includes HSM related developer docs.
Excludes HSM specific API (REST, krillc, Prometheus) or UI extensions.
2022-01-14 14:19:24 +01:00
Ximon EighteenandGitHub faf6bd2549 HSM: Support multiple signers (#539) (#674)
Support multiple signers of different types behind a HSM feature flag, and support in principle selecting which signer to use for which purpose. (#539)
2021-10-05 14:50:58 +02:00
Ximon Eighteen 8aed66bfde Document more details on how the token and user details are passed back to Lagosta post OpenID Connect login. 2021-07-28 11:29:00 +02:00
Ximon Eighteen f508608cb3 Minor improvements to the login flow multi-user developer doc. 2021-07-28 11:15:42 +02:00
Ximon Eighteen cdcd926082 Use the PlantUML Online service to render the diagrams as GitHub doesn't support plantuml syntax rendering. 2021-07-27 16:56:58 +02:00
Ximon Eighteen 07def92bda Initial atttempt at documenting the multi-user login flows from a developer perspective. 2021-07-27 16:54:52 +02:00
Tim Bruijnzeels 85378ff311 Cache the repository content: work around slow deserialization. (#606) 2021-07-16 11:02:47 +02:00
Ximon EighteenandGitHub cdaf0f35b0 Add some images to demonstrate Cyprss interactive UI testing with Krill. 2021-07-12 17:01:26 +02:00
Ximon Eighteen 475b644019 Fix doc image filename and trim doc image border. 2021-07-12 17:00:41 +02:00
Ximon Eighteen 40388d8106 Add some images for use in the development docs. 2021-07-12 16:56:30 +02:00
Tim BruijnzeelsandGitHub ff85ea5170 Release 0.9 (#523) 2021-06-01 12:54:50 +02:00
Tim Bruijnzeels 67227ffaf4 Update developer documentation (#527) 2021-05-20 12:51:52 +02:00
Tim Bruijnzeels 83bc1d7815 Update rc1 to rc2 in openapi spec. 2021-05-12 09:48:10 +02:00
Tim BruijnzeelsandGitHub 8ae546039a Remove resource classes (and withdraw objects) when a parent is removed (#508) 2021-05-04 14:58:28 +02:00
Tim BruijnzeelsandGitHub ba6ee80423 Updates for the v0.9.0-rc1 release (#489)
* Add documentation on releasing.
* Update version in Cargo.
* Update versions in openapi spec.
* Update changelog
2021-04-20 20:13:59 +02:00