Image

Integrazione Pentaho-server con LDAP in CENTOS 7 (parte 4)

I passi necessari per integrare Pentaho Server con LDAP.

01. Pre requisiti necessari:

02. Verificare che il Pentaho server 9 sia attivo o no.

Nel caso in cui il Pentaho non fosse attivo avremmo bisogno di lanciarlo perchè avremmo bisogno di fare alcune configurazioni negli utenti.

/srv/pentaho-server/start-pentaho.sh

03. Configurazione degli utenti e gruppi del Pentaho server 9 per l'integrazione con l'LDAP:

A partire dall'interfaccia grafica del Pentaho-server effettuare il "login" con l'utente "Admin" e password "password".

  • Cliccare nel menu "Home" -> "Administration" -> "Users and Roles".
  • Creare l'utente "anonymousUser" e la password "password".
  • Cliccare nella linguetta "System Roles".
  • Selezionare nella colonna "Roles" il grupo "Anonymous".
  • Aggiungere i permessi di "Execute" e "Read Content".

04. Eventuali problematiche dovute al cambio di permissi

Nel caso si avranno problemi con il cambio dei permessi, sarà necessario cancellare la directory "anonymousUser" e ricrearla nuovamente.

05. Verificare i permessi per "anonymousUser".

Nel menu "Home" aprire "Browser Files" cliccando nella directory "anonymousUser" e vedere le proprietà cliccando su "Properties...".

06. Attribuire i gruppi necessari alla directory "anonymousUser".

Disattivare l'opzione "Inherits folder permission" e con il bottone "Add", aggiungere il gruppo "Anonymous" in modo da avere la lista di "Users and Roles:" contenendo:

  • anonymousUser
  • Anonymous
  • Administrator
  • Authenticated

07. Modificare i permessi della directory "anonymousUser".

Dare tutte i permessi, "Manage Permissions (Full Control)", ai gruppi "Anonymous" "anonymousUser"

08. Fermare il Pentaho-server per realizzare l'integrazione con l'LDAP:

/srv/pentaho-server/stop-pentaho.sh

09. Configurazione del Pentaho-server per l'accesso al sistema di autenticazione con l'LDAP.

Modificare il file "applicationContext-security-ldap.properties":

vim /srv/pentaho-server/pentaho-solutions/system/applicationContext-security-ldap.properties

usando i parametri di configurazione inerenti al vostro LDAP oppure fare riferimento alla documentazione ufficiale del Pentaho Server:

https://help.pentaho.com/Documentation/9.0/Setup/LDAP_security#Manual_configuration

10. Aggiungere il parametro "follow" nella configurazione di accesso del LDAP:

vim /srv/pentaho-server/pentaho-solutions/system/applicationContext-spring-security-ldap.xml
<bean id="contextSource" class="org.springframework.security.ldap.DefaultSpringSecurityContextSource">
    <constructor-arg value="${ldap.contextSource.providerUrl}"></constructor>
    <property name="userDn" value="${ldap.contextSource.userDn}"></property>
    <property name="password" value="${ldap.contextSource.password}"></property>
    <property name="referral" value="follow" ></property>
</bean>

11. Configurare l'autenticazione con il server LDAP.

Modificare il file "security.properties"

vim /srv/pentaho-server/pentaho-solutions/system/security.properties

Cambiare il valore di "provider" che di default conterrà "jackrabbit" sostituendolo con "ldap".

#provider=jackrabbit
provider=ldap

successivamente cambiare anche il valore di "requestParameterAuthenticationEnabled" da "false" a "true" lasciando il file simile alla configurazione in basso:

#provider=jackrabbit
provider=ldap
requestParameterAuthenticationEnabled=true

# This flag indicates whether or not UserDetailsService is called during creation of user's principal.
# If the service is external (e.g. LDAP or JDBC-based auth is used) then such calls can be expensive.
# On the other hand, if user has been removed within external service, then it becomes impossible to
# prevent principal creation when the verification is muted
skipUserVerificationOnPrincipalCreation=true

12. Verificare se il Pentaho server 9 riconosce l'utente che è stato definito come "amministratore" nella configurazione del server LDAP:

vim /srv/pentaho-server/pentaho-solutions/system/repository.spring.properties
#Tue Mar 26 17:50:44 EDT 2013
#singleTenantAdminDefaultUserName=admin
singleTenantAdminDefaultUserName=NOME_UTENTE_AMMINISTRATORE_DEFINITO_DENTRO_LDAP
#singleTenantAdminUserName=admin
singleTenantAdminUserName=NOME_UTENTE_AMMINISTRATORE_DEFINITO_DENTRO_LDAP
singleTenantAdminDefaultAuthorityName=Administrator
singleTenantAdminAuthorityName=Administrator
repositoryAdminUsername=pentahoRepoAdmin
singleTenantAuthenticatedAuthorityName=Authenticated
singleTenantAnonymousAuthorityName=Anonymous
superAdminAuthorityName=SysAdmin
superAdminUserName=super
systemTenantAdminUserName=system
systemTenantAdminPassword=cGFzc3dvcmQ=
cache-size=100
cache-ttl=300
versioningEnabled=false
versionCommentsEnabled=false
# This is the property to enable/disable multi byte encoding in the repository
# This property can only be changed to "true" if you are installing it fresh. For upgrades,
# this must be set to false.
useMultiByteEncoding=false

13. Aggiornare i permessi della directory "/srv/pentaho-server"

chown -R tomcat.tomcat /srv/pentaho-server

14. Lanciare nuovamente il Pentaho server 9:

/srv/pentaho-server/start-pentaho.sh

15. Autenticazione usando il server LDAP.

Una volta che il servizio del pentaho server sta di nuovo on-line sarà posibile fare un test. Per vedere se la configurazione è corretta sarà possibile effettuare il "login" con l'utente di rete presente nel server LDAP.

Dal nostro browser web digitare l'indirizzo di pentaho-server:

http://localhost:8080/pentaho/