Skip to content

access / domains ​

6 operations.

GET /access/domains ​

ts
proxmox.access.domains.$get()

Authentication domain index.

Returns an array of object.

POST /access/domains ​

ts
proxmox.access.domains.$post()

Add an authentication server.

Returns nothing.

ParameterTypeRequiredNotes
acr-valuesstringSpecifies the Authentication Context Class Reference values that theAuthorization Server is being requested to use for the Auth Request.
audiencesstringA list of audiences that the OpenID Issuer may include that are accepted in addition to 'client-id'.
autocreatebooleanAutomatically create users if they do not exist. — default 0
base_dnstringLDAP base domain name — ≤ 256 chars
bind_dnstringLDAP bind domain name — ≤ 256 chars
capathstringPath to the CA certificate store — default "/etc/ssl/certs"
case-sensitivebooleanusername is case-sensitive — default 1
certstringPath to the client certificate
certkeystringPath to the client certificate key
check-connectionbooleanCheck bind connection to the server. — default 0
client-idstringOpenID Client ID — ≤ 256 chars
client-keystringOpenID Client Key — ≤ 256 chars
commentstringDescription. — ≤ 4096 chars
defaultbooleanUse this as default realm
domainstringAD domain name — ≤ 256 chars
filterstringLDAP filter for user sync. — ≤ 2048 chars
group_classesstringThe objectclasses for groups. — format ldap-simple-attr-list, default "groupOfNames, group, univentionGroup, ipausergroup"
group_dnstringLDAP base domain name for group sync. If not set, the base_dn will be used. — ≤ 256 chars
group_filterstringLDAP filter for group sync. — ≤ 2048 chars
group_name_attrstringLDAP attribute representing a groups name. If not set or found, the first value of the DN will be used as name. — format ldap-simple-attr, ≤ 256 chars
groups-autocreatebooleanAutomatically create groups if they do not exist. — default 0
groups-claimstringOpenID claim used to retrieve groups with. — ≤ 256 chars
groups-overwritebooleanAll groups will be overwritten for the user on login. — default 0
issuer-urlstringOpenID Issuer Url — ≤ 256 chars
modeldap | ldaps | ldap+starttlsLDAP protocol mode. — default "ldap"
passwordstringLDAP bind password. Will be stored in '/etc/pve/priv/realm/<REALM>.pw'.
portnumberServer port. — min 1, max 65535
promptstringSpecifies whether the Authorization Server prompts the End-User for reauthentication and consent.
query-userinfobooleanEnables querying the userinfo endpoint for claims values. — default 1
realmstringyesAuthentication domain ID — format pve-realm, ≤ 32 chars
scopesstringSpecifies the scopes (user details) that should be authorized and returned, for example 'email' or 'profile'. — default "email profile"
securebooleanUse secure LDAPS protocol. DEPRECATED: use 'mode' instead.
server1stringServer IP address (or DNS name) — format address, ≤ 256 chars
server2stringFallback Server IP address (or DNS name) — format address, ≤ 256 chars
sslversiontlsv1 | tlsv1_1 | tlsv1_2 | tlsv1_3LDAPS TLS/SSL version. It's not recommended to use version older than 1.2!
sync-defaults-optionsstringThe default options for behavior of synchronizations. — format realm-sync-options
sync_attributesstringComma separated list of key=value pairs for specifying which LDAP attributes map to which PVE user field. For example, to map the LDAP attribute 'mail' to PVEs 'email', write 'email=mail'. By default, each PVE user field is represented by an LDAP attribute of the same name.
tfastringUse Two-factor authentication. — format pve-tfa-config, ≤ 128 chars
typead | ldap | openid | pam | pveyesRealm type.
user_attrstringLDAP user attribute name — ≤ 256 chars
user_classesstringThe objectclasses for users. — format ldap-simple-attr-list, default "inetorgperson, posixaccount, person, user"
username-claimstringOpenID claim used to generate the unique username.
verifybooleanVerify the server's SSL certificate — default 0

GET /access/domains/{realm} ​

ts
proxmox.access.domains.$(realm).$get()

Get auth server configuration.

Returns any.

ParameterTypeRequiredNotes
realmstringyesAuthentication domain ID — format pve-realm, ≤ 32 chars

PUT /access/domains/{realm} ​

ts
proxmox.access.domains.$(realm).$put()

Update authentication server settings.

Returns nothing.

