Como gerenciar a política de senha LDAP padrão para o gerenciamento de APIs

O sistema da Apigee usa o OpenLDAP para autenticar usuários no ambiente de gerenciamento de APIs. O OpenLDAP disponibiliza essa funcionalidade da política de senha LDAP.

Esta seção descreve como configurar a política de senha LDAP padrão. Use essa política para configurar várias opções de autenticação de senha, como o número de tentativas de login consecutivas com falha após as quais uma senha não poderá mais ser usada para autenticar um usuário no diretório.

Esta seção também descreve como usar algumas APIs para desbloquear contas de usuário que foram bloqueadas de acordo com os atributos configurados na política de senha padrão.

Para mais informações, consulte:

Como configurar a política de senha padrão do LDAP

Esta seção explica como configurar a política de senha padrão do LDAP para:

Como configurar a política de senha LDAP padrão para usuários do Edge e o sysadmin original

Para configurar a política de senha padrão do LDAP para usuários do Edge e o sysadmin original:

  1. Conecte-se ao servidor LDAP usando um cliente LDAP, como o Apache Studio ou o ldapmodify. Por padrão, o servidor OpenLDAP detecta na porta 10389 no nó OpenLDAP.

    Para se conectar, especifique o DN de vinculação ou o usuário de cn=manager,dc=apigee,dc=com e a senha do OpenLDAP que você definiu no momento da instalação do Edge.

  2. Use o cliente para navegar até os atributos de política de senha do seguinte:
  3. Edite os valores dos atributos da política de senha conforme necessário.
  4. Salve a configuração.

Como configurar a política de senhas do LDAP para outros administradores

Quando você adiciona usuários sysadmin ao Edge, eles herdam a política de senha padrão em vez da política de senha sysadmin do sysadmin original. A política de senha padrão expira após um determinado período, a menos que seja configurada de outra forma. Para definir a política de senha adicional dos usuários sysadmin para que ela não expire, siga estas etapas:

  1. Encontre todos os dn sysadmins executando este comando:
    ldapsearch -x -W -D "cn=manager,dc=apigee,dc=com" -H "ldap://:10389" -b "cn=sysadmin,ou=userroles,ou=global,dc=apigee,dc=com" -s base
     -LLL

    A saída mostra os usuários do administrador do sistema como roleOccupant:

    dn: cn=sysadmin,ou=userroles,ou=global,dc=apigee,dc=com
    objectClass: organizationalRole
    objectClass: top
    cn: sysadmin
    roleOccupant: uid=admin,ou=users,ou=global,dc=apigee,dc=com
    roleOccupant: uid=2a0056b4-5c62-49de-8fb3-925ch67a3e45,ou=users,ou=global,dc=apigee,dc=com
  2. Crie um novo arquivo chamado ppchange.ldif e adicione o seguinte a ele (substituindo o dn do seu próprio usuário de administrador do sistema):
    dn: uid=new-sysadmin-uid,ou=users,ou=global,dc=apigee,dc=com
    changetype: modify
    add: pwdPolicySubentry
    pwdPolicySubentry: cn=sysadmin,ou=pwpolicies,dc=apigee,dc=com
  3. Modifique o usuário digitando o seguinte comando:
    ldapmodify -x -w "$ldappassword" -D "cn=manager,dc=apigee,dc=com" -H ldap://localhost:10389 -f ppchange.ldif
  4. Verifique a alteração com o comando de pesquisa ldap:
    ldapsearch -x -W -D "cn=manager,dc=apigee,dc=com" -H "ldap://:10389" -b "uid=new-sysadmin-uid,ou=users,ou=global,dc=apigee,dc=com" -s base -LLL pwdPolicySubentry

    A saída mostraria a adição do pwdPolicySubentry:

    dn: uid=new-admin-uid,ou=users,ou=global,dc=apigee,dc=com
    pwdPolicySubentry: cn=sysadmin,ou=pwpolicies,dc=apigee,dc=com

  5. Repita as etapas 2 a 4 para cada administrador do sistema.

Atributos da política de senha LDAP padrão

Atributo Descrição Padrão
pwdExpireWarning
O número máximo de segundos antes que uma senha expire, em que as mensagens de aviso de expiração serão retornadas a um usuário que está fazendo a autenticação no diretório.

604800

(equivalente a 7 dias)

pwdFailureCountInterval

Número de segundos após os quais as tentativas de vinculação com falha consecutivas antigas são limpas do contador de falhas.

Em outras palavras, esse é o número de segundos após o qual a contagem de tentativas de login consecutivas com falha é redefinida.

Se pwdFailureCountInterval for definido como 0, apenas uma autenticação bem-sucedida poderá redefinir o contador.

Se pwdFailureCountInterval for definido como >0, o atributo definirá um período após a qual a contagem de tentativas consecutivas de login com falha será redefinida automaticamente, mesmo que não tenha ocorrido nenhuma autenticação.

Sugerimos que esse atributo seja definido com o mesmo valor do pwdLockoutDuration.

300
pwdInHistory

Número máximo de senhas usadas ou anteriores de um usuário que serão armazenadas no atributo pwdHistory.

Ao mudar a senha, o usuário será impedido de usar qualquer senha antiga.

3
pwdLockout

Se TRUE, especifica o bloqueio de um usuário quando a senha dele expirar para que ele não possa mais fazer login.

Falso
pwdLockoutDuration

Número de segundos durante os quais uma senha não pode ser usada para autenticar o usuário devido a muitas tentativas de login consecutivas com falha.

Em outras palavras, é o período durante o qual uma conta de usuário permanece bloqueada por exceder o número de tentativas de login malsucedidas consecutivas definido pelo atributo pwdMaxFailure.

Se pwdLockoutDuration for definido como 0, a conta de usuário permanecerá bloqueada até que um administrador do sistema a desbloqueie.

Consulte Como desbloquear uma conta de usuário.

Se pwdLockoutDuration estiver definido como >0, o atributo vai definir um período em que a conta de usuário vai permanecer bloqueada. Quando esse período terminar, a conta do usuário será desbloqueada automaticamente.

Sugerimos que esse atributo seja definido com o mesmo valor do pwdFailureCountInterval.

300
pwdMaxAge

Número de segundos após o qual a senha de um usuário (não sysadmin) expira. Um valor de 0 significa que as senhas não expiram. O valor padrão de 2592.000 corresponde a 30 dias a partir do momento em que a senha foi criada.

user: 2592000

sysadmin: 0

pwdMaxFailure

Número de tentativas de login com falha consecutivas após as quais uma senha não pode ser usada para autenticar um usuário no diretório.

3
pwdMinLength

Especifica o número mínimo de caracteres necessários ao definir uma senha.

8

Como desbloquear uma conta de usuário

A conta de um usuário pode ser bloqueada devido a atributos definidos na política de senha. Um usuário com a função de administrador do sistema da Apigee atribuída pode usar a seguinte chamada de API para desbloquear a conta do usuário. Substitua userEmail, adminEmail e password pelos valores reais.

Para desbloquear um usuário:

/v1/users/userEmail/status?action=unlock -X POST -u adminEmail:password