Configuração do LDAP com AEM 6 configuring-ldap-with-aem

O LDAP (o protocolo L ightweight D diretory A ccess P a) é usado para acessar serviços de diretório centralizados. Isso ajuda a reduzir o esforço necessário para gerenciar contas de usuários, pois elas podem ser acessadas por vários aplicativos. Um desses servidores LDAP é o Ative Diretory. O LDAP geralmente é usado para obter o Logon único, que permite que um usuário acesse vários aplicativos depois de fazer logon uma vez.

As contas de usuário podem ser sincronizadas entre o servidor LDAP e o repositório, com os detalhes da conta LDAP salvos no repositório. Essa funcionalidade permite que as contas sejam atribuídas a grupos de repositórios para alocar as permissões e os privilégios necessários.

O repositório usa autenticação LDAP para autenticar esses usuários, com credenciais sendo passadas ao servidor LDAP para validação, o que é necessário antes de permitir o acesso ao repositório. Para melhorar o desempenho, as credenciais validadas com êxito podem ser armazenadas em cache pelo repositório, com um tempo limite de expiração para garantir que a revalidação ocorra após um período apropriado.

Quando uma conta é removida do servidor LDAP, a validação não é mais concedida e o acesso ao repositório é negado. Os detalhes das contas LDAP salvas no repositório também podem ser removidos.

O uso dessas contas é transparente para os usuários. Ou seja, eles não veem diferença entre contas de usuários e de grupos criadas com base no LDAP e contas criadas exclusivamente no repositório.

No AEM 6, o suporte LDAP vem com uma nova implementação que requer um tipo de configuração diferente do que com versões anteriores.

Todas as configurações LDAP agora estão disponíveis como configurações OSGi. Eles podem ser configurados por meio do console de Gerenciamento da Web em:
https://serveraddress:4502/system/console/configMgr

Para que o LDAP funcione com AEM, você deve criar três configurações OSGi:

  1. Um Provedor de Identidade LDAP (IDP).
  2. Um Manipulador de sincronização.
  3. Um Módulo De Logon Externo.
NOTE
Assista ao Módulo de Logon Externo do Oak - Autenticação com LDAP e posterior para aprofundar Módulos de Logon Externos.
Para ler um exemplo de configuração do Experience Manager com o Apache DS, consulte Configurando o Adobe Experience Manager 6.5 para usar o Apache Diretory Service.

Configuração do provedor de identidade LDAP configuring-the-ldap-identity-provider

O Provedor de Identidade LDAP é usado para definir como os usuários são recuperados do servidor LDAP.

Ele pode ser encontrado no console de gerenciamento sob o nome Apache Jackrabbit Oak LDAP Identity Provider.

As seguintes opções de configuração estão disponíveis para o Provedor de Identidade LDAP:

Nome do provedor LDAP
Nome desta configuração do provedor LDAP.
Nome do Host do Servidor LDAP
Nome do host do servidor LDAP
Porta do servidor LDAP
Porta do servidor LDAP
Usar SSL
Indica se uma conexão SSL (LDAPs) deve ser usada.
Usar TLS
Indica se o TLS deve ser iniciado em conexões.
Desativar verificação de certificado
Indica se a validação do certificado do servidor deve ser desabilitada.
Vincular DN
DN do usuário para autenticação. Se esse campo ficar vazio, uma associação anônima será executada.
Senha de associação
Senha do usuário para autenticação
Tempo limite de pesquisa
Tempo até que uma pesquisa expire
Máximo de pool de administradores ativo
O tamanho máximo ativo do pool de conexões do administrador.
Máximo de usuários ativos no pool
O tamanho máximo ativo do pool de conexão do usuário.
DN base do usuário
O DN para pesquisas de usuário
Classes de objeto do usuário
A lista de classes de objetos que uma entrada de usuário deve conter.
Atributo de ID de usuário
Nome do atributo que contém a ID do usuário.
Filtro extra do usuário
Filtro LDAP adicional a ser usado ao pesquisar por usuários. O filtro final é formatado como: '(&(<idAttr>=<userId>)(objectclass=<objectclass>)<extraFilter>)' (user.extraFilter)
Caminhos de DN do usuário
Controla se o DN deve ser usado para calcular uma parte do caminho intermediário.
DN de base do grupo
O DN base para pesquisas de grupo.
Agrupar classes de objeto
A lista de classes de objetos que uma entrada de grupo deve conter.
Atributo do nome do grupo
Nome do atributo que contém o nome do grupo.
Filtro extra do grupo
Filtro LDAP adicional a ser usado ao pesquisar por grupos. O filtro final é formatado como: '(&(<nameAttr>=<groupName>)(objectclass=<objectclass>)<extraFilter>)'
Caminhos de DN de grupo
Controla se o DN deve ser usado para calcular uma parte do caminho intermediário.
Atributo do membro do grupo
Atributo de grupo que contém um ou mais membros de um grupo.

