Integração com domínio (AD LDAP)
Visão geral
A aplicação MD2 Interactive Intelligence permite que a autenticação e autorização seja através de integração com um controlador de domínio Active Diretory (LDAP).
Para cada grupo do domínio é possível configurar um perfil (role) na aplicação. Dessa forma, usuários relacionados aos grupos tem perfis de acesso ao sistema.
Funcionamento do cache
A aplicação permite a configuração de um mecanismo de cache em memória para otimizar o desempenho das operações de autenticação e autorização de usuários provenientes do controlador de domínio LDAP, para interações que ocorrem via MS Teams. Esse mecanismo visa reduzir a latência das consultas ao diretório corporativo, diminuir a carga sobre o servidor LDAP e aumentar a responsividade das rotinas de validação de acesso.
1. Origem dos dados
As informações armazenadas no cache são obtidas por meio de consultas ao controlador de domínio LDAP durante a operação de resolução de grupos e permissões (autorização). Após a primeira consulta bem-sucedida, os dados retornados são mantidos em memória por um tempo determinado, evitando a necessidade de repetição da chamada LDAP até o término do período configurado.
2. Estrutura interna
-
O cache é inteiramente residente em memória (RAM);
-
Não há persistência em disco;
-
Cada entrada no cache é identificada por uma chave única, normalmente derivada do identificador de usuário (ex.: login, e-mail, DN);
-
O valor armazenado contém as informações relevantes de autenticação e/ou autorização (por exemplo, DN, grupos, permissões, atributos personalizados).
3. Tempo de vida (TTL)
O Tempo de Vida (TTL – Time To Live) de cada entrada define o período máximo durante o qual a informação armazenada é considerada válida. Após o vencimento do TTL, a entrada é automaticamente expirada e removida do cache, forçando uma nova consulta ao LDAP na próxima solicitação correspondente.
Configuração
O valor do TTL é parametrizado no arquivo ".env", que contém as configurações globais do ambiente da aplicação.
Exemplo:
# Tempo de vida do cache LDAP (em minutos)
CACHE_LDAP_MAX_TIME=5
Observações:
-
O valor deve ser informado em minutos;
-
Em ambientes de alta disponibilidade, recomenda-se um valor entre 1 e 30 minutos, balanceando desempenho e atualização de dados;
-
Alterações neste parâmetro exigem reinicialização da aplicação para surtirem efeito.
Comportamento em Tempo de Execução
| Situação | Comportamento do cache |
|---|---|
| Primeira mensagem de um usuário | Consulta o LDAP, armazena os dados em memória, e define o TTL. |
| Nova mensagem dentro do TTL | Retorna os dados diretamente do cache, sem nova consulta LDAP. |
| Expiração do TTL | A entrada é removida, e a próxima solicitação força uma nova consulta LDAP. |
| Reinício da aplicação | Todo o cache é destruído; o mecanismo recomeça vazio e é reconstituído sob demanda. |
Considerações
-
Persistência volátil:
O cache é apenas em memória, todas as informações são perdidas em caso de reinício da aplicação (manual ou inesperado). -
Dados dinâmicos de permissão:
Alterações imediatas no LDAP (ex.: inclusão/remoção de usuários em grupos) só serão refletidas após a expiração do TTL ou reinício do serviço.