deployment

No menu items for this category
OpenMetadata Documentation

LDAP SSO Configuration

LDAP (Lightweight Directory Access Protocol) authentication enables users to log in using their enterprise directory credentials from systems such as Active Directory, OpenLDAP, or other LDAP-compatible identity providers.

This guide explains how to configure LDAP as an authentication source in OpenMetadata.

LDAP SSO Configuration
  • Definition: A human-readable name for this LDAP SSO configuration instance.
  • Example: Company LDAP, Corporate Directory, Internal LDAP
  • Why it matters: Used for display and logging purposes.
  • Note: This name does not impact authentication behavior.
  • Definition: Identifier for the LDAP authentication configuration.
  • Example: ldap-client-123
  • Why it matters: Helps track and manage LDAP configurations.
  • Note: Optional for LDAP; mainly used for tracking.
  • Definition: Redirect URI where users land after LDAP authentication.
  • Example: https://yourapp.company.com/callback
  • Why it matters: Defines the return URL post-authentication.
  • Note: Typically your OpenMetadata application URL.
  • Definition: Base URL for the LDAP authentication authority.
  • Example: https://yourapp.company.com/auth/ldap
  • Why it matters: Defines the endpoint OpenMetadata uses for LDAP requests.
  • Note: Required for routing LDAP authentication calls.
  • Definition: Allows users to automatically create accounts on their first LDAP login.
  • Options: Enabled | Disabled
  • Example: Enabled
  • Why it matters: Controls whether new LDAP users are auto-provisioned.
  • Note: Disable for stricter access control.
  • Definition: URLs where public keys are published for token verification.
  • Example: ["https://yourapp.company.com/.well-known/jwks.json"]
  • Why it matters: Used when LDAP integrates with token-based authentication (LDAP + JWT).
  • Note: Optional for pure LDAP configurations.
  • Definition: Algorithm used to validate JWT tokens if LDAP uses token-based authentication.
  • Options: RS256 | RS384 | RS512
  • Default: RS256
  • Example: RS256
  • Definition: Hostname or IP address of your LDAP server.
  • Example: ldap.company.com or 192.168.1.10
  • Note: Do not include ldap:// or ldaps://.
  • Definition: Port for the LDAP server connection.
  • Example: 389 (LDAP), 636 (LDAPS)
  • Note:
    • Use 389 for standard LDAP
    • Use 636 for secure LDAP (LDAPS)
  • Definition: Maximum number of concurrent connections in the LDAP pool.
  • Default: 3
  • Example: 5
  • Why it matters: Controls connection performance and resource usage.
  • Definition: Whether users must log in using their full Distinguished Name (DN).
  • Default: false
  • Example: false
  • Note:
    • false: Login with username only
    • true: Requires full DN (e.g., cn=john,ou=users,dc=company,dc=com)
  • Definition: Distinguished Name of the LDAP admin user used for searches.
  • Example: cn=admin,ou=system,dc=company,dc=com
  • Why it matters: Required to search for and authenticate users.
  • Note: The account must have read access to users and groups.
  • Definition: Password for the LDAP admin user.
  • Example: adminPassword123
  • Why it matters: Required for binding to the LDAP directory.
  • Note: Store securely (e.g., in a secret manager).
  • Definition: Enables secure LDAP (LDAPS).
  • Default: false
  • Example: true
  • Why it matters: Encrypts communication between OpenMetadata and LDAP.
  • Note:
    • true โ†’ Use LDAPS (port 636)
    • false โ†’ Use LDAP (port 389)
  • Definition: Base DN under which user accounts are stored.
  • Example: ou=users,dc=company,dc=com
  • Why it matters: Defines where to search for user entries.
  • Definition: Base DN where group objects reside.
  • Example: ou=groups,dc=company,dc=com
  • Why it matters: Required for role-based authorization.
  • Note: Optional if not using group-based role mapping.
  • Definition: LDAP group that maps to OpenMetadata admin role.
  • Example: OpenMetadata-Admins
  • Why it matters: Members of this group get admin privileges.
  • Definition: Attribute used to retrieve user attributes.
  • Example: * or memberOf
  • Why it matters: Defines which attributes to fetch from LDAP.
  • Definition: LDAP attribute containing user email.
  • Example: mail
  • Note: Common values include mail, email, or userPrincipalName.
  • Definition: LDAP attribute representing usernames.
  • Example: uid or sAMAccountName
  • Note:
    • Active Directory: sAMAccountName or userPrincipalName
    • OpenLDAP: uid or cn
  • Definition: Attribute that defines group membership.
  • Example: memberOf
  • Why it matters: Determines userโ€™s LDAP group membership.
  • Definition: Attribute in group entries listing members.
  • Example: member or uniqueMember
  • Definition: JSON mapping of LDAP groups to OpenMetadata roles.
  • Example: {"LDAP-Admins": "Admin", "LDAP-Users": "User"}
  • Why it matters: Automatically assigns roles based on group membership.
  • Definition: Roles that are re-evaluated each time a user logs in.
  • Example: ["Admin", "DataConsumer"]
  • Definition: Configuration for SSL/TLS trust management.
  • Why it matters: Required for LDAPS with custom certificates.
  • Definition: Type of SSL trust management.
  • Options: TrustAll, JVMDefault, HostName, CustomTrustStore
  • Example: CustomTrustStore
  • Note:
    • TrustAll: Accepts all certificates (unsafe)
    • JVMDefault: Uses system trust store
    • CustomTrustStore: Uses a custom certificate store
  • Definition: Validates LDAP server certificate hostname.
  • Default: false
  • Example: true
  • Definition: Checks SSL certificate validity period.
  • Default: false
  • Example: true
  • Definition: Path to truststore file containing trusted CA certificates.
  • Example: /path/to/truststore.jks
  • Definition: Password for accessing the truststore.
  • Example: truststorePassword123
  • Definition: Format of the truststore file.
  • Example: JKS or PKCS12
  • Definition: Accept wildcard certificates (e.g., *.company.com).
  • Default: false
  • Example: true
  • Definition: List of hostnames valid for SSL validation.
  • Example: ["ldap.company.com", "ldap-backup.company.com"]
  • Definition: Claims used to identify users in LDAP + JWT setups.
  • Example: ["preferred_username", "email", "sub"]
  • Definition: Maps LDAP attributes to OpenMetadata user fields.
  • Example: ["email:mail", "name:displayName", "firstName:givenName"]
  • Definition: Users with administrative privileges.
  • Example: ["admin@company.com", "superuser@company.com"]
  • Definition: Default domain for user principals.
  • Example: company.com
  • Definition: Restricts logins to specific domains.
  • Default: false
  • Example: true
  • Definition: Enables SSL/TLS for LDAP communication.
  • Default: false
  • Example: true
  • Note: Must be enabled for production deployments.
FieldExample / Default
LDAP Hostldap.company.com
LDAP Port636
SSL Enabledtrue
User Base DNou=users,dc=company,dc=com
Group Base DNou=groups,dc=company,dc=com
Username Attributeuid
Email Attributemail
Group AttributememberOf
Admin Principal DNcn=admin,ou=system,dc=company,dc=com
Token Validation AlgorithmRS256
Full DN Requiredfalse
Trust Store Config TypeCustomTrustStore
Verify Hostnametrue
Admin Principals["admin@company.com"]
Principal Domaincompany.com
Enforce Principal Domainfalse
SSL/TLStrue

If users are automatically logged out and unable to log in again due to a bad authentication configuration, you can reset the security setup using the following command:

After executing the command, restart the server. The authentication values from your YAML or Helm chart will then be reapplied on startup. The following tiles detail how to apply this configuration across Docker, Kubernetes, and Bare Metal deployments: