Você está visualizando a documentação do Apigee Edge.
Acesse a
documentação da
Apigee X. info
Esta seção fornece informações e orientações sobre como resolver problemas do OpenLDAP.
O SMTP está desativado e os usuários precisam redefinir a senha
Sintoma
Quando o SMTP não está configurado na interface do Edge, os novos usuários adicionados ao Edge precisam de uma maneira de definir uma senha.
Mensagens de erro
Unknown username and password combination.
Causas possíveis
Os novos usuários não recebem um e-mail do link "Esqueceu a senha?" para definir uma senha porque o SMTP não está configurado.
Resolução
Você pode resolver esse problema de uma das seguintes maneiras:
Solução 1: Configurar o servidor SMTP
Configure o servidor SMTP para definir uma nova senha para o usuário usando as instruções fornecidas na documentação.
Solução 2: usar o LDAP
Se não for possível configurar o servidor SMTP, use os comandos LDAP abaixo para definir a nova senha de um usuário:
- Um administrador da organização precisa adicionar o usuário específico pela interface do Edge, conforme mostrado abaixo:
- Use o comando ldapsearch para encontrar o nome distinto (dn) do usuário
e redirecionar a saída para um arquivo:
ldapsearch -w Secret123 -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h localhost -p 10389 > ldap.txt
Confira um exemplo de entrada de dn para um usuário, com os atributos dele:
dn:uid=f7a4a4a5-7c43-4168-a47e-6e9a1417cc29,ou=users,ou=global,dc=apigee,dc=com mail: apigee_validator@apigee.com userPassword:: e1NTSEF9b0FrMFFXVmFjbWRxM1BVaFZzMnllWGZMdkNvNjMwNTJlUDZYN3c9PQ= = uid: f7a4a4a5-7c43-4168-a47e-6e9a1417cc29 objectClass: inetOrgPerson sn: Validator cn: apigee
- Abra o arquivo ldap.txt e encontre o dn do novo usuário que foi adicionado com base no atributo de e-mail do novo usuário.
- Execute o comando ldappassword para adicionar uma senha para o novo usuário
usando o dn. Neste exemplo, você está definindo a senha do usuário como Apigee123:
ldappasswd -h localhost -p 10389 -D "cn=manager,dc=apigee,dc=com" -W -s Apigee123 "uid=f7a4a4a5-7c43-4168-a47e-6e9a1417cc29,ou=users,ou=global,dc=apigee,dc=com"
- Faça login na interface do Edge como o novo usuário com a senha definida na etapa anterior. O usuário pode definir uma nova senha depois de fazer login na interface.
O LDAP não está replicando
Sintoma
Muitas instalações de borda têm vários data centers, por exemplo, DC-1 e DC-2. Ao fazer login na interface do Edge no DC-1 como administrador da organização, você pode conferir a lista de usuários, mas a mesma lista de usuários não aparece na interface do Edge no DC-2.
Mensagens de erro
Nenhum erro aparece. A interface do Edge simplesmente não mostra a lista de usuários que deveria ter sido replicada em todos os servidores do OpenLDAP.
Causas possíveis
Normalmente, a causa desse problema é uma configuração incorreta da replicação do OpenLDAP, e não a instalação em si. Além disso, a replicação pode ser interrompida se a rede entre os servidores do OpenLDAP não permitir o tráfego na porta 10389.
Diagnóstico
Siga estas etapas para diagnosticar o problema:
- Verifique se o ldapsearch retorna dados de cada servidor OpenLDAP:
ldapsearch -W -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h <host-ip> -p 10389
- Verifique se é possível se conectar a cada nó do OpenLDAP a partir dos outros nós do OpenLDAP na porta 10389.
Se o telnet estiver instalado, use este comando:
telnet <OpenLDAP_Peer_IP> 10389
-
Se o telnet não estiver disponível, use o netcat para verificar a conectividade da seguinte maneira:
nc -vz <OpenLDAP_Peer_IP> 10389
- Verifique a configuração de replicação no seguinte arquivo:
/opt/apigee/data/apigee-openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
O arquivo precisa conter uma configuração como esta:
olcSyncRepl: rid=001 provider=ldap://__OTHER_LDAP_SERVER__/ binddn="cn=manager,dc=apigee,dc=com" bindmethod=simple credentials=__LDAP_PASSWORD__ searchbase="dc=apigee,dc=com" attrs="*,+" type=refreshAndPersist retry="60 1 300 12 7200 +" timeout=1
- Verifique também o mesmo arquivo para o valor do atributo olcMirrorMode. Ele precisa ser definido como VERDADEIRO:
grep olcMirrorMode /opt/apigee/data/apigee-openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
- Verifique as regras de iptables e tcp wrapper. Remova todas as regras que não permitem que os servidores OpenLDAP peer se comuniquem entre si. Trabalhe com o administrador da rede para definir as regras adequadamente.
- Verifique se a senha do sistema OpenLDAP é a mesma em cada nó do OpenLDAP.
- Verifique se há caracteres ocultos nos arquivos de configuração ldif que estão sendo usados para configurar a replicação N-Way do OpenLDAP executando o dos2unix nos arquivos ldif que foram criados para atualizar a configuração. Normalmente, um arquivo ldif com caracteres inválidos faz com que a execução do comando ldapmodify falhe, e a replicação pode não ser configurada. Remova caracteres incorretos e salve os arquivos de configuração.
Se o problema persistir, entre em contato com o suporte da Apigee para receber ajuda com a configuração da replicação N-Way OpenLDAP.
Não foi possível iniciar o OpenLDAP
Sintoma
O OpenLDAP não é iniciado.
Mensagens de erro
SLAPD Dead But Pid File Exists
Causas possíveis
Esse problema geralmente é causado por um arquivo de bloqueio que é deixado no sistema de arquivos e precisa ser removido.
Diagnóstico
Siga estas etapas para diagnosticar o problema:
- Verifique se há um arquivo de pid ou de bloqueio de processo do OpenLDAP slapd no seguinte local:
/opt/apigee/var/run/apigee-openldap/apigee-openldap.lock /opt/apigee/var/run/apigee-openldap/apigee-openldap.pid
- Exclua o arquivo de bloqueio e pid, se encontrado, e tente reiniciar o openldap.
rm /opt/apigee/var/run/apigee-openldap/apigee-openldap.lock Rm /opt/apigee/var/run/apigee-openldap/apigee-openldap.pid
- Se o processo do OpenLDAP slapd for iniciado, pule as etapas abaixo.
- Se o processo do slapd do OpenLDAP não for iniciado, tente executar o slapd no modo de depuração e procure
por erros:
slapd -h ldap://:10389/ -u apigee -F /opt/apigee/data/apigee-openldap/slapd.d -d 255
- Os erros podem indicar problemas de recursos. Verifique a memória e a utilização da CPU no sistema.
- Verifique a versão do OpenLDAP e faça upgrade se ela for antiga. Confira as versões compatíveis do
OpenLDAP no documento Softwares compatíveis.
slapd -V
- Use o strace para resolver problemas no processo do slapd e fornecer a saída do strace ao
suporte da Apigee:
strace -tt -T -f -F -i -v -e read=all -s 8192 -e write=all -o /tmp/strace.out -p <pid>
Corrupção de dados do OpenLDAP
Sintoma
Os usuários não podem mais executar chamadas de gerenciamento nem fazer login na interface do Edge. O uso do utilitário ldapsearch para consultar os usuários pode indicar que o usuário existe no repositório de dados LDAP ou identificar possíveis usuários ou papéis ausentes.
Mensagens de erro
Unknown username and password combination.
Causas possíveis
Normalmente, esse problema pode ser observado devido à corrupção dos dados do OpenLDAP. Normalmente, os dados do OpenLDAP não são corrompidos. No entanto, em casos raros, a corrupção pode ser devido a falhas no disco do sistema ou problemas de espaço em disco.
Diagnóstico
- Verifique o espaço em disco no sistema com o OpenLDAP instalado usando o comando abaixo:
du -m /opt
- Se o espaço em disco usado estiver muito próximo de 100%, isso indicará que o sistema está sem espaço em disco.
Resolução
Se o sistema estiver sem espaço em disco ou quase sem espaço, adicione mais espaço em disco para garantir a disponibilidade suficiente.
Quando você tiver espaço em disco suficiente, use uma das seguintes soluções para resolver o problema de corrupção de dados LDAP:
- Restaure os dados do OpenLDAP do backup.
-
Limpe o banco de dados do OpenLDAP seguindo estas etapas:
- Desligue o Servidor de gerenciamento 2 e o LDAP2.
- Restaure o LDAP1 de um backup de VM (ou backup do Apigee).
- Verifique se o Servidor de gerenciamento 1 está inicializado e se a recuperação foi concluída.
- Quando o Servidor de gerenciamento 1 e o LDAP1 estiverem funcionando corretamente, reinstale o LDAP2 do zero (criando uma tela completamente em branco).
- Configure o LDAP2 no modo somente leitura, permitindo que o LDAP1 seja replicado para o LDAP2.
- Use
ldapsearch
para verificar se o número de linhas em LDAP1 e LDAP2 é o mesmo. - Reinicie o Servidor de gerenciamento 2 e a UI2 e confirme se eles foram iniciados.
Para instruções detalhadas, consulte o Issue Tracker público.
Solução 1: restaurar os dados LDAP do backup
Faça um backup em um nó do OpenLDAP em funcionamento. O backup precisa ser feito regularmente. Consulte Guia de operações da Apigee Private Cloud para conferir as práticas recomendadas de backups:
slapcat -F /opt/apigee/data/apigee-openldap/slapd.d -l /tmp/ldap-backup.ldif
As etapas a seguir podem ser usadas para restaurar os dados do OpenLDAP de um backup válido.
- Pare o nó do OpenLDAP para o qual os dados precisam ser restaurados:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
- Mude para o diretório de dados do OpenLDAP:
cd /opt/apigee/data/apigee-openldap
- Faça backup dos dados do OpenLDAP usando o comando de movimentação:
mv ldap ldap_orig
- Mude para o usuário da apigee:
su apigee
- No diretório
/opt/apigee/data/apigee-openldap
, crie um novo diretório de dados do OpenLDAP com o nome original:mkdir ldap
- Faça o backup do subdiretório ldap_orig/DB_CONFIG da etapa 3 e copie-o para o diretório openldap.
cp ldap_orig/DB_CONFIG ldap
- Para restaurar dados de um backup feito com o slapcat, use o slapadd para importar o ldif que
contém os dados corretos:
slapadd -F /opt/apigee/data/apigee-openldap/slapd.d -l /tmp/ldap-backup.ldif
- Inicie o processo do OpenLDAP:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap start
Solução 2: limpar o banco de dados LDAP
As etapas a seguir limpam o banco de dados do OpenLDAP para começar do zero. Essa solução pode ser usada se não houver um backup de dados do último estado em que os dados do OpenLDAP estavam funcionando.
- Interrompa o serviço do OpenLDAP:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
- Mude para o diretório de dados do OpenLDAP:
cd /opt/apigee/data/apigee-openldap
- Faça backup dos dados do OpenLDAP usando o comando de movimentação:
mv ldap ldap_orig
- Mude para o usuário da apigee:
su apigee
- Crie um novo diretório de dados do OpenLDAP com o nome original:
mkdir ldap
- Pegue o subdiretório de backup ldap_orig/DB_CONFIG da etapa 3 e copie-o para o diretório
openldap:
cp ldap_orig/DB_CONFIG ldap
- Reinicie o processo do OpenLDAP:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap start
- Reinicie o servidor de gerenciamento para forçar uma atualização das conexões com o OpenLDAP:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
Solução 3: redefinir o OpenLDAP para uma instalação básica
Se a Solução 2 não resolver o problema, redefina o OpenLDAP para uma instalação básica, conforme descrito nesta seção.
Pré-requisitos
Para redefinir o OpenLDAP, você precisa dos seguintes pré-requisitos:
- A capacidade de executar a configuração com credenciais de administrador do sistema e raiz do LDAP.
- Acesso ao utilitário
ldapadd
. - O arquivo de configuração silenciosa original salvo para o nó de gerenciamento/LDAP.
Para redefinir o OpenLDAP, siga estas etapas:
- Reinstale o OpenLDAP e o servidor de gerenciamento.
- Pare o servidor
openldap
:apigee-service apigee-openldap stop
- Exclua a pasta de dados
openldap
corrompida:rm -rf /opt/apigee/data/apigee-openldap
- Desinstale o componente
openldap
:apigee-service apigee-openldap uninstall
- Reinstale o componente
openldap
usando o mesmo arquivo de configuração usado para a instalação inicial: em que/opt/apigee/apigee-setup/bin/setup.sh -p ld -f configfile
configfile
é o nome do arquivo de configuração. - Reinstale o Management Server usando o arquivo de configuração original:
/opt/apigee/apigee-setup/bin/setup.sh -p ms -f configfile
After doing these steps, Management API calls should work again using the
sysadmin
account only. However, it will not be possible to log into the Edge UI, and Management API calls with any other users will not work. - Pare o servidor
- Add missing
openldap
entries for orgs that existed prior to the corruption.After the above step is completed,
openldap
will be missing entries for orgs that existed when the corruption occurred. The majority of the actual org data such as proxy bundles is stored in Cassandra or Zookeeper is not lost. However, running the setup-org script will not automatically add the openldap data for the orgs that already exist in Cassandra, and Zookeeper. This data has to be added manually for every org that existed prior to the corruption using the following steps:- Create an ldif file called
missingLDAP.ldif
with the following content:# orgname, organizations, apigee.com dn: o=orgname,ou=organizations,dc=apigee,dc=com objectClass: organization O: orgname # userroles, orgname, organizations, apigee.com dn: ou=userroles,o=orgname,ou=organizations,dc=apigee,dc=com ou: userroles objectClass: organizationalUnit # orgadmin, userroles, orgname, organizations, apigee.com dn: cn=orgadmin,ou=userroles,o=orgname,ou=organizations,dc=apigee,dc=com objectClass: organizationalRole cn: orgadmin roleOccupant: uid=admin,ou=users,ou=global,dc=apigee,dc=com # resources, orgadmin, userroles, orgname, organizations, apigee.com dn: ou=resources,cn=orgadmin,ou=userroles,o=orgname,ou=organizations,dc=apigee,dc=com ou: resources objectClass: organizationalUnit # @@@, resources, orgadmin, userroles, orgname, organizations, apigee.com dn: cn=@@@,ou=resources,cn=orgadmin,ou=userroles,o=orgname,ou=organizations,dc=apigee,dc=com roleOccupant: ou=delete,ou=permissions,dc=apigee,dc=com roleOccupant: ou=get,ou=permissions,dc=apigee,dc=com roleOccupant: ou=put,ou=permissions,dc=apigee,dc=com labeledURI: / objectClass: organizationalRole objectClass: labeledURIObject cn: @@@
em que orgname é a organização que você está tentando recriar.
- Adicione as entidades LDAP ausentes usando o seguinte comando:
ldapadd -x -w
-D "cn=manager,dc=apigee,dc=com" -H ldap://localhost:10389 -f missingLDAP.ldif
As etapas acima vão criar as entradas ausentes para uma organização existente e as permissões
orgadmin
para essa organização. Repita as etapas para cada organização que precisa ser recriada. Nesse ponto, é possível adicionar usuáriosorgadmin
a uma organização, mas as outras funções padrão ainda não existem. Portanto, é necessário adicioná-las usando a próxima etapa. - Create an ldif file called
Adicione funções e permissões padrão ausentes a uma organização.
Usando o mesmo arquivo de configuração usado inicialmente para configurar qualquer uma das organizações existentes, execute o seguinte comando:
/opt/apigee/apigee-service/bin/apigee-service apigee-provision create-roles -f configfile
- Adicione papéis personalizados que existiam antes da corrupção usando a API de gerenciamento ou a interface.
- Adicione usuários às funções relevantes.
(Opcional) Restabelecer a configuração de autenticação externa no gerenciamento.
Restaure o
/opt/apigee/customer/application/management-server.properties
se a configuração não tiver mudado. Como a interface não foi reinstalada, o/opt/apigee/customer/application/ui.properties
deve permanecer o mesmo, já que as credenciais do administrador do sistema foram restauradas com a nova instalação de gerenciamento.(Opcional) Reinstale o mTLS do Apigee no nó de gerenciamento.
Se o mTLS da Apigee já tiver sido instalado, siga o guia de instalação do mTLS da Apigee para reinstalá-lo no nó do servidor de gerenciamento.
Depois de seguir este procedimento, você precisa fazer o seguinte manualmente:
Se o problema persistir, entre em contato com o suporte do Apigee para receber mais ajuda.