Pentaho Server security
Pentaho Security is a quick way to configure security. It works well without a security provider. It also works well for communities under 100 users.
The Pentaho User Console (PUC) lets you define security by users and roles. The Pentaho Server controls which users and roles can access web resources and repository content.
Hiding user folders in PUC and PDI
One way you can centralize and secure content created by users is to hide individual users' Home folders in the Pentaho User Console (PUC) or in the PDI client. For example, if your organization implements multi-tenancy, you may want to prevent individual users from viewing their Home folders for security reasons.
You can configure your server to hide the Home folders by default for both PUC and PDI. When you create new users in your system, their Home folders will be hidden. If a user needs to create, edit, or save content, you can provide the Write permission in a folder that is visible to that user. Those users can then view the folder and access the content. You can add the Write permission in PUC and in the PDI client.
These tasks assume you are a Pentaho Administrator.
Perform the following steps to edit the system.properties file so that when you create new users, their Home folders will be hidden by default.
Stop the Pentaho Server.
See the Install Pentaho Data Integration and Analytics document for instructions on starting and stopping the Pentaho Server.
Navigate to
/Pentaho/server/pentaho-server/pentaho-solutions/systemand opensystem.propertiesin a text editor.Locate the
hideUserHomeFolderOnCreateproperty. By default, this property is set tofalse.Change the setting to
true:hideUserHomeFolderOnCreate=trueSave and close
system.properties.Start the Pentaho Server.
See the Install Pentaho Data Integration and Analytics document for instructions on starting and stopping the Pentaho Server.
Now when you add a new user in either PUC or the PDI client, that user's Home folder is hidden by default.
Next steps:
To override this setting for a specific user, see Override the hidden Home folder for a user.
To stop hiding Home folders by default when you create new users, see Stop hiding the Home folder for new users.
If a user with a hidden Home folder needs to create, edit, or save content, grant Write permission using PUC or the PDI client.
Override the hidden Home folder for a user
Follow these steps to override the hidden Home folder for a specific user.
Log in to PUC with your Pentaho Administrator credentials.
Go to Browse Files.
Select the user’s Home folder.
In the Properties dialog box, clear Hidden.
The user's Home folder is now visible.
Stop hiding the Home folder for new users
Follow these steps to stop creating users with their Home folders hidden by default.
Stop the Pentaho Server.
Navigate to
/Pentaho/server/pentaho-server/pentaho-solutions/systemand opensystem.propertiesin a text editor.Locate the
hideUserHomeFolderOnCreateproperty.Change the setting to
false:hideUserHomeFolderOnCreate=falseSave and close
system.properties.Start the Pentaho Server.
When you add a new user in either PUC or the PDI client, that user's Home folder is now visible.
See the Install Pentaho Data Integration and Analytics document for instructions on starting and stopping the Pentaho Server.
Assign the Write permission to a user folder in PUC
In PUC you can assign Write permission in a public folder to a user whose Home folder is hidden. When this permission is granted, the user can save and edit content they create using PUC.
Log in to PUC with your Pentaho Administrator credentials.
Select the Public folder, and then select or create the folder you want the user to access.
Assign Write permission:
Click Properties > Share and clear Inherits folder permissions.
Click Add and select the user.
Select Write for the user.
Click OK to save your changes.
The user can now save content in the assigned folder.
Assign the Write permission to a user folder in the PDI client
In the PDI client you can assign the Write permission in a public folder to a user whose Home folder is hidden. When this permission is granted, the user can save and edit content they create using the PDI client.
Start the PDI client.
See the Pentaho Data Integration document for instructions on starting the PDI client.
Connect to a Pentaho Repository with your Pentaho Administrator credentials.
Open the Repository Explorer: Tools > Repository > Explore.
On the Browse tab, select the Public folder, and then select or create the folder you want the user to access.
Select the folder and grant Write permission:
On the Access Control panel, clear Inherit access control from parent.
Click the Plus sign to add a user.
Select the user and move them to Selected. Click OK.
Select the user in User/Role and select Write.
Click Apply, then click OK.
Close the Repository Explorer.
The user can now save content in the assigned folder.
Restrict or share files and folders
Access to files or folders can be refined using the Pentaho User Console. Each file or folder can either use the default permissions or you can tailor them for specific users and roles.
Prior to performing this task, determine whether you will use the default Pentaho roles or create custom users and roles. You must also have successfully set up your security back end.
Log in to the User Console using the administrator role.
From Browse Files, choose the folder you want to set permissions on from the Folders pane.
If you want to set permissions on a specific file in that folder, highlight the file in the Files pane.
Click Properties in the Actions pane.
The Properties window appears.
On the Share tab, select the Role that you want to set permissions for. Then clear Inherits folder permissions.
Permissions for [Role] becomes available.
Select permissions for that role, then click OK.
The permissions are set for that file or folder and are associated with the selected role.
For additional security in multi-tenancy organizations, you can hide individual users' Home folders. See Hiding user folders in PUC and PDI.
Pass authentication credentials in URL parameters
This section is currently a placeholder. Add the approved guidance for passing credentials in URL parameters.
Remove Pentaho Server security
You can remove Pentaho Server security by enabling anonymous access or by modifying data source management.
Enable anonymous access
You can bypass built-in security on the Pentaho Server by giving all permissions to anonymous users. An "anonymousUser" is any user, either existing or newly created, that you specify as an all-permissions, no-login user, and to whom you grant the Anonymous role.
This procedure grants full Pentaho Server access to the Anonymous role. It also removes the login requirement.
All of the files you will be using are located in /pentaho/server/pentaho-server/pentaho-solutions/system. Before you begin, stop the Pentaho Server.
Modify application security
Perform the following steps to modify application security:
Open
applicationContext-spring-security.xmlin a text editor.Make sure a default anonymous role is defined. Match your bean definition and property value to the following example:
Note: These next steps permit PDI client tools to publish to the Pentaho Server without a user name and password.
Find these two beans in the same file:
filterInvocationInterceptorfilterInvocationInterceptorForWS
Locate the
securityMetadataSourceproperty in the beans and match the contents to the following example:Save and close
applicationContext-spring-security.xml.
Modify Pentaho configuration
Perform the following steps to modify the Pentaho configuration:
Open
pentaho.xmlin a text editor.Find the
anonymous-authenticationsection underpentaho-system, and define the anonymous user and role as shown in the following example:Save and close
pentaho.xml.
Modify repository properties
Perform the following steps to modify the repository properties:
Open
repository-spring.propertiesin a text editor.Find
singleTenantAdminAuthorityNameand replace the value withAnonymous.Find
singleTenantAdminUserNameand replace the value with your anonymous user name.Save and close the file.
Map the appropriate role
Perform the following steps to map roles:
Find all references to the bean
id="Mondrian-UserRoleMapper". Make sure the only active mapper is the one shown in the following example:If you changed
pentahoObjects.spring.xml, save and close the file.
You have now worked around Pentaho Server security. If you use the relational metadata database model, refer to Remove Security from Metadata Domain Repository for the next steps.
Remove security from data source management
This procedure changes your data source management so that an anonymous user can access it. These steps are necessary to completely remove security from the Pentaho Server. However, this procedure does not remove all security. If you need to remove all security, enable anonymous access as described above.
Perform the following steps to completely remove security from the Pentaho Server:
Stop the Pentaho Server (if needed).
Open
/pentaho/server/pentaho-server/pentaho-solutions/system/data-access/settings.xmlin a text editor.Find
<data-access-roles>Administrator</data-access-roles>and changeAdministratortoAnonymous.Find
<data-access-view-roles>Authenticated,Administrator</data-access-view-roles>and changeAuthenticated,AdministratortoAnonymous.Find
<data-access-view-users>suzy</data-access-view-users>and changesuzytoanonymousUser.Find
<data-access-datasource-solution-storage>admin</data-access-datasource-solution-storage>and changeadmintoanonymousUser.
Save and close the file.
Restart the Pentaho Server.
Last updated
Was this helpful?