Configuração Do Manipulador De Sincronização configuring-the-synchronization-handler

O manipulador de sincronização define como os usuários e grupos do Provedor de identidade são sincronizados com o repositório.

Está localizado no nome Apache Jackrabbit Oak Default Sync Handler do console de gerenciamento.

As seguintes opções de configurações estão disponíveis para o Manipulador de sincronização:

Nome do Manipulador de Sincronização
Nome da configuração de sincronização.
Tempo de expiração do usuário
Duração até que um usuário sincronizado expire.
Associação automática de usuário
Lista de grupos aos quais um usuário sincronizado é adicionado automaticamente.
Mapeamento de propriedade do usuário
Definição de mapeamento de lista de propriedades locais a partir de propriedades externas.
Prefixo do caminho do usuário
O prefixo de caminho usado ao criar usuários.
Expiração de associação de usuário
Tempo após o qual a associação expira.
Profundidade de aninhamento de associação de usuário
Retorna a profundidade máxima do aninhamento de grupos quando as relações de associação são sincronizadas. Um valor 0 desativa efetivamente a pesquisa de associação de grupo. Um valor igual a 1 adiciona apenas os grupos diretos de um usuário. Este valor não tem efeito ao sincronizar grupos individuais somente ao sincronizar uma ancestralidade de associação de usuários.
Tempo de expiração do grupo
Duração até que um grupo sincronizado expire.
Associação automática de grupo
Lista de grupos aos quais um grupo sincronizado é adicionado automaticamente.
Mapeamento de propriedade de grupo
Definição de mapeamento de lista de propriedades locais a partir de propriedades externas.
Prefixo do caminho do grupo
O prefixo de caminho usado ao criar grupos.

O módulo de login externo the-external-login-module

O módulo de logon externo está localizado no Módulo de Logon Externo do Apache Jackrabbit Oak no console de gerenciamento.

NOTE
O módulo de logon externo do Apache Jackrabbit Oak implementa as especificações do Java™ Authentication and Authorization Servi (JAAS). Consulte o Guia oficial de Referência de Segurança do Oracle Java™ para obter mais informações.

Seu trabalho é definir qual Provedor de identidade e Manipulador de sincronização usar, vinculando efetivamente os dois módulos.

As seguintes opções de configuração estão disponíveis:

Classificação no JAAS
Especificando a classificação (ou seja, a ordem de classificação) dessa entrada do módulo de logon. As entradas são classificadas em ordem decrescente (ou seja, as configurações com classificação de valor mais alto vêm primeiro).
Sinalizador de Controle JAAS
Propriedade que especifica se um LoginModule é REQUIRED, REQUISITE, SUFFICIENT ou OPTIONAL. Consulte a documentação de configuração do JAAS para obter mais detalhes sobre o significado desses sinalizadores.
Território JAAS
O nome do realm (ou nome da aplicação) no qual o LoginModule é registrado. Se nenhum nome de realm for fornecido, o LoginModule será registrado com um realm default conforme configurado na configuração do Felix JAAS.
Nome do Provedor de Identidade
Nome do provedor de identidade.
Nome do Manipulador de Sincronização
Nome do manipulador de sincronização.
NOTE
Se você planeja ter mais de uma configuração LDAP com sua instância AEM, provedores de identidade e manipuladores de sincronização separados devem ser criados para cada configuração.

Configurar LDAP sobre SSL configure-ldap-over-ssl

