管理用于 API 管理的默认 LDAP 密码政策

Apigee 系统使用 OpenLDAP 在 API 管理环境中对用户进行身份验证。 OpenLDAP 提供了此 LDAP 密码政策功能。

本部分介绍了如何配置提供的默认 LDAP 密码政策。使用此密码政策可配置各种密码身份验证选项,例如,在连续登录失败达到指定次数后,密码将无法再用于向目录验证用户身份。

本部分还介绍了如何使用一些 API 来解锁已根据默认密码政策中配置的属性锁定的用户账号。

如需了解详情,请参阅:

配置默认 LDAP 密码政策

本部分介绍了如何为以下对象配置默认 LDAP 密码政策:

为 Edge 用户和原始系统管理员配置默认 LDAP 密码政策

如需为 Edge 用户和原始系统管理员配置默认 LDAP 密码政策,请执行以下操作:

  1. 使用 LDAP 客户端(例如 Apache Studio 或 ldapmodify)连接到您的 LDAP 服务器。默认情况下,OpenLDAP 服务器在 OpenLDAP 节点上的端口 10389 上监听。

    如需进行连接,请指定 cn=manager,dc=apigee,dc=com 的绑定 DN 或用户,以及您在安装 Edge 时设置的 OpenLDAP 密码。

  2. 使用客户端导航到以下各项的密码政策属性:
    • Edge 用户数:cn=default,ou=pwpolicies,dc=apigee,dc=com
    • 原始 Edge 系统管理员:cn=sysadmin,ou=pwpolicies,dc=apigee,dc=com
      注意:如需为其他系统管理员(原始系统管理员除外)配置 LDAP 密码政策,请参阅下文中的为其他系统管理员配置 LDAP 密码政策。
  3. 根据需要修改密码政策属性值。
  4. 保存配置。

为其他系统管理员配置 LDAP 密码政策

向 Edge 添加系统管理员用户时,他们会继承默认密码政策,而不是原始系统管理员的系统管理员密码政策。默认密码政策会在一段时间后失效,除非另有配置。如需设置其他 sysadmin 用户的密码政策,使其不会过期,请按照以下步骤操作:

  1. 通过运行以下命令,查找 dn 的所有系统管理员:
    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

    输出会将 sysadmin 用户显示为 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. 创建一个名为 ppchange.ldif 的新文件,并向其中添加以下内容(替换您自己的 sysadmin 用户的 dn):
    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. 输入以下命令,修改用户:
    ldapmodify -x -w "$ldappassword" -D "cn=manager,dc=apigee,dc=com" -H ldap://localhost:10389 -f ppchange.ldif
  4. 使用 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

    输出会显示添加了 pwdPolicySubentry:

    dn: uid=new-admin-uid,ou=users,ou=global,dc=apigee,dc=com
    pwdPolicySubentry: cn=sysadmin,ou=pwpolicies,dc=apigee,dc=com
  5. 对每个系统管理员重复执行第 2 步到第 4 步。

默认 LDAP 密码政策属性

属性 说明 默认
pwdExpireWarning
在密码到期前,向正在对目录进行身份验证的用户返回到期警告消息的最长秒数。

604800

(相当于 7 天)

pwdFailureCountInterval

从失败计数器中清除旧的连续失败绑定尝试的秒数。

换句话说,这是连续登录尝试失败次数重置之前经过的秒数。

如果 pwdFailureCountInterval 设置为 0,则只有成功进行身份验证才能重置计数器。

如果 pwdFailureCountInterval 设置为 >0,则该属性定义了一个时长,在此之后,即使未成功进行身份验证,连续失败的登录尝试次数也会自动重置。

我们建议将此属性设置为与 pwdLockoutDuration 属性相同的值。

300
pwdInHistory

将存储在 pwdHistory 属性中的用户已用密码或过往密码的数量上限。

更改密码时,用户将无法将其更改为任何过去的密码。

3
pwdLockout

如果为 TRUE,则指定在用户密码到期时锁定用户,使用户无法再登录。

错误
pwdLockoutDuration

由于连续登录失败次数过多,密码无法用于对用户进行身份验证的秒数。

换句话说,这是用户账号因连续登录失败次数超过 pwdMaxFailure 属性设置的次数而保持锁定的时长。

如果 pwdLockoutDuration 设置为 0,则用户账号将保持锁定状态,直到系统管理员将其解锁。

请参阅解锁用户账号。

如果 pwdLockoutDuration 设置为 >0,则该属性会定义用户账号保持锁定的时长。此时间段过后,用户账号将自动解锁。

我们建议将此属性设置为与 pwdFailureCountInterval 属性相同的值。

300
pwdMaxAge

用户(非系统管理员)密码在多少秒后过期。值为 0 表示密码永不过期。默认值 2592000 对应于密码创建后的 30 天。

user: 2592000

sysadmin:0

pwdMaxFailure

连续登录失败次数,达到此次数后,密码可能无法用于向目录验证用户身份。

3
pwdMinLength

指定设置密码时所需的字符数量下限。

8

解锁用户账号

用户的账号可能会因密码政策中设置的属性而被锁定。分配了 sysadmin Apigee 角色的用户可以使用以下 API 调用来解锁用户账号。将 userEmail、adminEmail 和 password 替换为实际值。

如需解锁用户,请按如下所述操作:

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