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 de política de senha LDAP.

Nesta seção, descrevemos como configurar a política de senha LDAP padrão entregue. Use essa política de senha para configurar várias opções de autenticação, como o número de tentativas de login malsucedidas consecutivas em que uma senha não pode 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 do LDAP padrão

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

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

Para configurar a política de senha LDAP padrão 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 do 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 da política de senha relacionados a:
  3. Edite os valores do atributo da política de senha como quiser.
  4. Salve a configuração.

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

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

  1. Encontre o dn all 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 sysadmin 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 sysadmin):
    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. Insira o seguinte comando para modificar o usuário:
    ldapmodify -x -w "$ldappassword" -D "cn=manager,dc=apigee,dc=com" -H ldap://localhost:10389 -f ppchange.ldif
  4. Verifique a mudança 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 sysadmin.

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 para que as mensagens de aviso de expiração sejam retornadas a um usuário que está se autenticar no diretório.

604800

(Equivalente a 7 dias)

pwdFailureCountInterval

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

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

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

Se pwdFailureCountInterval for definido como maior que 0, o atributo definirá um período após o qual a contagem de tentativas de login malsucedidas consecutivas é redefinida automaticamente, mesmo que nenhuma autenticação bem-sucedida tenha ocorrido.

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

300
pwdInHistory

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

Ao alterar a senha, o usuário não poderá mudá-la para qualquer uma das senhas anteriores.

3
pwdLockout

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

Falso
pwdLockoutDuration

Número de segundos em que uma senha não pode ser usada para autenticar o usuário devido a muitas tentativas de login malsucedidas consecutivas.

Em outras palavras, esse é o período em que uma conta de usuário permanecerá bloqueada por exceder o número de tentativas de login malsucedidas consecutivas definidas 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 for definido como maior que 0, o atributo vai definir um período de bloqueio da conta de usuário. Quando esse período terminar, a conta do usuário será desbloqueada automaticamente.

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

300
pwdMaxAge

Número de segundos para que a senha de um usuário (não sysadmin) expire. O valor 0 significa que as senhas não expiram. O valor padrão de 2592000 corresponde a 30 dias a partir do momento em que a senha foi criada.

usuário: 2592000

sysadmin: 0

pwdMaxFailure

Número de tentativas de login com falha consecutivas em que 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 o papel sysadmin da Apigee atribuído pode usar a chamada de API a seguir para desbloquear a conta dele. Substitua userEmail, adminEmail e password pelos valores reais.

Para desbloquear um usuário, faça o seguinte:

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