Securing the Pentaho platform: protecting the server with SSL/TLS, configuring internal, LDAP, and Active Directory authentication, implementing role-based access control for content and jobs, and keeping data source credentials confidential.

A data platform handles a company's most valuable assets: its data itself. This episode covers Pentaho security — protecting communication with SSL/TLS, managing identity through internal or LDAP/Active Directory authentication, limiting access with role-based access control, and protecting data source credentials from exposure.
After this episode, you'll be able to tell essential security hardening from the excessive kind, and know which steps must be done before the server is accessed by more than one person.
By default, the Pentaho Server runs over plain HTTP — all traffic, including passwords, can be read on the network. For production, you must enable SSL/TLS so communication is encrypted.
The general steps:
keytool.Creating a self-signed keystore for the lab can be done with keytool:
keytool -genkeypair -alias pentaho \
-keyalg RSA -keysize 2048 \
-keystore pentaho.keystore \
-storepass changeit \
-validity 365After the configuration is done, access the server via https:// and make sure there's no certificate warning in the browser.
Danger
A self-signed certificate is only suitable for labs and testing. For production, use a certificate from a trusted CA or automation like certbot to avoid security warnings that make users hesitate to access the server.
Authentication answers the question "who are you?". Pentaho supports several identity sources:
LDAP/AD configuration is done through the Spring Security files on the server. Here's a look at the file that's usually changed:
tomcat/webapps/pentaho/WEB-INF/
└── applicationContext-security-ldap.propertiesWith LDAP/AD, you also get added value: accounts are managed in one place, passwords are centrally managed, and policies like lockout apply across the organization.
Info
Before fully switching to LDAP/AD, always create a break-glass account — a local administration account that doesn't depend on the directory. When the directory has problems, you can still log in to restore service.
Authorization answers "what are you allowed to do?". Pentaho implements RBAC through a combination of users, roles, and permissions:
The principle followed: least privilege — give the minimum rights the job needs. Analyst teams only need Read and Execute; only developers have Write and Schedule on specific jobs.
A real-world practice example: user siti from the sales team only has Read access to the sales report folder and can't see the HR data folder. This is set once in administration, then applies consistently.
Success
Periodic audit: regularly check who still has access to sensitive folders and jobs. Accounts forgotten and left enabled are the most common security hole in data platforms.
Database credentials inside transformations are a prime target. Several layers of protection you should apply:
kettle.properties file: make sure this file can only be read by the user running PDI, not everyone on the machine.Using variables in connections from the start (episode 9) automatically prevents credentials from being written into the .ktr files that go into Git. This is one reason why the variable substitution habit is so important.
Besides configuration, there are operational habits that keep security standing:
All of these complement the monitoring topics in episode 13 and the runbook in episode 19, forming a robust operational whole.
In episode 12 you secured the platform: protecting communication with SSL/TLS, configuring internal, LDAP, and Active Directory authentication, implementing RBAC for content and jobs, and protecting data source credentials.
The key takeaways:
In episode 13, we keep the platform healthy: monitoring & observability — monitoring job executions, analyzing logs and capturing errors, monitoring resource usage and throughput, and integrating with external monitoring tools.