Pentaho 5 autenticando no LDAP (OpenLDAP e AD)

Postado em

A uns anos atrás(2011), escrevi um tutorial autenticando o Pentaho (na época versão 3.7) no LDAP. Acredito que esse tutorial ajudou muitas pessoas, pois até a versão 4 as configurações ainda eram as mesmas.

Na versão 5, algumas configurações mudaram. Então depois de muito procrastinar, eu tomei vergonha na cara e resolvi escrever esse tutorial atualizado na versão 5 do Pentaho. Para ser mais exato, na versão 5.2.

Vou tentar ser o mais didático possível no passo a passo dessa configuração. Vou falar um pouco sobre as configurações do meu servidor LDAP de teste e mostrar algumas diferenças que possam ter em relação ao Active Directory (AD).

Objetivos:

  • Entender a estrutura do LDAP.
  • Configurar o Pentaho BI-Server para autenticar no LDAP.
  • Testar a autenticação como usuário administrador.
  • Testar a autenticação como usuário comum.
  • Fazer alguns testes de acessos a pastas e arquivos através dos grupos do LDAP.

Entender a estrutura do LDAP

Esse servidor LDAP foi configurado exclusivamente para esse tutorial, por isso ele possuí poucos registros e está o mais simples possível para ser entendido.

Estrutura do LDAP:

  • Raiz: dc=domingos,dc=com,dc=br
  • Usuário administrador: admin (cn=admin,dc=domingos, dc=com,dc=br)
  • Unidade Organizacional (OU) dos grupos: GROUPS (ou=GROUPS,dc=domingos,dc=com,dc=br)
  • Unidade Organizacional (OU) dos usuários: USERS (ou=USERS,dc=domingos,dc=com,dc=br)
  • Grupos criados: pentaho-admin, comercial e administrativo:
    • cn=pentaho-admin,ou=GROUPS,dc=domingos,dc=com,dc=br
    • cn=comercial,ou=GROUPS,dc=domingos,dc=com,dc=br
    • cn=administrativo,ou=GROUPS,dc=domingos,dc=com,dc=br
  • Usuários criados: vader, fulano e ciclano:
    • cn=vader,ou=USERS,dc=domingos,dc=com,dc=br
    • cn=fulano,ou=USERS,dc=domingos,dc=com,dc=br
    • cn=ciclano,ou=USERS,dc=domingos,dc=com,dc=br

O usuário vader é o meu usuário administrador, então ele está associado ao grupo pentaho-admin:

dn: cn=pentaho-admin,ou=GROUPS,dc=domingos,dc=com,dc=br
objectClass: posixGroup
gidNumber: 10002
memberUid: vader
structuralObjectClass: posixGroup
cn: pentaho-admin

O usuário fulano está associado ao grupo Comercial e o usuário ciclano ao Administrativo. Com isso quero ilustrar como ficaria se o seu BI-Server tivesse pastas separadas por departamentos, onde cada um só pode ter acesso a sua pasta. Fazendo dessa forma, todos que estiverem no LDAP vão ter acesso ao Pentaho BI-Server, mas só poderão visualizar aquilo que for permitido ao seu grupo ou diretamente ao seu usuário.

Uma outra forma de fazer, é criar um grupo específico para os usuários comuns do Pentaho, então somente que estiver naquele grupo terá acesso ao Pentaho. Só que dessa forma fica mais complicado de fazer as restrições segmentanda por grupo, teria que ser somente por usuário. Um exemplo seria se eu criasse um grupo chamado pentaho-users e os usuários fulano e ciclano estivessem associados a ele. Ficaria da seguinte forma no LDAP:

dn: cn=pentaho-users,ou=GROUPS,dc=domingos,dc=com,dc=br
objectClass: posixGroup
gidNumber: 10001
memberUid: fulano
memberUid: ciclano
structuralObjectClass: posixGroup
cn: pentaho-users

