[pbs-devel] [PATCH proxmox v2 0/7] add proxmox-access-control crate

Shannon Sterz s.sterz at proxmox.com
Wed Jun 19 11:54:29 CEST 2024


On Thu Jun 13, 2024 at 2:52 PM CEST, Shannon Sterz wrote:
> this series intends to add a crate that factors out most parts of
> proxmox backup server's access control handling. it does so by
> introducing a trait called `AccessControlConfig` that defines the
> privileges, roles, superuser, groups, caching method, admin- and
> no-access-roles for a product.
>
> this trait is to be implemented by the users of this crate and passed to
> an `init` function alongside the path to a directory that will contain
> all relevant config files.
>
> changes since v1:
>
> - rename from `proxmox-access` to `proxmox-access-control` thanks @
>   Thomas
> - rename `AcmConfig` to `AccessControlConfig`
> - flatten `User` into `UserWithToken` thanks @ Wolfgang
> - adjust some visibility modifiers thanks @ Wolfgang
> - removed shared memory caching and added functions so that users of
>   this crate can implement a preferred caching method thanks @ Wolfgang
> - split the crate into a `impl` and `default` feature so the `default`
>   feature only includes the types and not the whole implementation
>
> proxmox:
>
> Shannon Sterz (7):
>   access-control: add the proxmox-access crate to reuse acl trees
>   access-control: define `User`, `UserWithTokens` and `ApiTokens` types
>   access-control: make token shadow implementation re-usable
>   access-control: factor out user config handling
>   access: increment user cache generation when saving acl config
>   access: move to flatten `User` into `UserWithToken`
>   access-control: split crate in `default` and `impl` features
>
>  Cargo.toml                                    |    3 +
>  proxmox-access-control/Cargo.toml             |   42 +
>  proxmox-access-control/src/acl.rs             | 1006 +++++++++++++++++
>  .../src/cached_user_info.rs                   |  246 ++++
>  proxmox-access-control/src/init.rs            |  123 ++
>  proxmox-access-control/src/lib.rs             |   18 +
>  proxmox-access-control/src/token_shadow.rs    |   84 ++
>  proxmox-access-control/src/types.rs           |  194 ++++
>  proxmox-access-control/src/user.rs            |  180 +++
>  9 files changed, 1896 insertions(+)
>  create mode 100644 proxmox-access-control/Cargo.toml
>  create mode 100644 proxmox-access-control/src/acl.rs
>  create mode 100644 proxmox-access-control/src/cached_user_info.rs
>  create mode 100644 proxmox-access-control/src/init.rs
>  create mode 100644 proxmox-access-control/src/lib.rs
>  create mode 100644 proxmox-access-control/src/token_shadow.rs
>  create mode 100644 proxmox-access-control/src/types.rs
>  create mode 100644 proxmox-access-control/src/user.rs
>
>
> Summary over all repositories:
>   9 files changed, 1896 insertions(+), 0 deletions(-)
>
> --
> Generated by git-murpp 0.5.0

i'll send a v3 as i had to adapt it a little to make it work as
intended. discard this.




More information about the pbs-devel mailing list