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

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


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

changes since v2:

- some minor formatting changes and move to `join` instead of
  `with_file_name` as  that does seem to work as previously expected.

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




More information about the pbs-devel mailing list