O Active Directory (AD) é um serviço de diretório que utiliza o protocolo LDAP (Lightweight Directory Access Protocol) para armazenar informações sobre objetos em redes, disponibilizando essas informações para usuários e administradores desta rede. Atualmente o Cronapp utiliza o AD, que é uma especificação da Microsoft.

Alguns dos principais recursos do AD são: autenticação centralizada, nível de segurança controlado, eficiência no gerenciamento de acesso, unificação do sistema de nomes baseado em DNS, facilitação na delegação de tarefas administrativa etc.

A autenticação AD somente aparece após a criação de projeto - ou seja, é preciso criar um projeto com uma autenticação (por exemplo, Token) e ir nas Configurações do Projeto para trocar.

Configuração

Para realizar as configurações do Active Directory, acesse as configurações do projeto (Figura 1) e na aba Configurações do Projeto da janela altere os campos informados na figura 1:


Figura 1 - Configurando o Active Directory em uma aplicação Cronapp


  1. Autenticação: selecione a opção Active Directory para exibir os demais campos.
  2. Inscrição Automática: se ativo, caso o usuário não esteja registrado na base interna da aplicação, o mecanismo de logon irá incluí-lo automaticamente após sua autenticação via Active Directory.
  3. Domínio Padrão: informe o domínio completo do seu servidor ou o DN (Distinguished Names).
  4. Servidor LDAP: adicione o IP ou host do servidor.
    O Cronapp só irá considerar um protocolo LDAPS quando o endereço do domínio informar explicitamente esse protocolo (exemplo: ldaps://192.168.1.1:636). Caso contrário, não informando um protocolo (exemplo: 192.168.1.1:636) ou informando diretamente o protocolo sem segurança (exemplo: ldap:// 192.168.1.1:636) será considerado o LDAP.
  5. Grupos Ignorados: utilize esse campo para informar o nome dos grupos do AD (separado por vírgula ",") que terão o seu acesso bloqueado na aplicação. Caso não informe nenhum grupo, todos os usuários do seu AD terão acesso à aplicação desenvolvida no Cronapp.
    Exemplo: Financeiro, RH, Terceirizado.


Durante o login na aplicação não é necessário informar o domínio (ex.: joao.silva@email.com), apenas o nome do usuário (ex.: joao.silva).

Domínio Padrão

O campo Domínio padrão (destaque 3 da figura 1) deve ser configurado com base na estrutura usada por seu Active Directory. O Cronapp irá concatenar automaticamente o usuário da sessão com o domínio padrão informado, utilizando a estrutura correta do domínio.

  • Exemplo 1 - Nome do Login
    • Sintaxe: <LOGIN>@<DOMINIO PADRÃO>
    • login: joao.silva
    • Domínio Padrão: minhaempresa.com
    • Resultado: joao.silva@minhaempresa.com
  • Exemplo 2 - DN (Distinguished Names)
    • Sintaxe: uid=<LOGIN>,<DOMINIO PADRÃO>
    • login: js
    • Domínio Padrão: ou=users,dc=XYZ,ou=domains,o=XYZ
    • Resultado: uid=js,ou=users,dc=XYZ,ou=domains,o=XYZ

Autorização

A estrutura de Permissões de segurança do Cronapp possui uma entidade principal chamada Permissionáveis, ela é responsável por restringir as permissões de acesso aos grupos de usuários e usuários associados a ela. Assim, após logar na aplicação usando seu usuário AD, o servidor da aplicação Cronapp obtém os grupos nos quais o usuário é membro na base do Active Directory e faz o mapeamento com os grupos da aplicação. Se o usuário for membro de um grupo do serviço e existir na aplicação um grupo com o mesmo nome, o usuário será automaticamente vinculado a esse grupo na aplicação.


Por padrão, todos os usuários autenticados pelo Active Directory têm acesso ao sistema desenvolvido no Cronapp e serão automaticamente associados ao grupo Authenticated Users, que possui as permissões do permissionável pré-definido Authenticated.

Acesse o tópico Restrição de acesso à aplicação para entender os passos necessários para bloquear determinados grupos.


Exemplo

Imagine uma situação em que temos um servidor de autenticação AD e uma aplicação Cronapp, configurada para permitir seu acesso via serviço:

  1. O servidor AD possui os grupos: Administrators, RH e Financeiro.
  2. A aplicação Cronapp possui os permissionáveis:
    • Administrators
      • Permissão: total;
      • Grupos vinculadosAdministrators.
    • Authenticated
      • Permissão: acesso aos dados do próprio usuário;
      • Grupos vinculadosAuthenticated Users.
    • Managers
      • Permissão: acesso aos dados de todos os usuários da organização;
      • Grupos vinculados: Gestores e RH.


O usuário de João Silva está vinculado ao grupo RH no servidor AD, ao logar pelo serviço na aplicação Cronapp, seu usuário será automaticamente associado aos grupos: RH (obtendo os atributos do permissionável Managers) e Authenticated Users (obtendo os atributos do permissionável Authenticated). 

Já o usuário de Mariana Lima está vinculado ao grupo Financeiro no servidor AD, e após se autenticar na aplicação, ela só poderá acessar aos seus dados, pois a sua conta estará vinculada ao grupo Authenticated Users que possui as restrições do permissionável Authenticated.

Restrição de acesso à aplicação

É possível bloquear o acesso de determinados grupos do serviço AD na aplicação Cronapp. Para isso, informe no campo Grupos Ignorados (destaque 1 da figura 2) da aba Configurações do Projeto quais os grupos do serviço AD serão bloqueados na aplicação Cronapp. 


Fique atento ao informar os nomes dos grupos, pois eles devem ser idênticos ao do serviço (incluindo letras minúsculas e maiúsculas) e precisam estar separados por vírgula ",".


Figura 2 - Informe quais grupos NÃO poderão ter acesso à aplicação


Acesse a funcionalidade Permissão de Segurança e na aba Grupos (Figura 3), crie outro grupo com o nome idêntico ao informado no campo Grupo (destaque 1 da Figura 2), marque também as opções Pode ter membros e Grupo pré-definido (destaques 1 da figura 3).


Figura 3 - Informe o nome dos grupos que terão seu acesso restrito


No último passo, vincule o grupo criado ao permissionável na ferramenta Permissão de Segurança.

Acesse a aba Permissionáveis para criar (destaque 1 da Figura 4) ou editar (destaque 2 da Figura 4) um permissionável existente. Ao abrir a janela de edição do permissionável, acesse a aba Grupos e clique no botão "+" para abrir uma terceira janela, a de seleção dos grupos que serão associados a esse permissionável. Por fim, selecione o grupo que criamos no passo anterior (figura 3) e salve.

Para que essas modificações tenham efeito em tempo de desenvolvimento, é necessário parar e executar o projeto novamente. 


Figura 4 - Vinculando um grupo ao permissionável


Após a configuração de restrição por grupo e, baseando-se no exemplo do tópico Autorização, se os personagens João Silva e Mariana Lima tentassem acessar na aplicação via AD, somente Mariana Lima conseguiria, pois João Silva está vinculado ao grupo RH no serviço AD e esse grupo foi bloqueado na aplicação Cronapp.

Nesta página