إدارة السياسة التلقائية لكلمات مرور خدمة LDAP لإدارة واجهة برمجة التطبيقات

يستخدم نظام Apigee بروتوكول OpenLDAP لمصادقة المستخدمين في بيئة إدارة واجهة برمجة التطبيقات. يوفّر OpenLDAP وظيفة سياسة كلمات المرور في LDAP هذه.

يصف هذا القسم كيفية ضبط سياسة كلمة مرور LDAP التلقائية التي تم إرسالها. استخدِم سياسة كلمات المرور هذه لضبط خيارات المصادقة المختلفة باستخدام كلمات المرور، مثل عدد محاولات تسجيل الدخول غير الناجحة المتتالية التي لا يمكن بعدها استخدام كلمة مرور لمصادقة مستخدم على الدليل.

يصف هذا القسم أيضًا كيفية استخدام واجهتَي برمجة تطبيقات لإلغاء قفل حسابات المستخدمين التي تم قفلها وفقًا للسمات التي تم ضبطها في سياسة كلمة المرور التلقائية.

للحصول على معلومات إضافية، يُرجى الاطّلاع على:

ضبط سياسة كلمة مرور LDAP التلقائية

يوضح هذا القسم كيفية ضبط سياسة كلمة مرور LDAP التلقائية لما يلي:

ضبط سياسة كلمة مرور LDAP التلقائية لمستخدمي Edge ومسؤول النظام الأصلي

لضبط سياسة كلمة المرور التلقائية لبروتوكول LDAP لمستخدمي Edge ومسؤول النظام الأصلي:

  1. الاتصال بخادم LDAP باستخدام برنامج LDAP، مثل Apache Studio أو ldapmodify بشكلٍ تلقائي، يستجيب خادم OpenLDAP على المنفذ 10389 في عقدة OpenLDAP.

    للاتصال، حدِّد الاسم المميَّز الأساسي للربط أو مستخدم cn=manager,dc=apigee,dc=com و كلمة مرور OpenLDAP التي ضبطتها في وقت تثبيت Edge.

  2. استخدِم العميل للانتقال إلى سمات سياسة كلمة المرور لما يلي:
    • مستخدمو Edge: cn=default,ou=pwpolicies,dc=apigee,dc=com
    • مشرف إدارة النظم الأصلي على Edge: cn=sysadmin,ou=pwpolicies,dc=apigee,dc=com
      ملاحظة: لإعداد سياسة كلمة مرور LDAP لمسؤولي إدارة نظم إضافيين (بخلاف مسؤول إدارة النظم الأصلي)، قم بضبط سياسة كلمة مرور LDAP لمشرفي نظم إضافيين أدناه.
  3. عدِّل قيم سمة سياسة كلمة المرور كما تريد.
  4. احفظ الإعداد.

ضبط سياسة كلمة مرور 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 وأضِف ما يلي إليه (بدلاً من الاسم المميز لمستخدم مشرف النظم):
    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 يومًا من وقت إنشاء كلمة المرور.

المستخدم: 2592000

مشرف النظام: 0

pwdMaxFailure

عدد محاولات تسجيل الدخول المتتالية الفاشلة التي لا يمكن بعدها استخدام كلمة مرور لمصادقة مستخدم في الدليل.

3
pwdMinLength

يحدِّد الحد الأدنى لعدد الأحرف المطلوبة عند ضبط كلمة مرور.

8

فتح قفل حساب مستخدم

قد يتم قفل حساب المستخدم بسبب السمات التي تم ضبطها في سياسة كلمات المرور. يمكن للمستخدم الذي تم إسناد دور مشرف نظام Apigee إليه استخدام طلب البيانات التالي من واجهة برمجة التطبيقات لفتح قفل حساب المستخدم. استبدِل userEmail وadminEmail وpassword بالقيم الفعلية.

لفتح قفل حساب مستخدم:

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