From 6184d645d21c1c084c355c18efecc3e7ac8bc389 Mon Sep 17 00:00:00 2001 From: Krzysztof Dajka Date: Wed, 4 Dec 2024 21:42:34 +0100 Subject: [PATCH] NEW: proxmox example --- examples/media/kanidm_proxmox.png | Bin 0 -> 72223 bytes examples/proxmox.md | 91 ++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 examples/media/kanidm_proxmox.png create mode 100644 examples/proxmox.md diff --git a/examples/media/kanidm_proxmox.png b/examples/media/kanidm_proxmox.png new file mode 100644 index 0000000000000000000000000000000000000000..b7e2687bb7db3573b01a7084643dbb5fdb02d897 GIT binary patch literal 72223 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

Kuha7p~U{(nwHHQqPwI@r;fBK3DHUGU@ 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 z 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

-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 brZHC!BWlC_*4k;2ze|Y73g-yEeE+`y5dT$u literal 0 HcmV?d00001 diff --git a/examples/proxmox.md b/examples/proxmox.md new file mode 100644 index 000000000..a8d588029 --- /dev/null +++ b/examples/proxmox.md @@ -0,0 +1,91 @@ +# Proxmox PVE/PBS + +## Helpful links + +- +- + +## Proxmox OIDC limitation + +As of December 2024 OIDC implementation in proxmox supports only authentication. +Authorization has to be done manually. +Mapping user to specific groups won't work yet (steps 2,3,4). + +Patch for this feature exists, but it hasn't been tested extensively: + +See also: + + +## On Kanidm + +### 1. Create the proxmox resource server + +```bash +kanidm system oauth2 create proxmox "proxmox" https://yourproxmox.example.com +``` + +### 2. Create the appropriate group(s) + +```bash +kanidm group create proxmox_users --name idm_admin +kanidm group create proxmox_admins --name idm_admin +``` + +### 3. Add the appropriate users to the group + +```bash +kanidm group add-members proxmox_users user.name +kanidm group add-members proxmox_admins user.name +``` + +### 4. scope map + +```bash +kanidm system oauth2 update-claim-map-join 'proxmox' 'proxmox_role' array +kanidm system oauth2 update-claim-map 'proxmox' 'proxmox_role' 'proxmox_admins' 'admin' +kanidm system oauth2 update-claim-map 'proxmox' 'proxmox_role' 'proxmox_users' 'user' +``` + +### 5. Add the scopes + +```bash +kanidm system oauth2 update-scope-map proxmox proxmox_users email profile openid +``` + +### 6. Get the client secret + +```bash +kanidm system oauth2 show-basic-secret proxmox +``` + +Copy the value that is returned. + +## On proxmox server + +### Using WebGUI + +Go to +Select Datacenter->Realms->Add->OpenID Connect Server +![](media/kanidm_proxmox.png) +Issuer URL: + +- +When kanidm is behind reverse proxy or when using docker port mapping: +- + +Realm: give some proper name or anything that's meaningful + +Client ID: name given in step 1 (resource server) + +Client Key: secret from step 6 + +Autocreate Users: Automatically create users if they do not exist. Users are stored in Proxmox Cluster File System (pmxcfs) - /etc/pve/user.cfg + +### Using CLI + +Login to proxmox node and execute: + +```bash +pveum realm add kanidm --type openid --issuer-url https://idm.example.com/oauth2/openid/proxmox --client-id proxmox --client-key="secret from step 6" --username-claim username --scopes="email profile openid" --autocreate +``` +