برمجة عملية إنشاء الرمز المميّز

أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
info

عند استخدام SAML مع Edge API، تُسمّى العملية التي تستخدمها للحصول على رموز مميّزة للوصول وإعادة التحميل من SAML assertion باسم مسار رمز المرور. في مسار رمز المرور، يمكنك استخدام متصفّح للحصول على رمز مرور صالح لمرة واحدة، ثم استخدامه للحصول على رموز OAuth2 المميزة.

ومع ذلك، قد تتيح بيئتك إمكانية التشغيل الآلي لمهام التطوير الشائعة، مثل التشغيل الآلي للاختبار أو الدمج المستمر/النشر المستمر (CI/CD). لأتمتة هذه المهام عند تفعيل SAML، تحتاج إلى طريقة للحصول على رموز OAuth2 المميزة وإعادة تحميلها بدون الحاجة إلى نسخ/لصق رمز مرور من المتصفّح.

لمحة عن مستخدمي الآلات

تتيح Apigee Edge مستخدمي الآلات في مؤسستك التي تم تفعيل SAML فيها. يتم استخدام حسابات المستخدمين الآلية لأغراض التشغيل الآلي فقط ولا يمكن لأي شخص الوصول إليها مباشرةً.

يمكن لمستخدم الجهاز الحصول على رموز مميزة من OAuth2 بدون الحاجة إلى تحديد رمز مرور. وهذا يعني أنّه يمكنك إتمام عملية الحصول على رموز OAuth2 المميزة وتحديثها بشكل آلي تمامًا باستخدام Edge API.

خطوات التشغيل الآلي لعملية إنشاء الرموز المميزة

لأتمتة عملية إنشاء الرموز المميزة، اتّبِع الخطوات التالية:

الخطوة الوصف
1 إنشاء مستخدم آلي في منطقة الهوية المستنِدة إلى SAML
2 منح الأدوار المطلوبة لمستخدم الجهاز في مؤسسة Edge
3 الحصول على رموز OAuth2 المميزة لمستخدمي الأجهزة

الفيديو: شاهِد فيديو قصيرًا للتعرّف على كيفية برمجة إمكانية الوصول إلى واجهات برمجة التطبيقات في Apigee Edge باستخدام بيانات اعتماد مستخدم الآلة.

إدارة مستخدمي الآلات لمناطق الهوية عبر SAML

توفّر Apigee واجهة سطر الأوامر (CLI) لإدارة مستخدمي الآلات من أجل إنشاء حسابات مستخدمي الآلات وإدارتها. يتم توضيح خطوات استخدام سطر الأوامر لإدارة المستخدمين الآليين في الأقسام التالية.

استخدام واجهة سطر الأوامر

لاستخدام واجهة سطر الأوامر لإدارة مستخدمي الآلات، عليك أولاً تنزيل الملف التالي وفك ضغطه: usermgmt.tar.gz(1)

في ما يلي تنسيق استدعاء واجهة سطر الأوامر:

usermgmt_platform [command] [flags]

يلخّص الجدول التالي المنصات المتوافقة والأمر المقابل لاستدعاء واجهة سطر الأوامر لإدارة مستخدمي الأجهزة. (توجد الملفات التنفيذية في الدليل usermgmt).

النظام الأساسي ‫32 بت ‫64 بت
Linux usermgmt_linux_386 usermgmt_linux_amd64
Mac usermgmt_darwin_386 usermgmt_darwin_amd64
Windows usermgmt_windows_386 usermgmt_windows_amd64

يلخّص الجدول التالي الأوامر التي يمكن تحديدها.

الأوامر مزيد من المعلومات
create إنشاء مستخدم آلي في منطقة هوية
delete حذف مستخدم آلي في منطقة هوية
help الحصول على مساعدة في استخدام واجهة سطر الأوامر
list إدراج جميع مستخدمي الأجهزة في منطقة هوية
reset إعادة ضبط كلمة المرور لمستخدم آلي في منطقة هوية

يمكنك اختياريًا إدخال إحدى العلامات التالية لعرض المساعدة بشأن الأمر المحدّد: -h أو --help

تسجيل الدخول إلى واجهة سطر الأوامر

في المرة الأولى التي تشغّل فيها واجهة سطر الأوامر خلال فترة 24 ساعة، سيُطلب منك إدخال بيانات اعتماد حساب zoneadmin.

