Quản lý chính sách mật khẩu LDAP mặc định để quản lý API

Hệ thống Apigee sử dụng OpenLDAP để xác thực người dùng trong môi trường quản lý API. OpenLDAP cung cấp chức năng chính sách mật khẩu LDAP này.

Phần này mô tả cách định cấu hình chính sách mật khẩu LDAP mặc định đã phân phối. Sử dụng chính sách mật khẩu này để định cấu hình nhiều tuỳ chọn xác thực mật khẩu, chẳng hạn như số lần đăng nhập không thành công liên tiếp sau đó mật khẩu không thể được dùng để xác thực người dùng vào thư mục nữa.

Phần này cũng mô tả cách sử dụng một số API để mở khoá tài khoản người dùng đã bị khoá theo các thuộc tính được định cấu hình trong chính sách mật khẩu mặc định.

Để biết thêm thông tin, hãy xem:

Định cấu hình chính sách mật khẩu LDAP mặc định

Phần này giải thích cách định cấu hình chính sách mật khẩu LDAP mặc định cho:

Định cấu hình chính sách mật khẩu LDAP mặc định cho người dùng Edge và quản trị viên hệ thống ban đầu

Cách định cấu hình chính sách mật khẩu LDAP mặc định cho người dùng Edge và quản trị viên hệ thống ban đầu:

  1. Kết nối với máy chủ LDAP bằng ứng dụng LDAP, chẳng hạn như Apache Studio hoặc ldapmodify. Theo mặc định, máy chủ OpenLDAP sẽ nghe trên cổng 10389 trên nút OpenLDAP.

    Để kết nối, hãy chỉ định DN liên kết hoặc người dùng của cn=manager,dc=apigee,dc=com và mật khẩu OpenLDAP mà bạn đã đặt tại thời điểm cài đặt Edge.

  2. Sử dụng ứng dụng để chuyển đến các thuộc tính chính sách mật khẩu cho:
  3. Chỉnh sửa giá trị thuộc tính chính sách mật khẩu theo ý muốn.
  4. Lưu cấu hình.

Định cấu hình chính sách mật khẩu LDAP cho các quản trị viên hệ thống khác

Khi bạn thêm người dùng quản trị viên hệ thống vào Edge, họ sẽ kế thừa chính sách mật khẩu mặc định, thay vì chính sách mật khẩu quản trị viên hệ thống của quản trị viên hệ thống ban đầu. Chính sách mật khẩu mặc định sẽ hết hạn sau một khoảng thời gian nhất định, trừ phi bạn định cấu hình khác. Để đặt chính sách mật khẩu cho người dùng quản trị hệ thống bổ sung để mật khẩu không hết hạn, hãy làm theo các bước sau:

  1. Tìm dn tất cả quản trị viên hệ thống bằng cách chạy lệnh sau:
    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

    Kết quả cho biết người dùng quản trị viên hệ thống là 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. Tạo một tệp mới có tên ppchange.ldif và thêm nội dung sau vào tệp đó (thay thế dn của người dùng quản trị hệ thống của riêng bạn):
    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. Sửa đổi người dùng bằng cách nhập lệnh sau:
    ldapmodify -x -w "$ldappassword" -D "cn=manager,dc=apigee,dc=com" -H ldap://localhost:10389 -f ppchange.ldif
  4. Xác minh thay đổi bằng lệnh tìm kiếm 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

    Kết quả sẽ cho thấy việc thêm pwdPolicySubentry:

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

  5. Lặp lại các bước từ 2 đến 4 cho từng quản trị viên hệ thống.

Thuộc tính chính sách mật khẩu mặc định của LDAP

Thuộc tính Mô tả Mặc định
pwdExpireWarning
Số giây tối đa trước khi mật khẩu hết hạn mà thông báo cảnh báo về thời điểm hết hạn sẽ được trả về cho người dùng đang xác thực vào thư mục.

604800

(Tương đương với 7 ngày)

pwdFailureCountInterval

Số giây sau đó, các lần liên kết không thành công liên tiếp cũ sẽ bị xoá khỏi bộ đếm lỗi.

Nói cách khác, đây là số giây sau đó số lần đăng nhập liên tiếp không thành công sẽ được đặt lại.

Nếu pwdFailureCountInterval được đặt thành 0, thì chỉ quá trình xác thực thành công mới có thể đặt lại bộ đếm.

Nếu bạn đặt pwdFailureCountInterval thành >0, thì thuộc tính này sẽ xác định một khoảng thời gian sau đó số lần đăng nhập không thành công liên tiếp sẽ tự động được đặt lại, ngay cả khi chưa có lần xác thực nào thành công.

Bạn nên đặt thuộc tính này thành cùng một giá trị với thuộc tính pwdLockoutDuration.

300
pwdInHistory

Số lượng mật khẩu tối đa đã sử dụng hoặc trước đây của một người dùng sẽ được lưu trữ trong thuộc tính pwdHistory.

Khi thay đổi mật khẩu, người dùng sẽ không thể thay đổi mật khẩu thành bất kỳ mật khẩu nào trước đây.

3
pwdLockout

Nếu là TRUE, hãy chỉ định khoá người dùng khi mật khẩu của họ hết hạn để người dùng không thể đăng nhập được nữa.

Sai
pwdLockoutDuration

Số giây mà không thể sử dụng mật khẩu để xác thực người dùng do có quá nhiều lần đăng nhập không thành công liên tiếp.

Nói cách khác, đây là khoảng thời gian tài khoản người dùng sẽ vẫn bị khoá do vượt quá số lần đăng nhập không thành công liên tiếp do thuộc tính pwdMaxFailure đặt ra.

Nếu pwdLockoutDuration được đặt thành 0, tài khoản người dùng sẽ vẫn bị khoá cho đến khi quản trị viên hệ thống mở khoá.

Xem bài viết Mở khoá tài khoản người dùng.

Nếu bạn đặt pwdLockoutDuration thành >0, thuộc tính này sẽ xác định khoảng thời gian tài khoản người dùng bị khoá. Khi khoảng thời gian này kết thúc, tài khoản người dùng sẽ tự động được mở khoá.

Bạn nên đặt thuộc tính này thành cùng một giá trị với thuộc tính pwdFailureCountInterval.

300
pwdMaxAge

Số giây sau khi mật khẩu của người dùng (không phải quản trị viên hệ thống) hết hạn. Giá trị 0 có nghĩa là mật khẩu không hết hạn. Giá trị mặc định là 2592000 tương ứng với 30 ngày kể từ thời điểm tạo mật khẩu.

người dùng: 2592000

sysadmin: 0

pwdMaxFailure

Số lần đăng nhập không thành công liên tiếp mà sau đó không thể dùng mật khẩu để xác thực người dùng với thư mục đó.

3
pwdMinLength

Chỉ định số lượng ký tự tối thiểu cần thiết khi đặt mật khẩu.

8

Mở khoá tài khoản người dùng

Tài khoản của người dùng có thể bị khoá do các thuộc tính được đặt trong chính sách mật khẩu. Người dùng được chỉ định vai trò Apigee quản trị viên hệ thống có thể sử dụng lệnh gọi API sau đây để mở khoá tài khoản của người dùng đó. Thay thế userEmail, adminEmailpassword bằng các giá trị thực tế.

Cách mở khoá người dùng:

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