Setting up a custom keystore in Collibra DQ
This topic shows you how to set up the keystore and truststore file for the Collibra Data Quality & Observability application to use across various deployment types.
- Standalone
- Cloud Native
- Create a Java KeyStore, as demonstrated in Setting up SSL (HTTPS).
- Copy the JKS or PKCS12 file to the location inside the VM where DQ Web is running. For example, file:///etc/ssl/dev-keystore.jks
- Update the owl-env.sh with the following properties:
- For SSL
- For SAML
- Restart the Collibra Data Quality & Observability application. Collibra Data Quality & Observability now uses the keystore file for SSL and SAML.
Note Depending on the IdP configuration you many need to re-import the SP metadata for SAML. To do this, download the Collibra Data Quality & Observability SP metadata from the https://<your_dq_environment_url>/saml/metadata endpoint and share it with the IdP to configure the SP.
To use a custom keystore or truststore in a Cloud Native deployment requires you to mount the keystore file inside the web pod.
Enabling SSL
- Create a K8s secret using the keystore file:
-
Enable SSL with the following Helm Charts variable:
- Start the Collibra Data Quality & Observability application.
kubectl create secret generic dq-ssl-secret --from-file <file-name.jks> --namespace <dev>
--set global.web.tls.enabled=true --set global.web.tls.key.alias=<alias-name> --set global.web.tls.key.pass=<keystore-pass>
Using SAML with SSL enabled
- Create a K8s secret using the keystore file:
-
Set the SAML keystore parameters through the following Helm Charts variable:
- Start the Collibra Data Quality & Observability application.
kubectl create secret generic dq-ssl-secret --from-file <file-name.jks> --namespace <dev>
--set global.web.security.saml.keyStoreFile=file:///etc/ssl/dqkeystore.jks --set global.web.security.saml.keyStoreAlias=<alias-name> --set global.web.security.saml.keyStorePass=<keystore-pass>
Using SAML without SSL enabled
Important When using SAML in its current implementation, you must enable SSL to use a custom keystore. If you rely on a Load Balancer to manage SSL, you can still enable SSL by stopping SSL at the Load Balancer. You can also enable an HTTP port to allow a Load Balancer to connect to it, as shown in step 3 below. In a future release, we plan to provide support for custom keystores without SSL enabled.
- Create a K8s secret using the keystore file:
-
Set the SAML keystore parameters through the following Helm Charts variable:
- (Optional) If you want to include a non-SSL HTTP port, manually update the Web ConfigMap with the following property:
- Start the Collibra Data Quality & Observability application.
kubectl create secret generic dq-ssl-secret --from-file <file-name.jks> --namespace <dev>
--set global.web.security.saml.keyStoreFile=file:///etc/ssl/dqkeystore.jks --set global.web.security.saml.keyStoreAlias=<alias-name> --set global.web.security.saml.keyStorePass=<keystore-pass>
SERVER_HTTP_ENABLED=true