[pve-devel] applied: [PATCH v3 access-control 04/20] API token: add REs, helpers, parsing + writing

Thomas Lamprecht t.lamprecht at proxmox.com
Tue Jan 28 21:07:52 CET 2020

On 1/21/20 1:54 PM, Fabian Grünbichler wrote:
> token definitions/references in user.cfg always use the full form of the
> token id, consisting of:
> token definitions are represented by their own lines prefixed with
> 'token', which need to come after the corresponding user definition, but
> before any ACLs referencing them.
> parsed representation in a user config hash is inside a new 'tokens'
> element of the corresponding user object, using the unique-per-user
> token id as key.
> only token metadata is stored inside user.cfg / accessible via the
> parsed user config hash. the actual token values will be stored
> root-readable only in a separate (shadow) file.
> 'comment' and 'expire' have the same semantics as for users.
> 'privsep' determines whether an API token gets the full privileges of
> the corresponding user, or just the intersection of privileges of the
> corresponding user and those of the API token itself.
> Signed-off-by: Fabian Grünbichler <f.gruenbichler at proxmox.com>
> ---
> Notes:
>     v1->v2:
>     - remove 'enable' boolean for tokens
>     I am a bit unsure how to differentiate in a clean way between:
>     A full userid/tokenid (username at realm OR username at real!token)
>     B user (username at realm)
>     C tokenid (username at realm!token)
>     D token/tokensubid/tokenid-per-user (just the part after !)
>     I am not sure whether it makes much sense to replace all the existing naming
>     where B becomes A with the introduction of tokens. it might make sense to have
>     some specific variable naming for those few places where we explicitly handle
>     the difference (A goes in, we check if it's B or C and do different stuff in
>     either case), as well as for cleanly separating between C and D. applies to
>     patches after this as well..
>     recommendations/input welcome ;)
>  PVE/AccessControl.pm | 88 ++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 88 insertions(+)

applied, thanks!

More information about the pve-devel mailing list