O AEM 6 pode ser configurado para autenticação com LDAP sobre SSL seguindo o procedimento abaixo:

  1. Marque as caixas de seleção Usar SSL ou Usar TLS ao configurar o Provedor de Identidade LDAP.

  2. Configure o Manipulador de sincronização e o módulo de Logon externo de acordo com sua configuração.

  3. Instale os certificados SSL em sua VM Java™, se necessário. Esta instalação pode ser feita usando a ferramenta de chave:

    keytool -import -alias localCA -file <certificate location> -keystore <keystore location>

  4. Teste a conexão com o servidor LDAP.

Criação de certificados SSL creating-ssl-certificates

Certificados autoassinados podem ser usados ao configurar o AEM para autenticação com LDAP via SSL. Veja abaixo um exemplo de um procedimento funcional para geração de certificados para uso com AEM.

  1. Verifique se você tem uma biblioteca SSL instalada e em funcionamento. Este procedimento usa OpenSSL como exemplo.

  2. Crie um arquivo de configuração OpenSSL (cnf) personalizado. Essa configuração pode ser feita copiando o arquivo de configuração padrão openssl.cnf e personalizando-o. Em sistemas UNIX®, está em /usr/lib/ssl/openssl.cnf

  3. Prossiga para a criação da chave raiz da CA executando o comando abaixo em um terminal:

    code language-none
    openssl genpkey -algorithm [public key algorithm] -out certificatefile.key -pkeyopt [public key algorithm option]
    
  4. Em seguida, crie um certificado autoassinado:

    openssl req -new -x509 -days [number of days for certification] -key certificatefile.key -out root-ca.crt -config CA/openssl.cnf

  5. Para verificar se tudo está em ordem, inspecione o certificado recém-gerado:

    openssl x509 -noout -text -in root-ca.crt

  6. Verifique se todas as pastas especificadas no arquivo de configuração de certificado (.cnf) existem. Caso contrário, crie-as.

  7. Crie uma seed aleatória, executando, por exemplo:

    openssl rand -out private/.rand 8192

  8. Mova os arquivos .pem criados para os locais configurados no arquivo .cnf.

  9. Por fim, adicione o certificado ao Java™ keystore.

Ativando o log de depuração enabling-debug-logging

O log de depuração pode ser ativado para o Provedor de Identidade LDAP e o Módulo de Login Externo para solucionar problemas de conexão.

Para ativar o log de depuração, faça o seguinte:

  1. Vá até o Console de Gerenciamento da Web.
  2. Localize "Configuração do logger de log do Apache Sling" e crie dois loggers com as seguintes opções:
  • Nível de registro: depuração

  • Arquivo de log logs/ldap.log

  • Padrão de Mensagem: {0,date,dd.MM.yyyy HH:mm:ss.SSS *{4}* {2}

  • Agente de log: org.apache.jackrabbit.oak.security.authentication.ldap

  • Nível de registro: depuração

  • Arquivo de log: logs/external.log

  • Padrão de Mensagem: {0,date,dd.MM.yyyy HH:mm:ss.SSS *{4}* {2}

  • Agente de log: org.apache.jackrabbit.oak.spi.security.authentication.external

Uma Palavra sobre Afiliação de Grupos a-word-on-group-affiliation

Os usuários sincronizados por meio do LDAP podem fazer parte de diferentes grupos no AEM. Esses grupos podem ser grupos LDAP externos que são adicionados ao AEM como parte do processo de sincronização. No entanto, eles também podem ser grupos adicionados separadamente e que não fazem parte do esquema original de afiliação de grupo LDAP.

Normalmente, esses grupos são adicionados por um administrador local do AEM ou por qualquer outro provedor de identidade.

Se um usuário for removido de um grupo no servidor LDAP, a alteração será refletida no lado AEM na sincronização. No entanto, todas as outras afiliações de grupo do usuário que não foram adicionadas pelo LDAP permanecem em vigor.

O AEM detecta e lida com a limpeza de usuários de grupos externos usando a propriedade rep:externalId. Esta propriedade é adicionada automaticamente a qualquer usuário ou grupo que seja sincronizado pelo Manipulador de sincronização e contenha informações sobre o provedor de identidade de origem.

Consulte a documentação do Apache Oak em Sincronização de usuários e grupos.

Problemas conhecidos known-issues

Se você planeja usar LDAP sobre SSL, verifique se os certificados que você está usando são criados sem a opção de comentário do Netscape. Se essa opção estiver ativada, a autenticação falhará com um erro de handshake SSL.

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2