管理 API 管理的預設 LDAP 密碼政策

Apigee 系統會使用 OpenLDAP,在 API 管理環境中驗證使用者。OpenLDAP 提供這項 LDAP 密碼政策功能。

本節說明如何設定預設 LDAP 密碼政策。您可以使用這項密碼政策設定各種密碼驗證選項,例如連續登入失敗幾次後,就無法再使用密碼驗證目錄使用者。

本節也說明如何使用幾個 API,解鎖根據預設密碼政策中設定的屬性鎖定的使用者帳戶。

詳情請參閱:

設定預設 LDAP 密碼政策

本節說明如何為下列項目設定預設 LDAP 密碼政策:

為 Edge 使用者和原始 sysadmin 設定預設 LDAP 密碼政策

如要為 Edge 使用者和原始 sysadmin 設定預設 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 sysadmin:cn=sysadmin,ou=pwpolicies,dc=apigee,dc=com
      注意:如要為其他 sysadmin (原始 sysadmin 以外) 設定 LDAP 密碼政策,請參閱下方的「為其他 sysadmin 設定 LDAP 密碼政策」。
  3. 視需要編輯密碼政策屬性值。
  4. 儲存設定。

為其他 sysadmin 設定 LDAP 密碼政策

將 sysadmin 使用者新增至 Edge 時,他們會沿用預設密碼政策,而非原始 sysadmin 的 sysadmin 密碼政策。除非另行設定,否則預設密碼政策會在一段時間後失效。如要設定其他 sysadmin 使用者的密碼政策,使其不會過期,請按照下列步驟操作:

  1. 執行下列指令,找出所有 sysadmin 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. 為每位 sysadmin 重複步驟 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

使用者 (非 sysadmin) 密碼到期前的秒數。如果值為 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