The following configuration controls the auth mechanism for OpenMetadata. Update the mentioned fields as required.
```yaml
authenticationConfiguration:
provider: ${AUTHENTICATION_PROVIDER:-ldap}
publicKeyUrls: ${AUTHENTICATION_PUBLIC_KEYS:-[{your domain}/api/v1/system/config/jwks]} # Update with your Domain and Make sure this "/api/v1/system/config/jwks" is always configured to enable JWT tokens
-`maxPoolSize`: Connection Pool Size to use to connect to LDAP Server.
-`sslEnabled`: Set to true if the SSL is enable to connect to LDAP Server.
-`truststoreConfigType`: Truststore type. It is required. Can select from {CustomTrustStore, HostName, JVMDefault, TrustAll}
-`trustStoreConfig`: Config for the selected truststore type. Please check below note for setting this up.
{%note%}
Based on the different `truststoreConfigType`, we have following different `trustStoreConfig`.
1.**TrustAll**: Provides an SSL trust manager which will blindly trust any certificate that is presented to it, although it may optionally reject certificates that are expired or not yet valid. It can be convenient for testing purposes, but it is recommended that production environments use trust managers that perform stronger validation.
-`verifyHostname`: Controls using TrustAllSSLSocketVerifier vs HostNameSSLSocketVerifier. In case the certificate contains cn=hostname of the Ldap Server set it to true.
3.**HostName**: Provides an SSL trust manager that will only accept certificates whose hostname matches an expected value.
-`allowWildCards`: Indicates whether to allow wildcard certificates which contain an asterisk as the first component of a CN subject attribute or dNSName subjectAltName extension.
-`acceptableHostNames`: The set of hostnames and/or IP addresses that will be considered acceptable. Only certificates with a CN or subjectAltName value that exactly matches one of these names (ignoring differences in capitalization) will be considered acceptable. It must not be null or empty.
4.**CustomTrustStore**: Use the custom Truststore by providing the below details in the config.
-`trustStoreFilePath`: The path to the trust store file to use. It must not be null.
-`trustStoreFilePassword`: The PIN to use to access the contents of the trust store. It may be null if no PIN is required.
-`trustStoreFileFormat`: The format to use for the trust store. (Example :- JKS, PKCS12).
-`verifyHostname`: Controls using TrustAllSSLSocketVerifier vs HostNameSSLSocketVerifier. In case the certificate contains cn=hostname of the Ldap Server set it to true.
-`examineValidityDates`: Indicates whether to reject certificates if the current time is outside the validity window for the certificate.
{%/note%}
### Authorizer Configuration
This configuration controls the authorizer for OpenMetadata:
-`adminPrincipals`: This is the list of admin Principal for the OpenMetadata , if mail in ldap is example@open-metadata.org, then if we want this user to be admin in the OM, we should add 'example', in this list.