ParameterTypeRequiredNotes
acr-valuesstringSpecifies the Authentication Context Class Reference values that theAuthorization Server is being requested to use for the Auth Request.
audiencesstringA list of audiences that the OpenID Issuer may include that are accepted in addition to 'client-id'.
autocreatebooleanAutomatically create users if they do not exist. — default 0
base_dnstringLDAP base domain name — ≤ 256 chars
bind_dnstringLDAP bind domain name — ≤ 256 chars
capathstringPath to the CA certificate store — default "/etc/ssl/certs"
case-sensitivebooleanusername is case-sensitive — default 1
certstringPath to the client certificate
certkeystringPath to the client certificate key
check-connectionbooleanCheck bind connection to the server. — default 0
client-idstringOpenID Client ID — ≤ 256 chars
client-keystringOpenID Client Key — ≤ 256 chars
commentstringDescription. — ≤ 4096 chars
defaultbooleanUse this as default realm
deletestringA list of settings you want to delete. — format pve-configid-list, ≤ 4096 chars
digeststringPrevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications. — ≤ 64 chars
domainstringAD domain name — ≤ 256 chars
filterstringLDAP filter for user sync. — ≤ 2048 chars
group_classesstringThe objectclasses for groups. — format ldap-simple-attr-list, default "groupOfNames, group, univentionGroup, ipausergroup"
group_dnstringLDAP base domain name for group sync. If not set, the base_dn will be used. — ≤ 256 chars
group_filterstringLDAP filter for group sync. — ≤ 2048 chars
group_name_attrstringLDAP attribute representing a groups name. If not set or found, the first value of the DN will be used as name. — format ldap-simple-attr, ≤ 256 chars
groups-autocreatebooleanAutomatically create groups if they do not exist. — default 0
groups-claimstringOpenID claim used to retrieve groups with. — ≤ 256 chars
groups-overwritebooleanAll groups will be overwritten for the user on login. — default 0
issuer-urlstringOpenID Issuer Url — ≤ 256 chars
modeldap | ldaps | ldap+starttlsLDAP protocol mode. — default "ldap"
passwordstringLDAP bind password. Will be stored in '/etc/pve/priv/realm/<REALM>.pw'.
portnumberServer port. — min 1, max 65535
promptstringSpecifies whether the Authorization Server prompts the End-User for reauthentication and consent.
query-userinfobooleanEnables querying the userinfo endpoint for claims values. — default 1
realmstringyesAuthentication domain ID — format pve-realm, ≤ 32 chars
scopesstringSpecifies the scopes (user details) that should be authorized and returned, for example 'email' or 'profile'. — default "email profile"
securebooleanUse secure LDAPS protocol. DEPRECATED: use 'mode' instead.
server1stringServer IP address (or DNS name) — format address, ≤ 256 chars
server2stringFallback Server IP address (or DNS name) — format address, ≤ 256 chars
sslversiontlsv1 | tlsv1_1 | tlsv1_2 | tlsv1_3LDAPS TLS/SSL version. It's not recommended to use version older than 1.2!
sync-defaults-optionsstringThe default options for behavior of synchronizations. — format realm-sync-options
sync_attributesstringComma separated list of key=value pairs for specifying which LDAP attributes map to which PVE user field. For example, to map the LDAP attribute 'mail' to PVEs 'email', write 'email=mail'. By default, each PVE user field is represented by an LDAP attribute of the same name.
tfastringUse Two-factor authentication. — format pve-tfa-config, ≤ 128 chars
user_attrstringLDAP user attribute name — ≤ 256 chars
user_classesstringThe objectclasses for users. — format ldap-simple-attr-list, default "inetorgperson, posixaccount, person, user"
verifybooleanVerify the server's SSL certificate — default 0

DELETE /access/domains/{realm} ​

ts
proxmox.access.domains.$(realm).$delete()

Delete an authentication server.

Returns nothing.

ParameterTypeRequiredNotes
realmstringyesAuthentication domain ID — format pve-realm, ≤ 32 chars

POST /access/domains/{realm}/sync ​

ts
proxmox.access.domains.$(realm).sync.$post()

Syncs users and/or groups from the configured LDAP to user.cfg. NOTE: Synced groups will have the name 'name-$realm', so make sure those groups do not exist to prevent overwriting.

Returns string.

ParameterTypeRequiredNotes
dry-runbooleanIf set, does not write anything. — default 0
enable-newbooleanEnable newly synced users immediately. — default "1"
fullbooleanDEPRECATED: use 'remove-vanished' instead. If set, uses the LDAP Directory as source of truth, deleting users or groups not returned from the sync and removing all locally modified properties of synced users. If not set, only syncs information which is present in the synced data, and does not delete or modify anything else.
purgebooleanDEPRECATED: use 'remove-vanished' instead. Remove ACLs for users or groups which were removed from the config during a sync.
realmstringyesAuthentication domain ID — format pve-realm, ≤ 32 chars
remove-vanishedstringA semicolon-separated list of things to remove when they or the user vanishes during a sync. The following values are possible: 'entry' removes the user/group when not returned from the sync. 'properties' removes the set properties on existing user/group that do not appear in the source (even custom ones). 'acl' removes acls when the user/group is not returned from the sync. Instead of a list it also can be 'none' (the default). — default "none"
scopeusers | groups | bothSelect what to sync.