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 bản thảo này chính sách mật khẩu để định cấu hình nhiều tùy chọn xác thực mật khẩu, chẳng hạn như số lượng các lần đăng nhập không thành công liên tiếp, sau đó không thể sử dụng mật khẩu để xác thực người dùng vào thư mục.

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 đã được 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 mật khẩu LDAP mặc định chính sách

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 một ứng dụng LDAP, chẳng hạn như Apache Studio hoặc ldapmodify. Theo máy chủ OpenLDAP mặc định sẽ nghe trên cổng 10389 trên nút OpenLDAP.

    Để kết nối, hãy chỉ định Liên kết DN 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 như mong 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 sysadmin 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 để thực hiện theo cách khác. Để đặt quyền truy cập của người dùng quản trị viên hệ thống khác để chính sách mật khẩu không hết hạn, hãy thực hiện theo các bước sau:

  1. Tìm tất cả quản trị viên hệ thống trong dn 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 rồi thêm nội dung sau đây 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 mình):
    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 sự 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 bước 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 mật khẩu hết hạn tin nhắn cảnh báo sẽ được trả lại 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 khi các lần liên kết không thành công cũ bị xóa khỏi bộ đếm lỗi.

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

Nếu bạn đặt pwdFailureCountInterval thành 0, chỉ có 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, thuộc tính này 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 các lượt xác thực sẽ tự động được đặt lại, ngay cả khi không có xác thực thành công nào xảy ra.

Chúng tôi đề xuất rằng thuộc tính này nên được đặt thành cùng một giá trị với Thuộc tính pwdLockoutDuration.

300
pwdInHistory

Số mật khẩu tối đa đã sử dụng hoặc trước đây mà một người dùng đã sử 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 được thay đổi thành bất kỳ mật khẩu nào mật khẩu trước đây.

3
pwdLockout

Nếu là TRUE, hãy chỉ định là 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à mật khẩu không thể sử dụng được để xác thực người dùng đến hạn 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ẽ ở trạng thái 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.

Nếu bạn đặt pwdLockoutDuration 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á.

Hãy xem bài viết Mở khoá tài khoản người dùng.

Nếu pwdLockoutDuration được đặt thành >0, thuộc tính này xác định khoảng thời gian tài khoản người dùng sẽ được lưu giữ đã khoá. Khi khoảng thời gian này đã trôi qua, tài khoản người dùng sẽ tự động đã mở khóa.

Chúng tôi đề xuất rằng thuộc tính này nên được đặt 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ị bằng 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 từ thời gian 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 đó không thể sử dụng mật khẩu xác thực người dùng đến 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ó vai trò Apigee của quản trị viên hệ thống được chỉ định có thể sử dụng lệnh gọi API sau đây để mở khoá tài khoản. Thay thế userEmail, adminEmailpassword bằng giá trị thực tế giá trị.

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

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