Enter your Apigee credentials
Username: zoneadmin-username
Password: zoneadmin-password
If your user is opted with MFA, enter MFA code. Otherwise press enter to skip.
MFA: mfa-code_or_enter_to_skip

يخزِّن سطر الأوامر لإدارة المستخدمين على الجهاز رمز دخول على جهازك المحلي، لذا عليك تسجيل الدخول مرة واحدة فقط كل 24 ساعة.

الحصول على مساعدة بشأن استخدام واجهة سطر الأوامر

اعرض معلومات استخدام واجهة سطر الأوامر باستخدام الأمر usermgmt_platform help. اطّلِع على استخدام واجهة سطر الأوامر للاطّلاع على قائمة المنصات المتوافقة.

usermgmt_platform help

يتم عرض معلومات المساعدة التالية:

A command-line interface (CLI) to manage machine user accounts to automate
Apigee identity zone management. Use the CLI to create, list, delete,
and reset the password for machine users.

Usage:
  usermgmt [flags]
  usermgmt [command]

Available Commands:
  create  Creates a machine users in an identity zone.
  delete  Deletes a machine users in an identity zone.
  help    Help about any command
  list    Lists the machine users in an identity zone.
  reset   Resets the password for a machine user in an identity zone.

Flags:
  -h, --help               help for usermgmt

Use "usermgmt [command] --help" for more information about a command.

اعرض المساعدة بشأن أمر معيّن من خلال تمرير كلّ من الأمر والعلامة -h أو --help في سطر الأوامر.

على سبيل المثال، للحصول على مساعدة بشأن الأمر list:

usermgmt_platform list -h

يتم عرض معلومات المساعدة التالية:

Lists the machine users in an identity zone.

Usage:
  usermgmt list [flags]

Flags:
  -h, --help   help for list

إنشاء مستخدم آلي في منطقة هوية

أنشئ مستخدمًا آليًا في منطقة هوية باستخدام الأمر usermgmt_platform create. اطّلِع على استخدام واجهة سطر الأوامر للاطّلاع على قائمة المنصات المتوافقة.

  1. أدخِل الأمر التالي:
    usermgmt_platform create

    يتم عرض قائمة بمناطق الهوية:

    myzone1
    myzone2
  2. أدخِل اسم منطقة عند ظهور الطلب:
    Enter a zone name: myzone1
  3. أدخِل اسم مستخدم لجهازك:
    Create a Machine User
    Username: machineuser1@mycompany.com
  4. أدخِل كلمة مرور لمستخدم الآلة. أعِد إدخال كلمة المرور عندما يُطلب منك ذلك.
    Password: password
    Re-enter password: password 

    تم إنشاء المستخدم.

    Created machine user machineuser1@mycompany.com

إدراج جميع مستخدمي الأجهزة في منطقة تحديد هوية

أدرِج جميع مستخدمي الآلات في منطقة هوية باستخدام الأمر usermgmt_platform list. اطّلِع على استخدام واجهة سطر الأوامر للاطّلاع على قائمة المنصات المتوافقة.

  1. أدخِل الأمر التالي:
    usermgmt_platform list
    يتم عرض قائمة بمناطق الهوية:
    myzone1
    myzone2
  2. أدخِل اسم منطقة عند ظهور الطلب:
    Enter a zone name: myzone1

    يتم عرض قائمة بمستخدمي الأجهزة في منطقة تحديد الهوية:

    Machine users in the zone:
    machineuser1@mycompany.com
        

إعادة ضبط كلمة المرور لمستخدم آلي في منطقة هوية

أعِد ضبط كلمة مرور مستخدم آلي في منطقة هوية باستخدام الأمر usermgmt_platform reset. اطّلِع على استخدام واجهة سطر الأوامر للاطّلاع على قائمة بالأنظمة الأساسية المتوافقة.

  1. أدخِل الأمر التالي:
    usermgmt_platform reset

    يتم عرض قائمة بمناطق الهوية:

    myzone1
    myzone2
  2. أدخِل اسم منطقة عند ظهور الطلب:
    Enter a zone name: myzone1
  3. أدخِل اسم المستخدم الخاص بمستخدم الجهاز الذي تريد إعادة ضبط كلمة المرور له:
    Reset User Password
    Enter the username for the machine user
    Username: machineuser1@mycompany.com
  4. أدخِل كلمة مرور جديدة لمستخدم الآلة. أعِد إدخال كلمة المرور عندما يُطلب منك ذلك.
    Enter the new password: password
    Re-enter password: password

    تمت إعادة ضبط كلمة المرور.

    Reset password for machine user machineuser1@mycompany.com

