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 của bạn. 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 được cung cấp. Sử dụng chính sách mật khẩu này để định cấu hình nhiều lựa 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 mà sau đó mật khẩu không còn đượ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ẽ theo dõi 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 các giá trị thuộc tính của 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 được định cấu hình khác. Để đặt chính sách mật khẩu cho những người dùng quản trị viên hệ thống khác sao cho 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 thấy 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 là 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ị viên 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 bổ sung 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 bước 2 đến bước 4 cho từng quản trị viên hệ thống.

Thuộc tính mặc định của chính sách mật khẩu 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 hết hạn sẽ được trả về cho người dùng đang xác thực với thư mục.

604800

(Tương đương 7 ngày)

pwdFailureCountInterval

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

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

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

Nếu pwdFailureCountInterval được đặt thành >0, thì thuộc tính này sẽ xác định khoảng thời gian mà 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 không có lần xác thực thành công nào.

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 mật khẩu cũ 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ể đổi thành bất kỳ mật khẩu nào trước đây của họ.

3
pwdLockout

Nếu giá trị là TRUE, thì người dùng sẽ bị khoá khi mật khẩu của họ hết hạn để họ không thể đăng nhập được nữa.

Sai
pwdLockoutDuration

Số giây mà mật khẩu không thể dùng để 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 mà tài khoản người dùng sẽ 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.

Nếu pwdLockoutDuration được đặt thành 0, thì 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 phần Mở khoá tài khoản người dùng.

Nếu pwdLockoutDuration được đặt thành >0, thì thuộc tính này sẽ xác định khoảng thời gian tài khoản người dùng sẽ bị khoá. Khi khoảng thời gian này trôi qua, 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 đó mật khẩu của người dùng (không phải quản trị viên hệ thống) sẽ 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 mật khẩu được tạo.

người dùng: 2592000

quản trị viên hệ thống: 0

pwdMaxFailure

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

3
pwdMinLength

Chỉ định số 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ò quản trị viên hệ thống Apigee có thể sử dụng lệnh gọi API sau để mở khoá tài khoản của người dùng. Thay thế userEmail, adminEmail và password 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