Nos arquivos de configuração do Pentaho, também vou dar exemplos caso decidam fazer dessa forma com um único grupo.

Configurar o Pentaho BI-Server para autenticar no LDAP

Aqui é o passo a passo da configuração do BI-Server no LDAP.

Os arquivos que vão ser configurados, estão em biserver-ce/pentaho-solutions/system. Os arquivos são:

  • properties
  • applicationContext-security-ldap.properties
  • applicationContext-spring-security.xml
  • spring.properties
  • data-access/settings.xml

1. properties

Nesse arquivo vamos mudar o modo de autenticação.

De:
provider=jackrabbit

Para:
provider=ldap

2. applicationContext-security-ldap.properties

Devemos configurar esse arquivo conforme o nosso servidor LDAP. Segue o exemplo baseado no meu LDAP onde vou dar alguns detalhes:

contextSource.providerUrl=ldap\://localhost\:389
contextSource.userDn=cn\=admin,dc\=domingos,dc\=com,dc\=br
contextSource.password=123456
userSearch.searchBase=ou\=USERS,dc\=domingos,dc\=com,dc\=br
userSearch.searchFilter=(cn\={0})

populator.convertToUpperCase=false
populator.groupRoleAttribute=cn
populator.groupSearchBase=ou\=GROUPS,dc\=domingos,dc\=com,dc\=br
populator.groupSearchFilter=(memberUid\={1})
populator.rolePrefix=
populator.searchSubtree=true

allAuthoritiesSearch.roleAttribute=cn
allAuthoritiesSearch.searchBase=ou\=GROUPS,dc\=domingos,dc\=com,dc\=br
allAuthoritiesSearch.searchFilter=(objectClass\=posixGroup)

allUsernamesSearch.usernameAttribute=cn
allUsernamesSearch.searchBase=ou\=USERS
allUsernamesSearch.searchFilter=(objectClass\=posixAccount)

adminRole=cn\=pentaho-admin,ou\=GROUPS,dc\=domingos,dc\=com,dc\=br
adminUser=cn\=vader,ou\=USERS,dc\=domingos,dc\=com,dc\=br

Observações importantes: 

– contextSource.providerUrl=ldap\://localhost\:389: Endereço de onde está o servidor LDAP. No meu caso ele está em localhost e rodando na porta 389. Normalmente o servidor LDAP está em outra máquina, então coloque o IP da máquina e a porta que ele está rodando.

– userSearch.searchFilter=(cn\={0}): Esse é o atributo do LDAP que ele procurará para achar o nome do usuário. No caso do meu LDAP, o atributo é o CN, e o número zero indica para ele procurar o DN completo do usuário.
Para quem utilizado o Active Directory, normalmente o atributo utilizado é o (sAMAccountName\={0})

– populator.groupSearchFilter=(memberUid\={1}): O campo dentro dos grupos que identificam os usuários pertencentes ao grupo é o atributo memberUid. Colocando 1 ele procura somente pelo nome do usuário, se deixasse em 0 ele procuraria pelo DN completo. Na seção acima foi destacado que no meu LDAP os usuários estão no atributo memberUid, mas possa ser que seu LDAP/AD, use outro, é muito comum no AD ele usar o atributo member.

adminRole=cn\=pentaho-admin,ou\=GROUPS,dc\=domingos,dc\=com,dc\=br e adminUser=cn\=vader,ou\=USERS,dc\=domingos,dc\=com,dc\=br: Essas são as seções onde são configurados o grupo e o usuário admin do Pentaho. Fiquem atentos para configurar o grupo e usuário correto.

3. applicationContext-spring-security.xml

 Esse arquivo é o que define o que os grupos podem acessar. E nele temos um ponto muito específico. Digo isso, pois se seguirem o exemplo de usar os grupos já existente no LDAP, para fazer uma separação por setores, não é necessário mudar nada nesse arquivo.

Exemplo do arquivo:

