This page covers operator configuration only. No UI-based configuration is available; all settings are applied through the configuration file located at
/etc/zylon/zylon-conf.yaml.Prerequisites
Before enabling LDAP, confirm the following:- The LDAP or Active Directory host is reachable from the Zylon cluster on the port your server is configured to listen on.
- A read-only service account exists in the directory. Zylon uses this account (the bind account) to search for users and resolve group membership. It does not need write permissions.
- You know the Base DN under which all users and groups reside (e.g.,
dc=company,dc=local). - You have the Distinguished Names (DNs) of any directory groups you want to map to Zylon roles.
How sign-in works
When LDAP is enabled, users continue to use the standard Zylon login form. There is no separate LDAP login page.- The user enters their directory username in the email field and their directory password.
- Zylon normalizes the username: a
DOMAIN\userprefix is stripped touser; an email address (user@company.com) and a plain username (user) are used as-is. - Zylon searches the directory for the user, then performs a bind to verify the password.
- On success, Zylon resolves the user’s directory groups and maps them to Zylon roles using
roleMappingconfiguration. - If the account does not exist in Zylon yet, it is created automatically with the roles derived from group membership.
Roles are assigned at account creation time. If a user’s directory group membership changes after their first login, Zylon roles are not updated automatically. To change a user’s roles after creation, update them through the Backoffice. See Roles and Permissions for details.
If LDAP is enabled and the directory is temporarily unreachable or returns an error, Zylon falls back to local credential authentication.
Configuration
If LDAP is enabled and any required field is missing or invalid, the application will refuse to start and log a descriptive error. This prevents misconfigured deployments from silently falling./etc/zylon/zylon-conf.yaml
Add the auth.ldap block to the configuration file:
Configuration reference
The table below lists every LDAP setting, its chart default, and whether it is required whenenabled is true.
Role mapping
Group-to-role mapping is defined as a stringified JSON array in theroleMapping.mappings field. The value must always be a JSON-encoded string, both in values.yaml and in zylon-conf.yaml. Zylon evaluates the mapping at login time and assigns roles based on the directory groups the user belongs to.
- Each
matchvalue is compared against every group DN the user belongs to. The comparison is case-insensitive. - If a user belongs to multiple mapped groups, they receive all matching roles.
- If no mapping matches, the user receives
defaultRole. - Multiple groups can map to the same role; duplicates are collapsed.
Roles are computed once at account creation (first login). Subsequent changes to directory group membership are not reflected in Zylon automatically. Update roles manually through the Backoffice if needed.
Active Directory notes
The default configuration targets Active Directory out of the box:userFilteraccepts logins in three formats: plain username (jdoe), UPN (jdoe@company.com), and Windows domain format (DOMAIN\jdoe, normalized tojdoebefore the search).attributes.usernamedefaults tosAMAccountNameandattributes.emailtomail, matching standard AD schemas.- Group membership is read from the
memberOfattribute on the user entry.
userFilter, groupFilter, and attributes.* to match your schema. A common starting point:
Verify the configuration
After applying the configuration, follow these steps to confirm LDAP is working correctly:1
Confirm the application started successfully
Check the backend pod is running. If a required field is missing, the service will not start and will log the specific field that failed validation.
2
Test login with a directory user
Log in to the Zylon workspace with a directory user account. Use the username or email address format your directory supports.
3
Verify roles in the Backoffice
Open the Backoffice and locate the newly created account. Confirm it has the expected roles based on the user’s group membership and the
roleMapping configuration.4
Test each role group
Repeat the test for at least one user per mapped group (Operator, Developer, Workspace) to confirm the role mapping is working correctly across all groups.
Troubleshooting
Security considerations
- Use a read-only, least-privilege service account for the bind credentials. The account needs search permission on users and groups under
baseDn, nothing more. - Enable
tls.enabled: trueto encrypt credentials in transit. Providetls.caCrtortls.caFileto pin your CA. - Directory group membership changes are not reflected in Zylon after account creation. Operators must update roles manually in the Backoffice if group membership changes.