all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pbs-devel] [RFC proxmox-backup 00/15] API tokens
@ 2020-10-19  7:39 Fabian Grünbichler
  2020-10-19  7:39 ` [pbs-devel] [PATCH proxmox-backup 01/15] fix indentation Fabian Grünbichler
                   ` (14 more replies)
  0 siblings, 15 replies; 23+ messages in thread
From: Fabian Grünbichler @ 2020-10-19  7:39 UTC (permalink / raw)
  To: pbs-devel

sending as RFC since there are a few implementation details up for
discussion while I struggle with the JS/GUI part ;)

it's mostly modeled after API tokens in PVE, with two differences:
- tokens are always privilege separated
- the user+token list returns full tokenids, not token names

first three patches are just cleanups that fell out of developing this
series.

missing/room for follow-ups:
- allow setting arbitrary ACLs for tokens (since they are restricted to
  the permissions of the user anyway)
- cache authenticated tokens to avoid round trip through hashing/shadow
  file?
- GUI

Fabian Grünbichler (15):
  fix indentation
  fix typos
  REST: rename token to csrf_token
  Userid: extend schema with token name
  add ApiToken to user.cfg and CachedUserInfo
  config: add token.shadow file
  REST: extract and handle API tokens
  api: add API token endpoints
  api: allow listing users + tokens
  api: add permissions endpoint
  client: allow using ApiToken + secret
  owner checks: handle backups owned by API tokens
  tasks: allow unpriv users to read their tokens' tasks
  manager: add token commands
  manager: add user permissions command

 src/api2/access.rs                     |  99 +++++-
 src/api2/access/acl.rs                 |   2 +-
 src/api2/access/user.rs                | 450 ++++++++++++++++++++++++-
 src/api2/admin/datastore.rs            | 134 +++++---
 src/api2/backup.rs                     |   3 +-
 src/api2/config/remote.rs              |   4 +-
 src/api2/node/tasks.rs                 |  30 +-
 src/api2/reader.rs                     |   3 +-
 src/api2/types/mod.rs                  |  15 +-
 src/api2/types/userid.rs               | 367 +++++++++++++++++---
 src/bin/proxmox-backup-client.rs       |   6 +-
 src/bin/proxmox_backup_manager/acl.rs  |   2 +-
 src/bin/proxmox_backup_manager/user.rs | 129 +++++++
 src/client/http_client.rs              |  41 ++-
 src/config.rs                          |   1 +
 src/config/acl.rs                      |  67 ++--
 src/config/cached_user_info.rs         |  65 +++-
 src/config/remote.rs                   |   2 +-
 src/config/token_shadow.rs             |  79 +++++
 src/config/user.rs                     |  98 +++++-
 src/server/rest.rs                     |  71 ++--
 21 files changed, 1443 insertions(+), 225 deletions(-)
 create mode 100644 src/config/token_shadow.rs

-- 
2.20.1





^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2020-10-20 10:16 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-19  7:39 [pbs-devel] [RFC proxmox-backup 00/15] API tokens Fabian Grünbichler
2020-10-19  7:39 ` [pbs-devel] [PATCH proxmox-backup 01/15] fix indentation Fabian Grünbichler
2020-10-19 12:00   ` [pbs-devel] applied: " Thomas Lamprecht
2020-10-19  7:39 ` [pbs-devel] [PATCH proxmox-backup 02/15] fix typos Fabian Grünbichler
2020-10-19 12:01   ` [pbs-devel] applied: " Thomas Lamprecht
2020-10-19  7:39 ` [pbs-devel] [PATCH proxmox-backup 03/15] REST: rename token to csrf_token Fabian Grünbichler
2020-10-19 12:02   ` [pbs-devel] applied: " Thomas Lamprecht
2020-10-19  7:39 ` [pbs-devel] [RFC proxmox-backup 04/15] Userid: extend schema with token name Fabian Grünbichler
2020-10-19  7:39 ` [pbs-devel] [RFC proxmox-backup 05/15] add ApiToken to user.cfg and CachedUserInfo Fabian Grünbichler
2020-10-19  7:39 ` [pbs-devel] [RFC proxmox-backup 06/15] config: add token.shadow file Fabian Grünbichler
2020-10-19  7:39 ` [pbs-devel] [RFC proxmox-backup 07/15] REST: extract and handle API tokens Fabian Grünbichler
2020-10-20  8:34   ` Wolfgang Bumiller
2020-10-19  7:39 ` [pbs-devel] [RFC proxmox-backup 08/15] api: add API token endpoints Fabian Grünbichler
2020-10-20  9:42   ` Wolfgang Bumiller
2020-10-20 10:15     ` Wolfgang Bumiller
2020-10-19  7:39 ` [pbs-devel] [RFC proxmox-backup 09/15] api: allow listing users + tokens Fabian Grünbichler
2020-10-20 10:10   ` Wolfgang Bumiller
2020-10-19  7:39 ` [pbs-devel] [RFC proxmox-backup 10/15] api: add permissions endpoint Fabian Grünbichler
2020-10-19  7:39 ` [pbs-devel] [RFC proxmox-backup 11/15] client: allow using ApiToken + secret Fabian Grünbichler
2020-10-19  7:39 ` [pbs-devel] [RFC proxmox-backup 12/15] owner checks: handle backups owned by API tokens Fabian Grünbichler
2020-10-19  7:39 ` [pbs-devel] [RFC proxmox-backup 13/15] tasks: allow unpriv users to read their tokens' tasks Fabian Grünbichler
2020-10-19  7:39 ` [pbs-devel] [RFC proxmox-backup 14/15] manager: add token commands Fabian Grünbichler
2020-10-19  7:39 ` [pbs-devel] [RFC proxmox-backup 15/15] manager: add user permissions command Fabian Grünbichler

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal