管理 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 的 Bind DN 或使用者,以及您在安裝 Edge 時設定的 OpenLDAP 密碼。

  2. 請透過用戶端前往下列密碼政策屬性:
    • 邊緣使用者:cn=default,ou=pwpolicies,dc=apigee,dc=com
    • 原始 Edge 系統管理員:cn=sysadmin,ou=pwpolicies,dc=apigee,dc=com
      注意:如要為其他系統管理員 (非原始系統管理員) 設定 LDAP 密碼政策,請參閱下方的「為其他系統管理員設定 LDAP 密碼政策」。
  3. 視需要編輯密碼政策屬性值。
  4. 儲存設定。

為其他 sysadmin 設定 LDAP 密碼政策

將系統管理員使用者新增至 Edge 後,他們會繼承預設密碼政策,而非原始系統管理員的系統管理員密碼政策。如未設定,預設密碼政策會在一段時間後失效。如要設定其他系統管理員使用者的密碼政策,讓密碼不會過期,請按照下列步驟操作:

  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

    輸出結果會顯示系統管理員使用者為 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 呼叫解鎖使用者帳戶。將 userEmailadminEmailpassword 替換為實際值。

如何解鎖使用者:

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