….
\A/content/common-ui/resources/web/(.+/)*.+\.js.*\Z=Anonymous,Authenticated
\A/.*require-cfg.js.*\Z=Anonymous,Authenticated
\A/.*require-js-cfg.js.*\Z=Anonymous,Authenticated
\A/content/common-ui/resources/web/require.js.*\Z=Anonymous,Authenticated
\A/content/common-ui/resources/web/require-cfg.js.*\Z=Anonymous,Authenticated
\A/content/data-access/resources/gwt/.*css\Z=Anonymous,Authenticated
\A/webcontext.js.*\Z=Anonymous,Authenticated
\A/content/common-ui/resources/web/cache/cache-service.js.*\Z=Anonymous,Authenticated
\A/cacheexpirationservice.*\Z=Anonymous,Authenticated
\A/js/theme.*\Z=Anonymous,Authenticated
\A/content/common-ui/resources/themes/.*\Z=Anonymous,Authenticated
\A/content/common-ui/resources/web/dojo/djconfig.js.*\Z=Anonymous,Authenticated
\A/content/common-ui/resources/web/angular-directives/angular-directives.css\Z=Anonymous,Authenticated
\A/content/pentaho-mobile/resources/.*\Z=Anonymous,Authenticated
\A/docs/.*\Z=Anonymous,Authenticated
\A/mantlelogin/.*\Z=Anonymous,Authenticated
\A/mantle/mantleloginservice/*\Z=Anonymous,Authenticated
\A/mantle/.*\Z=Authenticated
\A/welcome/.*\Z=Anonymous,Authenticated
\A/public/.*\Z=Anonymous,Authenticated
\A/login.*\Z=Anonymous,Authenticated
\A/ping/alive.gif.*\Z=Anonymous,Authenticated
\A/j_spring_security_check.*\Z=Anonymous,Authenticated
\A/getimage.*\Z=Anonymous,Authenticated
\A/getresource.*\Z=Anonymous,Authenticated
\A/admin.*\Z=Admin
\A/auditreport.*\Z=Admin
\A/auditreportlist.*\Z=Admin
\A/versioncontrol.*\Z=Admin
\A/propertieseditor.*\Z=Admin
\A/propertiespanel.*\Z=Admin
\A/subscriptionadmin.*\Z=Admin
\A/resetrepository.*\Z=Admin

O grupo Authenticated do Pentaho BI-Server, é o grupo padrão que todos os usuários pertencem para poder autenticar. Como vamos usar os nosso grupos do LDAP para fazer uma separação departamental, não precisamos modificar esse arquivo. Mas caso vocês optem por usar o grupo único, o pentaho-users que eu dei de exemplo, devem substituir todos os Authenticated por pentaho-users. Sendo assim, somente os usuários desse grupo teriam acesso ao Pentaho. Exemplo:

….
\A/content/common-ui/resources/web/(.+/)*.+\.js.*\Z=Anonymous,pentaho-users
\A/.*require-cfg.js.*\Z=Anonymous,pentaho-users
\A/.*require-js-cfg.js.*\Z=Anonymous,pentaho-users
\A/content/common-ui/resources/web/require.js.*\Z=Anonymous,pentaho-users
\A/content/common-ui/resources/web/require-cfg.js.*\Z=Anonymous,pentaho-users
\A/content/data-access/resources/gwt/.*css\Z=Anonymous,pentaho-users
\A/webcontext.js.*\Z=Anonymous,pentaho-users

Outro ponto importante nesse arquivo, é o grupo Admin. ELE NÃO DEVE SER ALTERADO.
Nas versões 3 e 4 do Pentaho BI-Server, era necessário trocar esse grupo Admin para o grupo de administrador criado no LDAP, no meu caso seria o pentaho-admin. Só que nessa versão essa palavra Admin é reservada e ela se refere a configuração que foi feita em applicationContext-security-ldap.properties no item adminRole=cn\=pentaho-admin,ou\=GROUPS,dc\=domingos,dc\=com,dc\=br

Resumindo, se for usar os grupos que já existem no LDAP, não altere esse arquivo. Caso for usar um grupo único de usuários comuns criado no LDAP, só altere o Authenticated para esse grupo. Não mexa nas linhas onde tem o grupo Admin.

4. spring.properties

Nesse arquivo, devemos informar quem é o nosso usuário admin do Pentaho.

singleTenantAdminDefaultUserName=vader
singleTenantAdminUserName=vader
singleTenantAdminDefaultAuthorityName=Administrator
singleTenantAdminAuthorityName=Administrator
repositoryAdminUsername=pentahoRepoAdmin
singleTenantAuthenticatedAuthorityName=Authenticated
singleTenantAnonymousAuthorityName=Anonymous
superAdminAuthorityName=SysAdmin
superAdminUserName=super
systemTenantAdminUserName=system
systemTenantAdminPassword=cGFzc3dvcmQ=

Caso tenham optado por usar o grupo único (pentaho-users), é necessário trocar o parâmetro singleTenantAuthenticatedAuthorityName de Authenticated para pentaho-users.

5. data-access/settings.xml

Nesse arquivo, altere um parâmetro para o usuário administrador do Penthao:

<data-access-view-users>vader</data-access-view-users>

E caso use o grupo único, troque tudo o que tiver Authenticated para pentaho-users.

Após essas configurações, podemos reiniciar o BI-Server.

Importante 1: Para validar esse processo e pegar o problema quando a autenticação LDAP não funciona, eu sempre ativo o DEBUG dos logs no log4j do Pentaho. O arquivo do log4j fica em biserver-ce/tomcat/webapps/pentaho/WEB-INF/classes, e é o arquivo log4j.xml.

Nesse arquivo, eu coloco em DEBUG os seguintes parâmetros:

<category name=”org.springframework”>
<priority value=”DEBUG“/>
</category>

<category name=”org.springframework.security”>
<priority value=”DEBUG“/>
</category>

Com isso, quando reiniciar o Pentaho BI-Server e tentar fazer a autenticação, poderá ser visto o passo a passo da autenticação para possível resolução de problemas. Lembrem de desativar esse DEBUG depois que estiver funcionando, pois ficará gerando log desnecessário.

Importante 2: Se a sua estrutura LDAP tiver mais que 1.000 usuários, pode ser que seja necessário alterar o parâmetro MaxPageSize do seu servidor LDAP (AD ou outro), para que todos os usuários consigam logar no Pentaho e apareçam na lista de permissões.

Testar a autenticação como usuário administrador

 Após reiniciar o BI-Server, podemos fazer o teste de autenticação com o usuário administrador, que no meu caso é o vader.

1. Tela de login:

ScreenHunter_01 Jan. 09 16.09

2. Logado como o usuário vader:

ScreenHunter_02 Jan. 09 16.11

Reparem que o usuário vader como administrador, tem acesso a todos os menus.

Testar a autenticação como usuário comum

1. Logado como usuário fulano

ScreenHunter_03 Jan. 09 16.14

Reparem que o usuário fulano tem acesso restrito nos menus.

Testes de acessos a pastas e arquivos através dos grupos do LDAP

Com usuário vader, podemos criar uma pasta Comercial e associar que somente o grupo comercial tenha acesso a ela. Dessa forma, o usuário ciclano que é do Administrativo, não teria acesso a ela.

1. Criar a pasta e dar o acesso.

ScreenHunter_04 Jan. 09 16.20

2. Dessa forma, o usuário fulano logado terá a seguinte visualização:

ScreenHunter_05 Jan. 09 16.21

3. E o usuário ciclano que é do grupo Administrativo, terá a seguinte visualização:

ScreenHunter_06 Jan. 09 16.25

Com isso finalizamos esse tutorial que mostra a configuração do Pentaho BI-Server para autenticar em um LDAP.

Espero que seja de grande ajuda para quem precisa.

Abraços.

15 comentários em “Pentaho 5 autenticando no LDAP (OpenLDAP e AD)

    Kleyton R. Ribeiro disse:
    19 de abril de 2016 às 18:42

    Olá, esse seu tutorial foi na visada certa, reiniciou o server e logou pelo AD, apenas tive um problema de permissão: nenhum loga como administrador. Talvez seja pela estrutura do AD: temos uma floresta com muitas árvores, é o AD do Estado e ramificações para cada elemento do Governo. Veja como eu fiz teria como me dar uma luz?

    Kleyton R. Ribeiro disse:
    19 de abril de 2016 às 18:43

    contextSource.providerUrl=ldap\://s1044.sejusp.ms\:389
    contextSource.userDn=jasoarez@sejusp
    contextSource.password=jasoarez

    userSearch.searchBase=ou\=CBMMS,dc\=SEJUSP,dc\=MS
    userSearch.searchFilter= (sAMAccountName\={0})

    populator.convertToUpperCase=false
    populator.groupRoleAttribute=cn
    populator.groupSearchBase=ou\=CBMMS,dc\=SEJUSP,dc\=MS
    populator.groupSearchFilter=(memberOf\={1})
    populator.rolePrefix=
    populator.searchSubtree=true

    allAuthoritiesSearch.roleAttribute=cn
    allAuthoritiesSearch.searchBase=ou\=CBMMS,dc\=SEJUSP,dc\=MS
    allAuthoritiesSearch.searchFilter=(objectClass\=posixGroup)

    allUsernamesSearch.usernameAttribute=cn
    allUsernamesSearch.searchBase=ou\=CBMMS,dc\=SEJUSP,dc\=MS
    allUsernamesSearch.searchFilter=(objectClass\=posixAccount)

    adminRole=cn\=grp_Desenvolvimento,ou\=Grupos,ou\=Informatica – CBMMS,ou\=Comando Geral do Corpo de Bombeiros,ou\=CBMMS,dc\=SEJUSP,dc\=MS
    adminUser=krr
    #cn\=Kleyton Rodrigues Ribeiro,ou\=Usuários,ou\=Informatica – CBMMS,ou\=Comando Geral do Corpo de Bombeiros,ou\=CBMMS,dc\=SEJUSP,dc\=MS
    *********************************************************************************
    Gostaria que todos na equipe de desenvolvimento fosse admin

    *********************************************************************************
    #Tue Mar 26 17:50:44 EDT 2013
    singleTenantAdminDefaultUserName=krr
    singleTenantAdminUserName=krr
    singleTenantAdminDefaultAuthorityName=Administrator
    singleTenantAdminAuthorityName=Administrator
    repositoryAdminUsername=pentahoRepoAdmin
    singleTenantAuthenticatedAuthorityName=Authenticated
    singleTenantAnonymousAuthorityName=Anonymous
    superAdminAuthorityName=SysAdmin
    superAdminUserName=super
    systemTenantAdminUserName=system
    systemTenantAdminPassword=cGFzc3dvcmQ=
    cache-size=100
    cache-ttl=300
    # 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
    *********************************************************************************

    Kleyton R. Ribeiro disse:
    20 de abril de 2016 às 16:22

    Muito obrigado, já resolvi. O item 5 e 4 são diferentes para a versão 5.4. Foi de grande ajuda.

      Marcos Lopes disse:
      17 de maio de 2016 às 13:33

      Como resolveu? Está assim comigo também?

        Kleyton R. Ribeiro disse:
        18 de maio de 2016 às 16:14

        Olá, as alterações necessárias são apenas em três arquivos *.properties:
        1º security
        2º applicationContext-security-ldap
        3º repository.spring

        Qualquer coisa me envie uma msg; kleytonrodrigues [at] gmail [dot] com

        Vou tentar mostrar as alterações aqui:

        1º mudar o item [provider] [provider=ldap].

        2º vou colocar nas linhas abaixo as configurações do AD (servidor ldap), os comentários refere-se a linha abaixo dela:

        #servidor do AD (ldap)
        contextSource.providerUrl=ldap\://s1044.sejusp.ms\:389
        #usuário para autenticação de teste
        contextSource.userDn=SEJUSP\\jasoarez
        #senha do usuário de autenticação de teste
        contextSource.password=jasoarez

        #base de usuários do AD que poderam autenticar no Pentaho,
        #é diferente de autorização para ler/executar conteúdo do Pentaho
        userSearch.searchBase=OU\=CBMMS,DC\=SEJUSP,DC\=MS
        #atributo que busca o login para autenticar, esse atributo dispensa o domínio
        #ex: SEJUSP\\jasoarez ou jasoarez@sejusp, login apenas com usuário
        userSearch.searchFilter=(sAMAccountName\={0})

        #as informções neste bloco não sei ao certo o q faz, apenas peguei no portal de suporte do Pentaho
        populator.groupRoleAttribute=CN
        #coloque aqui as mesmas do base de usuários (userSearch.searchBase)
        populator.groupSearchBase=OU\=CBMMS,DC\=SEJUSP,DC\=MS
        populator.groupSearchFilter=(member\:1.2.840.113556.1.4.1941\:\={0})
        populator.rolePrefix=
        populator.convertToUpperCase=false
        populator.searchSubtree=true

        #base de grupos que serão usados pelo Pentaho
        allAuthoritiesSearch.roleAttribute=CN
        allAuthoritiesSearch.searchBase=OU\=Grupos,OU\=Informatica – CBMMS,OU\=Comando Geral do Corpo de Bombeiros,OU\=CBMMS,DC\=SEJUSP,DC\=MS
        allAuthoritiesSearch.searchFilter=(objectClass\=group)

        allUsernamesSearch.usernameAttribute=sAMAccountName
        allUsernamesSearch.searchBase=OU\=CBMMS,DC\=SEJUSP,DC\=MS
        allUsernamesSearch.searchFilter=objectClass\=Person

        #usuário admin do Pentaho
        adminUser=CN\=Kleyton Rodrigues Ribeiro,OU\=Usuários,OU\=Informatica – CBMMS,OU\=Comando Geral do Corpo de Bombeiros,OU\=CBMMS,DC\=SEJUSP,DC\=MS
        #grupos admin do Pentaho
        adminRole=CN\=grp_Desenvolvimento,OU\=Grupos,OU\=Informatica – CBMMS,OU\=Comando Geral do Corpo de Bombeiros,OU\=CBMMS,DC\=SEJUSP,DC\=MS

        Kleyton R. Ribeiro disse:
        18 de maio de 2016 às 16:18

        Faltou o 3º :

        você deve mudar apenas o item

        singleTenantAdminUserName=

        nele você informa o usuário que terá permissão de admin,

        ex: singleTenantAdminUserName=jasoarez

        Marcos Lopes disse:
        19 de maio de 2016 às 11:05

        Fantástico!!! Funcionou perfeitamente. Muito Obrigado!

        Kleyton R. Ribeiro disse:
        19 de maio de 2016 às 13:35

        As ordens!!!! Quando eu tiver um tempo vou fazer um tutorial e postar no grupo do Yahoo. Ou você faz e posta aqui!!!

    Wagner G.C. disse:
    20 de junho de 2016 às 18:55

    Olá!… Vamos ver se você responde :-)… é possível integrar LDAP ou o AD apenas no repositório do KETTLE?… Não quero instalar toda a suíte. Obrigado!🙂

      Cesar respondido:
      21 de junho de 2016 às 9:08

      Bom dia Wagner.

      Nunca tentei fazer isso somente no repositório do Kettle. Infelizmente não vou poder te ajudar
      nessa.

      Abraços

    Fleyzer disse:
    29 de junho de 2016 às 11:10

    Pessoal, no meu AD tenho alguns usuários em OU’s diferentes, como posso contornar essa situação?

    contextSource.providerUrl=ldap\://s00win01.unimedfortaleza.com.br\:389/DC\=unimedfortaleza,DC\=com,DC\=br
    contextSource.userDn=CN\=pentahoad,OU\=Usuarios,DC\=unimedfortaleza,DC\=com,DC\=br
    contextSource.password=*************

    userSearch.searchBase=OU\=Usuarios
    userSearch.searchFilter=(sAMAccountName\={0})

    populator.convertToUpperCase=false
    populator.groupRoleAttribute=CN
    populator.groupSearchBase=OU\=Usuarios
    populator.groupSearchFilter=(member:1.2.840.113556.1.4.1941:\={0})
    populator.rolePrefix=
    populator.searchSubtree=true

    allAuthoritiesSearch.roleAttribute=CN
    allAuthoritiesSearch.searchBase=OU\=Usuarios
    allAuthoritiesSearch.searchFilter=(objectCategory=group)

    allUsernamesSearch.usernameAttribute=sAMAccountName
    allUsernamesSearch.searchBase=OU\=Usuarios
    allUsernamesSearch.searchFilter=(&(objectClass\=user)(memberOf\=CN\=pentahousers,OU\=Usuarios,DC\=unimedfortaleza,DC\=com,DC\=br))

    adminRole=DC\=pentahoadmin,OU\=Usuarios,DC\=unimedfortaleza,DC\=com,DC\=br
    adminUser=(sAMAccountName\={1})

    Alguns usuários estão em uma OU chamada MobileUsersPac, o que impede do Pentaho localiza-los.

      Kleyton R. Ribeiro disse:
      29 de junho de 2016 às 11:50

      Tente em | contextSource.providerUrl= | não colocar nenhuma DC, exemplo | contextSource.providerUrl=ldap\://s1044.sejusp.ms\:389 |

        Fleyzer disse:
        29 de junho de 2016 às 13:33

        Kleyton já tentei mas o serviço não funciona com esse parâmetro.

    Fleyzer disse:
    4 de julho de 2016 às 8:28

    Kleyton todos os seus usuários encontram-se em uma mesma OU?

      Kleyton R. Ribeiro disse:
      5 de julho de 2016 às 16:38

      A floresta do AD onde trabalho possui várias árvores, mas os meus usuários estão todas em uma árvore, SEJUSP. Respondento a sua pergunta, SIM. A parte de AD daqui é com outra equipe mas eu observei que independente no nível ou da árvore todos os usuários possui um grupo em comum, talvez você precise subir o nível da base de usuários.

      Outra sugestão, existe uma diferença entre autenticação e autorização no Pentaho.
      1-Poderão autenticar (logar) no pentaho todos os usuários da sua BaseSearch.
      2-Mas terão autorização para alguma ação no pentaho (ler, executar, agendar, criar…) apenas os grupos que for definido, logo os usuários pertencentes a ele. Ou seja, usuários que não estão em um grupo com permissões no pentaho até irão logar, mas não terão acesso a qualquer conteúdo que tentarem visualizar.

      Logo, sugiro que coloque a base de usuários na nível de todos os usuários do seu AD [ex.: userSearch.searchBase=OU\=CBMMS,DC\=SEJUSP,DC\=MS] e informe uma base de grupos a ser importada pelo Pentaho [ex.: allAuthoritiesSearch.roleAttribute=CN
      allAuthoritiesSearch.searchBase=OU\=Grupos,OU\=Informatica – CBMMS,OU\=Comando Geral do Corpo de Bombeiros,OU\=CBMMS,DC\=SEJUSP,DC\=MS
      allAuthoritiesSearch.searchFilter=(objectClass\=group)]

      Leia os meus comentários acima sobre como fiz a intregração com o AD, cada linha está comentada.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s