حذف مستخدم آلي في منطقة هوية

احذف مستخدم جهاز في منطقة هوية باستخدام الأمر usermgmt_platform delete. اطّلِع على استخدام واجهة سطر الأوامر للاطّلاع على قائمة المنصات المتوافقة.

  1. أدخِل الأمر التالي:
    usermgmt_platform delete
    يتم عرض قائمة بمناطق الهوية:
    myzone1
    myzone2
  2. أدخِل اسم منطقة عند ظهور الطلب:
    Enter a zone name: myzone1
  3. أدخِل اسم المستخدم الخاص بمستخدم الجهاز الذي تريد حذفه:
    Delete User
    Enter the username for the machine user
    Username: machineuser1@mycompany.com 

    تم حذف مستخدم الجهاز.

    Deleted user machineuser1@mycompany.com

تحديد الأدوار المطلوبة لمستخدم الجهاز في مؤسسة Edge

باستخدام واجهة المستخدم، أضِف مستخدم الجهاز إلى مؤسسة Edge التي تم تفعيل SAML فيها، ومنحه الأدوار المطلوبة (مثل مشرف المؤسسة)، كما هو موضّح في إضافة مستخدمين.

الحصول على رموز OAuth2 المميزة لمستخدم الجهاز

يمكنك أتمتة عملية إنشاء الرموز المميزة والتعامل مع التخزين المؤقت للرموز المميزة لمستخدمي الآلات باستخدام الأداتين المساعدتين acurl(1) وget_token(1)، كما هو موضّح في OAuth2 لمستخدمي الآلات ومستخدمو الآلات في مناطق SAML.

للحصول على رموز OAuth2 المميزة لمستخدم الجهاز يدويًا باستخدام curl، اتّبِع الخطوات التالية:

  1. استخدِم أداة ترميز عناوين URL المفضّلة لترميز اسم المستخدم وكلمة المرور لمستخدم الجهاز.

    تحذير: استخدِم أداة ترميز عناوين URL داخلية للتأكّد من عدم تعرّض بيانات اعتماد مستخدم الجهاز للخطر.

  2. أنشئ رموز الدخول وإعادة التحميل الأولية من خلال استدعاء نقطة نهاية رمز SAML المميز، كما هو موضّح في المثال التالي:
    curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \
      -H "accept: application/json;charset=utf-8" \
      -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \
      https://zoneName.login.apigee.com/oauth/token -s \
      -d 'grant_type=password&username=machineusername&password=machineuserpassword'

    للحصول على إذن، مرِّر بيانات اعتماد عميل OAuth2 المحجوزة، ZWRnZWNsaTplZGdlY2xpc2VjcmV0، في عنوان Authorization. تطبع الدالة رموز الدخول وإعادة التحميل إلى stdout.

  3. مرِّر رمز الدخول إلى طلب بيانات من واجهة برمجة تطبيقات إدارة Edge كعنوان Bearer:
    curl -H "Authorization: Bearer ACCESS_TOKEN" \
      https://api.enterprise.apigee.com/v1/organizations/orgName
  4. عند انتهاء صلاحية رمز الدخول، يمكنك تحديثه عن طريق إرسال الرمز المميز لإعادة التحميل إلى نقطة نهاية رمز SAML، كما هو موضّح في المثال التالي:
    curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" \
      -H "Accept: application/json;charset=utf-8" \
      -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \
      https://zoneName.login.apigee.com/oauth/token \
      -d 'grant_type=refresh_token&refresh_token=REFRESH_TOKEN'

(1) حقوق الطبع والنشر 2023 Google LLC
تتوفّر الأدوات usermgmt وacurl وget_token بصفتها "برامج" بموجب الاتفاقية التي تحكم استخدامك لمنصة Google Cloud Platform، بما في ذلك البنود الخاصة بالخدمة المتوفّرة على الرابط https://cloud.google.com/terms/service-terms.