Proxmox
Configure Proxmox VE with Pocket ID OIDC
The following example variables are used, and should be replaced with your actual URLs.
proxmox.example.com(The URL of your Proxmox instance.)id.example.com(The URL of your Pocket ID instance.)
Pocket ID Setup
- In Pocket ID create a new OIDC Client, name it, for example,
Proxmox. - Set a logo for this OIDC Client if you would like to.
- Set the callback URL to:
https://proxmox.example.com, or leave blank to autofill on first login. - Copy the
Client ID, and theClient Secretfor use in the next steps.
Proxmox Setup
- Open the Proxmox console and navigate to:
Datacenter->Permissions->Realms. - Add a new
OpenID Connect ServerRealm. - Enter
https://id.example.comfor theIssuer URL. - Enter a name for the realm of your choice, for example,
PocketID. - Paste the
Client IDfrom Pocket ID into theClient IDfield in Proxmox. - Paste the
Client Secretfrom Pocket ID into theClient Keyfield in Proxmox. - You can check the
Defaultbox if you want this to be the default realm Proxmox uses when signing in. - Check the
Autocreate Userscheckbox. (This will automatically create users in Proxmox if they don't exist). - Select
usernamefor theUsername Claimdropdown. (This is a personal preference and controls how the username is shown, for example:username = username@PocketIDoremail = username@example@PocketID). - Leave the rest as defaults and click
OKto save the new realm. - Sign in to Proxmox with a Pocket ID user to autocreate the user account.
User Permissions
For individual standalone user management (without groups):
- Navigate to
Datacenter->Permissions. - Click on
Addand selectUser Permission. - Set the
Pathto/for the entire datacenter or specify a specific VM or container path. - Select the newly created
YourPocketUsername@PocketIDaccount. - Set the
RoletoAdministratorfor this account.
Group Permissions
[!WARNING] This is just an example of how to setup RBAC based on OIDC Groups. You may want to adjust the roles and permissions based on your specific needs.
This part is optional, but if you want to restrict access to specific groups and allow specific roles based on user groups, you can do so by following these steps:
Pocket ID Setup
- In Pocket ID create two new
User Groupsfor example:Proxmox UsersandProxmox Admins. - Add the users you want to allow access to Proxmox to these groups.
- Under the
ProxmoxOIDC Client, select the checkbox forProxmox UsersandProxmox Adminsgroups in theAllowed User Groupstable andSave.
Proxmox Setup
- In Proxmox, Edit the
PocketIDrealm you created earlier. - Set the
Scopetoopenid profile email groups. - Set the
Group ClaimtogroupsandSavethe realm. - Set the
Autocreate Groupscheckbox to have Proxmox automatically create groups based on the groups in Pocket ID. - Sign in to Proxmox with a user that is in the
Proxmox UsersorProxmox Adminsgroup. - You should now see the user groups in Proxmox, and you can assign permissions:
- Navigate to
Datacenter->Permissions. - Click on
Addand selectGroup Permission. - Set the
Pathto/for the entire datacenter or specify a specific VM or container path. - Select the
Proxmox Users@PocketIDorProxmox Admins@PocketIDgroup. - Set the
RoletoPVEAuditforProxmox Users@PocketID, andAdministratorforProxmox Admins@PocketID.
- Navigate to