Sincronizando Usuários LDAP-AD
O Alfresco é capaz de usar a autenticação do LDAP para acesso ao repositório.
Também é possível sincronizar os usuários LDAP com o Alfresco, incluindo o estado do mesmo como ativo ou inativo.
Os passos seguintes de referem a parametrização com Active Directory da Microsoft.
A sincronização será feita ao iniciar o sistema e em intervalos de 30 minutos.
Adicione as seguintes linhas no alfresco-global.properties:
# LDAP AD
authentication.chain=alfrescoNtlm1:alfrescoNtlm,ldap-ad1:ldap-ad
ldap.authentication.active=true
ldap.authentication.allowGuestLogin=false
ldap.authentication.userNameFormat=%s@domain.local
ldap.authentication.java.naming.provider.url=ldap://192.168.0.254:389
ldap.authentication.defaultAdministratorUserNames=Administrator
ldap.synchronization.active=true
ldap.synchronization.java.naming.security.principal=user
ldap.synchronization.java.naming.security.credentials=userpassword
ldap.synchronization.synchronizeChangesOnly=false
ldap.synchronization.allowDeletions=true
ldap.synchronization.groupSearchBase=OU=Empresa,DC=interno,DC=local
ldap.synchronization.userSearchBase=OU=Empresa,DC=interno,DC=local
ldap.synchronization.userIdAttributeName=sAMAccountName
ldap.synchronization.userFirstNameAttributeName=givenName
ldap.synchronization.userLastNameAttributeName=cn
ldap.synchronization.userEmailAttributeName=mail
synchronization.syncOnStartup=true
synchronization.import.cron=0 0/30 * * * ?
synchronization.synchronizeChangesOnly=false
synchronization.externalUserControl=true
synchronization.externalUserControlSubsystemName=ldap-ad1
ldap.synchronization.userAccountStatusProperty=userAccountControl
ldap.synchronization.userAccountStatusInterpreter=ldapadUserAccountStatusInterpreter
ldap.synchronization.disabledAccountPropertyValue=512
log4j.logger.org.alfresco.repo.security.sync=debug
Caso não tenha os valores requeridos abaixo, poderá utilizar o https://learn.microsoft.com/en-us/sysinternals/downloads/adexplorer ou similar para navegar na árvore LDAP e encontrar os valores.
Vamos agora, parametrizar com os valores de produção.
-
Na linha ldap.authentication.userNameFormat: substitua o ‘domain.local’ para o nome completo do domínio.
-
Na linha ldap.authentication.java.naming.provider.url: altere o IP para o IP do servidor AD.
-
Na linha ldap.authentication.defaultAdministratorUserNames: defina em forma de lista, separado por virgula os usuários a serem considerados como administradores do sistema.
-
Nas linhas ldap.synchronization.java.naming.security.principal e ldap.synchronization.java.naming.security.credentials: substitua o nome e senha de um usuário com direito a exportação da árvore do AD.
-
Nas linhas ldap.synchronization.groupSearchBase e ldap.synchronization.userSearchBase: substitua o valor com a estrutura raiz para sincronização dos usuários e grupos.
-
Verifique se os parâmetros utilizados em ldap.synchronization.userIdAttributeName, ldap.synchronization.userFirstNameAttributeName, ldap.synchronization.userLastNameAttributeName e ldap.synchronization.userEmailAttributeName estão corretos em relação a versão do AD utilizado.
-
Estes parâmetros definem quais propriedades serão importados como nome de usuário, primeiro nome, sobrenome e e-mail definido para cada usuário.
-
Caso algum parâmetro esteja errado, a sincronização não funcionará corretamente.
-
Alterar qualquer valor no docker-compose se faz necessário reiniciar os serviços.