Autenticação de operadores via LDAP
O plugin LDAP permite que operadores do ACCELERO façam login validando suas credenciais em um servidor LDAP externo (por exemplo, OpenLDAP ou Active Directory), em vez de depender exclusivamente das senhas armazenadas localmente no ACCELERO. A autenticação é feita por bind LDAP: o ACCELERO conecta ao diretório e tenta autenticar o usuário com as credenciais informadas no login.
Esta integração é disponibilizada como plugin (ldap) e precisa ser instalada e habilitada pela equipe técnica da IONGRADE. Consulte o suporte para verificar compatibilidade com a sua versão do ACCELERO.
Versão atual do plugin: 0.0.1 — compatível com ACCELERO 2.16.0 ou superior (conforme manifest.json).
Esta é a versão 0.0.1 do plugin. O pacote traz apenas o mecanismo de conexão e autenticação LDAP (três classes de biblioteca: LdapConfiguration, LdapFacade e LdapUser). Ele não inclui tela de configuração, rotas, itens de menu, migrações nem a ligação com a tela de login: nenhuma parte do ACCELERO chama esse mecanismo na versão 0.0.1. Para que o login de operadores passe a usar o LDAP, a equipe técnica da IONGRADE precisa integrar o mecanismo ao fluxo de login do ambiente. Confirme com o suporte o que está disponível na sua instalação.
O que o plugin faz
| Funcionalidade | O que acontece no ACCELERO |
|---|---|
| Autenticação de operador via LDAP | O mecanismo conecta ao servidor LDAP e tenta um bind com o usuário e a senha recebidos. Se o bind for bem-sucedido, a autenticação é aceita |
| Consulta de usuário no diretório | O plugin pode consultar o diretório (busca por uid) usando uma conta administrativa, retornando os atributos do usuário cadastrado no LDAP |
Centraliza a autenticação dos operadores no diretório corporativo (LDAP/Active Directory), evitando senhas isoladas no ACCELERO e aproveitando as políticas de senha já existentes na organização.
A autenticação LDAP aplica-se a operadores (usuários que acessam o sistema ACCELERO). Ela não trata do cadastro de pessoas nem do controle de acesso físico — apenas do login no software.
Configuração
Os parâmetros usados pelo mecanismo de autenticação (classe LdapConfiguration) são:
| Parâmetro | Descrição |
|---|---|
Servidor (server) | Endereço do servidor LDAP ao qual o ACCELERO se conecta |
Usuário administrador (adminUser) | Conta administrativa (root) usada para consultar o diretório (campo cn da conta admin) |
Senha do administrador (adminPassword) | Senha da conta administrativa |
Componentes de domínio (dc) | Lista de componentes de domínio (dc) que formam a base do diretório. Ex.: ["empresa", "com"] resulta na base dc=empresa,dc=com |
Na versão 0.0.1 não existe tela no ACCELERO para informar esses parâmetros, e o plugin também não os lê de nenhuma configuração salva: quem integra o mecanismo ao login precisa criar a LdapConfiguration com os valores do diretório. Por isso não há caminho de acesso no menu para a configuração LDAP.
O mecanismo usa as funções ldap_* do PHP. O servidor do ACCELERO precisa ter a extensão LDAP do PHP instalada; sem ela, a conexão não acontece.
Como a autenticação funciona
O mecanismo (classe LdapFacade) opera em cima das funções LDAP padrão, usando o protocolo LDAP versão 3.
Conexão
O mecanismo conecta ao endereço configurado em Servidor e fixa o protocolo na versão 3 (LDAP_OPT_PROTOCOL_VERSION = 3).
Bind de autenticação (login do operador)
Ao autenticar, o plugin monta o DN do usuário no formato:
cn=<usuário>,ou=users,<base do domínio>
onde <base do domínio> é derivada dos componentes dc configurados (ex.: dc=empresa,dc=com). Em seguida, executa um bind com esse DN e a senha informada:
- Bind bem-sucedido → autenticação aceita.
- Bind recusado → autenticação negada.
A versão atual monta o DN do usuário com a unidade organizacional fixa ou=users. O diretório LDAP precisa expor os usuários sob essa OU para que o bind funcione no formato esperado.
Consulta de usuário (busca no diretório)
Para consultar os dados de um usuário, o plugin faz um bind administrativo (usando o Usuário administrador e a Senha do administrador) e então executa uma busca:
- Base da busca:
ou=users,<base do domínio> - Filtro:
(uid=<usuário>) - Resultado: o primeiro registro encontrado é retornado como um usuário do diretório, com seu DN e os atributos preenchidos (cada atributo recebe o primeiro valor disponível).
Se o bind administrativo falhar, a busca não retornar resultado ou ocorrer erro, o evento é registrado no log de erros e nenhum usuário é retornado.
Casos de uso
Habilitar autenticação LDAP para os operadores
- Solicitar à IONGRADE a instalação do plugin
ldape a integração do mecanismo ao login do ambiente. - Fornecer à equipe técnica os dados do diretório: endereço do servidor, conta administrador e senha, e os componentes de domínio (
dc). - Garantir que os operadores estejam cadastrados no LDAP sob a OU
ou=users, com ocn/uidcorrespondente ao usuário de login. - Validar o login de um operador de teste antes de liberar para todos.
Correspondência entre o operador e o diretório
O mecanismo não consulta o cadastro de operadores do ACCELERO: ele recebe apenas o texto do usuário e a senha, e usa esse mesmo texto nas duas operações:
| Operação | Como o texto do usuário é usado |
|---|---|
| Autenticação (bind) | Como cn, no DN cn=<usuário>,ou=users,<base do domínio> |
| Consulta de dados | Como uid, no filtro (uid=<usuário>) sob ou=users,<base do domínio> |
Na prática, o registro do diretório precisa ter cn e uid iguais ao usuário que o operador digita. A versão 0.0.1 não traz nenhuma regra que associe o resultado a um operador local (por e-mail, matrícula ou outro atributo): essa associação fica a cargo de quem integra o mecanismo ao login.
Boas práticas
- Conta administrativa dedicada: use uma conta de serviço com permissão apenas de leitura do diretório para as consultas, em vez de uma conta administrativa ampla.
- Comunicação segura: prefira LDAP sobre TLS (LDAPS) entre o servidor ACCELERO e o diretório, para não trafegar credenciais em texto claro. Confirme o suporte ao TLS com a equipe técnica.
- Operador de teste: mantenha um operador de teste no diretório para validar a integração após mudanças no LDAP.
- Estrutura do diretório: mantenha os operadores sob a OU
ou=usersesperada pelo plugin.
Troubleshooting
Operador não consegue fazer login via LDAP
Possíveis causas:
- DN do usuário não corresponde ao formato esperado (
cn=<usuário>,ou=users,<dc>). - Usuário não está sob a OU
ou=usersno diretório. - Senha incorreta ou conta bloqueada no LDAP.
- Servidor LDAP inacessível a partir do servidor ACCELERO.
Solução:
- Confirme o endereço do servidor e a conectividade de rede (porta LDAP/LDAPS) entre o ACCELERO e o diretório.
- Verifique se o usuário existe sob
ou=userse se ocn/uidbate com o usuário de login. - Teste as credenciais diretamente no diretório.
Consulta de usuário não retorna dados
Possíveis causas:
- Bind administrativo falhou (usuário/senha do administrador incorretos).
- Filtro
(uid=<usuário>)não encontra o registro. - Base de busca (
ou=users,<dc>) incorreta.
Solução:
- Verifique o Usuário administrador e a Senha do administrador configurados.
- Confirme os componentes de domínio (
dc) — a base precisa refletir a estrutura real do diretório. - Consulte o log de erros do ACCELERO, onde as mensagens de erro do LDAP são registradas.
Integração com outros módulos
Operadores
A autenticação LDAP atua sobre o login de Operadores — usuários que acessam o sistema ACCELERO. Confira como os operadores são cadastrados e como suas permissões são definidas.
Se a organização usa Microsoft Entra ID (Azure AD), avalie também a integração Azure OAuth como alternativa de autenticação de operadores.
Próximos Passos
- Operadores — Entenda o cadastro e as permissões dos operadores
- Azure OAuth — Alternativa de autenticação de operadores via Microsoft Entra ID
- Plugins — Saiba mais sobre o sistema de plugins do ACCELERO