إنشاء الأدوار باستخدام واجهة برمجة التطبيقات

أنت تعرض مستندات Apigee Edge.
انتقل إلى مستندات Apigee X.
معلومات

يناقش هذا الموضوع كيفية إنشاء أدوار مخصَّصة ومنح الأدوار للمستخدمين من خلال واجهة برمجة تطبيقات الإدارة. ونعرض أيضًا كيفية اختبار عمليات تعيين الأدوار من خلال واجهة برمجة التطبيقات. (لإلقاء نظرة عامة على الأدوار المخصصة، يُرجى الاطلاع على إنشاء أدوار مخصصة في واجهة المستخدم).

لمحة عن إعدادات الأذونات

ويتم تعيين أذونات الأدوار على معرّفات الموارد المنتظمة (URI) لإدارة واجهة برمجة التطبيقات (وليس إدارة معرّفات الموارد المنتظمة (URI) لواجهة المستخدم). على سبيل المثال، إذا كنت تريد ضبط أذونات PUT و/أو GET و/أو DELETE على كيانات مطوّر التطبيقات في Edge الخاص بك يمكنك ضبط الأذونات في المورد /developers، لأن مسار واجهة برمجة التطبيقات لإدارة واجهة برمجة التطبيقات للمطورين https://api.enterprise.apigee.com/v1/organizations/{org_name}/developers (لا تحتاج إلى تضمين الجزء الخاص بالمؤسسة في المسار عند تحديد الأذونات، لأنّ يتم منح الأذونات لمؤسسة معيّنة، مثل طلبات البيانات من واجهة برمجة التطبيقات للإدارة في هذا الموضوع illustrate.)

