Unique Keycloak client secret per installation
To avoid the risk of a secret revealed at one customer can affect the installations of other installations, internal secrets used by the different EDA components must be unique for each installation. This practice is especially important for the Keycloak secrets that are used by the API server to configure and communicate with the Keycloak API server.
Changing the Keycloak secret
- From your web browser, navigate to {EDA_URL}/core/httpproxy/v1/keycloak.
- Log in with the Keycloak administrator username and password.
- From the Keycloak drop-down list on the upper left, select Event Driven Automation eda.
- Select Clients from the menu on the left.
- Select "eda" in the client table in the main web page area.
- Select "Credentials" in the tab bar containing, "Settings/Keys/Credentials/Roles/..."
- Note the current "Client Secret".
- Click Regenerate to generate a new random value for the secret.
Changing the Keycloak admin password
- From your web browser, navigate to {EDA_URL}/core/httpproxy/v1/keycloak.
- Log in with the current Keycloak administrator username and password.
- From the user drop-down list on the upper right, select Manage Account.
- From the menu on the left, select .
- Click Update next to My Password.
- Configure a new password and save it.
- Generate the Base 64 hash of the new password.
-
Using a system with access to the Kubernetes API of the EDA deployment, execute
the following command:
kubectl -n eda-system patch secret keycloak-admin-secret -p '{"data": { "password": "<NEW BASE64 HASH>" }}'
-
Restart the Keycloak service.
kubectl -n eda-system rollout restart deployment/eda-keycloak