Skip to main content

Keycloak SSO for Bare Metal

Update conf/openmetadata.yaml

In openmetadata.yaml file and use the following example as a reference. Replace the placeholder values with the details generated during your keycloak account and application credentials setup. Check the more information about environment variable here.
# Implicit Flow
authorizerConfiguration:
  className: "org.openmetadata.service.security.DefaultAuthorizer"
  containerRequestFilter: "org.openmetadata.service.security.JwtFilter"
  adminPrincipals:                                          # Your `name` from [email protected]
    - "admin"
    - "user1"
    - "user2"
  principalDomain: "open-metadata.org"                      # Update with your Domain,The primary domain for the organization (your domain.com from [email protected]).
authenticationConfiguration:
  provider: "custom-oidc"
  publicKeyUrls:                                            # Update with your keycloak Domain and  OMD server URL.
    - "{OMD-server-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
    - "{Keycloak-server-URL}/auth/realms/{your-realm-name}/protocol/openid-connect/certs"           # Update your Keycloak Url And Realm.
  authority: "{Keycloak-server-URL}/auth/realms/{your-realm-name}"
  clientId: "{Client ID}"
  callbackUrl: "http://localhost:8585/callback"
  clientType: "public"
Altering the order of claims in jwtPrincipalClaims may lead to problems when matching a user from a token with an existing user in the system. The mapping process relies on the specific order of claims, so changing it can result in inconsistencies or authentication failures, as the system cannot ensure correct user mapping with a new claim order.

Configure Ingestion

Once your server security is set, it’s time to review the ingestion configuration. Our bots support JWT tokens to authenticate to the server when sending requests. Find more information on Enabling JWT Tokens and JWT Troubleshooting to ensure seamless authentication.