ويمكنك أيضًا ضبط الأذونات لكيانات محدَّدة. على سبيل المثال:

  • إذا أردت ضبط الأذونات لمطوِّر واحد، اضبطها على /developers/steve@example.com
  • بالنسبة إلى منتج واجهة برمجة تطبيقات محدد، مثل منتج واجهة برمجة التطبيقات المجانية، يمكنك في /apiproducts/free-api-product
  • بالنسبة إلى خريطة القيم الرئيسية في بيئة معيّنة، يمكنك تعيين إذن لشيء مثل /environments/test/keyvaluemaps/fooMap، أو /environments/test/keyvaluemaps/* لكل خرائط القيم الرئيسية في الاختبار محددة.

الأذونات التي تحدّدها باستخدام واجهة برمجة التطبيقات:

  • السماح للمستخدمين في دور مخصّص بإنشاء management API المكالمات وفقًا لأذوناتها. على سبيل المثال، إذا كان الدور يسمح بالوصول للقراءة فقط إلى جميع الخوادم الوكيلة لواجهة برمجة التطبيقات، يمكن لأي مستخدم في هذا الدور استخدام واجهة برمجة التطبيقات List API Proxies ولكن لا واجهة برمجة تطبيقات إنشاء خادم وكيل لواجهة برمجة التطبيقات
  • يمكنك تحديد ما يمكن للمستخدمين في دور مخصَّص الاطّلاع عليه وتنفيذه في واجهة مستخدم الإدارة. على سبيل المثال: يؤدي الإذن بالقراءة فقط إلى الخوادم الوكيلة لواجهة برمجة التطبيقات إلى إيقاف الوصول إلى خادم وكيل واجهة برمجة التطبيقات وأزرار الحذف على واجهة برمجة التطبيقات صفحة الوكيل.

لمعرفة الموارد والمسارات التي يمكنك ضبط أذونات عليها، يمكنك الاطّلاع على مرجع واجهة برمجة التطبيقات للإدارة في عناوين URL للموارد المختلفة.

اطّلِع على واجهة برمجة تطبيقات أدوار المستخدمين للحصول على معلومات مرجعية كاملة عن إدارة الأدوار.

البنية والأسبقية

يمكنك استخدام علامة النجمة (*) للإشارة إلى "كل شيء بعد" في أحد إعدادات الأذونات. ومع ذلك، إذا ضبطت الأذونات على مورد رئيسي فقط (مثل على /مطوري البرامج) بدون ضبط أي أذونات أكثر تحديدًا (مثل /developers/*)، يسري الإذن على كل شيء من /developers وبعده.

يعمل PUT أيضًا كـ POST في الأذونات.

يمكنك الجمع بين أذونات عامة وأذونات أكثر دقة في الموارد. كلما كانت الإعدادات أكثر دقة أن يكون لها الأسبقية في حال تداخل الأذونات. على سبيل المثال، لنفترض أن ما يلي: يتم تعيين الأذونات على حساب "developeradmin" الدور:

  • وضع علامة على /developers
  • انتقِل إلى /developers/*

يعني هذا أنّه يمكن لمشرف المطوّر:

  • أن تنشئ مطوّر برامج، ولا تعدِّل أي مطوّرين محدّدين أو أي كيانات فرعية (بسبب الحصول على إذن GET أكثر تحديدًا في هذا المسار).
  • احصل على أي مطوّر أو كيان فرعي، ولكن لا تحصل على قائمة بجميع المطوّرين.

يمكنك الاطّلاع على مرجع الأذونات للحصول على قائمة كاملة بالأذونات التي يمكنك ضبطها باستخدام واجهة برمجة التطبيقات.

إنشاء دور مخصَّص جديد باسم "التطوير"

إنشاء "تطوير" لتمكين المطوّرين من عرض الخوادم الوكيلة لواجهة برمجة التطبيقات وإنشائها وتحديثها.

$ curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/userroles -H "Content-type:application/json" -X POST -d'{ "role" : [ { "name" : "development" } ] }'

إضافة الأذونات إلى دور التطوير

الأذونات التي يمكن ضبطها على مجموعة كاملة من عناصر Edge (مثل كل /apps، /apis و/apiproducts وما إلى ذلك) بالإضافة إلى عناصر فردية (مثل تطبيق أو واجهة برمجة تطبيقات) أو خادم واجهة برمجة التطبيقات) هي GET وPUT وDELETE.

تتيح عملية GET للمستخدمين عرض أي من واجهات برمجة التطبيقات، بما في ذلك ملفات إعداد الخادم الوكيل لواجهة برمجة التطبيقات، المرتبطة وJavaScript وملفات WebRTC وما إلى ذلك. يتيح إذن PUT في واجهات برمجة التطبيقات للمطوّرين إنشاء الخوادم الوكيلة لواجهة برمجة التطبيقات وتعديلها واستيرادها وتصديرها ونشرها وإلغاء نشرها

تحدّد سمة المسار العنصر الذي يمكنك إعداد الأذونات عليه. على سبيل المثال: /applications أو /apps أو /apiproducts أو /developers أو /reports.

curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/userroles/development/permissions -H "Content-type:application/json" -X POST -d'{"path" : "/applications","permissions" : [ "put", "get" ]}'

إنشاء دور: الاختبار

إنشاء "اختبار" لتمكين مهندسي الجودة من عرض الخوادم الوكيلة لواجهة برمجة التطبيقات ومحتوياتها (بما في ذلك، السياسات على سبيل المثال).

$ curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/userroles -H "Content-type:application/json" -X POST -d'{ "role" : [ { "name" : "testing" } ] }'

إضافة أذونات إلى دور الاختبار

يمكّن GET المستخدمين من عرض أي واجهات برمجة تطبيقات، بما في ذلك ملفات التهيئة، بالإضافة إلى أي والسياسات المرتبطة بها، وJavaScript، وملفات WebRTC، وما إلى ذلك. من خلال إضافة هذا الإذن إلى "الاختبار" نحن نمكّن مهندسي الجودة من عرض محتويات واجهات برمجة التطبيقات التي اختبار الفرضية. مع ذلك، لن يتمكّن المستخدمون في هذا الدور من إنشاء المحتوى أو تعديله أو استيراده أو تصديره أو نشره. وإلغاء نشر الخوادم الوكيلة لواجهة برمجة التطبيقات.

$ curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/userroles/testing/permissions -H "Content-type:application/json" -X POST -d'{"path" : "/applications","permissions" : [ "get" ]}'

بالنسبة إلى تثبيت Edge داخل الشركة، يكون الحد الأدنى لمجموعة الأذونات التي يجب ضبطها على للسماح للمستخدم بتسجيل الدخول إلى واجهة مستخدم Edge هي:

{"path" : "/","permissions" : [ "get" ]}
{"path" : "/*","permissions" : [ ]}
{"path" : "/environments","permissions" : [ "get" ]}
{"path" : "/userroles","permissions" : [ "get" ]}

استخدِم أمر cURL التالي لضبط هذه الأذونات:

curl -H "Content-Type:application/json" -u email:password \
-X POST \
http://<ms-IP>:8080/v1/organizations/{org_name}/userroles/testing/resourcepermissions  \
-d '{
 "resourcePermission" : [ 
   {
    "path" : "/",
    "permissions" : [ "get" ]
   }, 
{
    "path" : "/*",
    "permissions" : []
   },
{
    "path" : "/environments",
    "permissions" : [ "get" ]
   },
   {
    "path" : "/userroles",
    "permissions" : [ "get"]
   }
  ]
}'

حيث &lt;ms-IP&gt; هو عنوان IP أو اسم نظام أسماء النطاقات (DNS) لخادم إدارة Edge.

إضافة مستخدم إلى دور الاختبار

لإدارة حساب مستخدم لديه دور مستخدم:

$ curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/users/justauser@apigee.com/userroles -H "Content-type:application/json" -X POST -d'{"role" : [ {"name" : "testing"} ] }'

عرض واجهات برمجة التطبيقات كمستخدم

انتحال هوية المستخدم وتقديم طلب إلى واجهة برمجة التطبيقات الخدمات لعرض الخوادم الوكيلة لواجهة برمجة التطبيقات. يجب أن يتمكّن المستخدم من عرض واجهات برمجة التطبيقات، بالإضافة إلى محتواها.
$ curl -u justauser@apigee.com:secret https://api.enterprise.apigee.com/v1/o/{org_name}/apis
$ curl -u justauser@apigee.com:secret https://api.enterprise.apigee.com/v1/o/{org_name}/apis/{api_name}/policies

إنشاء واجهة برمجة التطبيقات كمستخدم في دور الاختبار

يمكنك انتحال هوية المستخدم وتقديم طلب إلى "خدمات واجهة برمجة التطبيقات" لإنشاء خادم وكيل لواجهة برمجة التطبيقات. الطلب عن طريق خدمات واجهة برمجة التطبيقات، حيث إن الدور "اختبار" لا تسمح للمستخدم بإنشاء واجهات برمجة التطبيقات.

$ curl -u justauser@apigee.com:secret -H "Content-Type: application/json" https://api.enterprise.apigee.com/v1/o/{org_name}/apis -X POST -d'{"name" : "rbacTestApi"}'

إضافة مستخدم إلى دور التطوير

الآن تزويد المستخدم بـ "التطوير" الدور.

$ curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/users/justauser@apigee.com/userroles -H "Content-type:application/json" -X POST -d'{"role" : [ {"name" : "development"} ] }'

إنشاء واجهة برمجة التطبيقات كمستخدم في دور التطوير

تنتحل هوية المستخدم وكرِّر الطلب إلى منصة واجهة برمجة التطبيقات لإنشاء خادم وكيل لواجهة برمجة التطبيقات. تشير رسالة الأشكال البيانية ناجحًا، حيث إن دور "التطوير" للمستخدم بإنشاء واجهات برمجة التطبيقات.

$ curl -u justauser@apigee.com:secret -H "Content-Type: application/json" https://api.enterprise.apigee.com/v1/o/{org_name}/apis -X POST -d'{"name" : "rbacTestApi"}'

الحصول على أدوار المستخدمين لمستخدم

بصفتك مشرف المؤسسة، يمكنك الاطّلاع على قائمة أدوار المستخدمين لمستخدم (في جميع المؤسسات) في أي وقت:

$ curl -u email:password -X GET https://api.enterprise.apigee.com/v1/users/justauser@apigee.com/userroles