ایجاد نقش‌ها با API

درحال مشاهده اسناد Apigee Edge هستید.
به اسناد Apigee X بروید.
اطلاعات

این موضوع درباره نحوه ایجاد نقش‌های سفارشی و اختصاص نقش‌ها به کاربران ازطریق میانای برنامه‌سازی کاربردی مدیریت بحث می‌کند. همچنین نحوه آزمایش کردن واگذاری نقش ازطریق API را نشان می‌دهیم. (برای نمای کلی نقش‌های سفارشی، ایجاد نقش‌های سفارشی در واسط کاربر را ببینید.)

درباره تنظیم اجازه

اجازه‌های نقش در نشانی‌های وب میانای برنامه‌سازی کاربردی مدیریت تنظیم می‌شود (نه در نشانی‌های وب واسط کاربری مدیریت). برای مثال، اگر می‌خواهید اجازه‌های PUT،‏ GET، و/یا DELETE را روی نهادهای توسعه‌دهنده برنامه در سازمان Edge خود تنظیم کنید، اجازه‌ها را روی منبع /developers تنظیم می‌کنید، زیرا مسیر API مدیریت برای توسعه‌دهندگان https://api.enterprise.apigee.com/v1/organizations/{org_name}/developers است. (هنگام تعریف اجازه‌ها، نیازی نیست بخش سازمان مسیر را اضافه کنید، زیرا اجازه‌ها به سازمان خاصی محدود می‌شوند، همان‌طور که فراخوانی‌های میانای برنامه‌سازی کاربردی مدیریت در این موضوع نشان می‌دهد.)

همچنین می‌توانید اجازه‌ها را روی نهادهای خاص تنظیم کنید. برای مثال:

  • اگر می‌خواهید اجازه‌ها را برای یک توسعه‌دهنده تنظیم کنید، آن‌ها را در /developers/steve@example.com تنظیم کنید
  • برای محصول API خاصی، مثل free-api-product، آن‌ها را روی /apiproducts/free-api-product تنظیم کنید
  • برای نقشه مقدار کلید در محیطی خاص، اجازه را روی چیزی مثل /environments/test/keyvaluemaps/fooMap، یا /environments/test/keyvaluemaps/* برای همه نقشه‌های مقدار کلید در محیط آزمایش تنظیم می‌کنید.

اجازه‌هایی که بااستفاده از «میانای برنامه‌سازی کاربردی» تنظیم می‌کنید:

  • به کاربران دارای نقش سفارشی اجازه می‌دهد براساس اجازه‌هایشان تماس‌های میانای برنامه‌سازی کاربردی مدیریت برقرار کنند. برای مثال، اگر نقشی اجازه دسترسی فقط خواندنی به همه پراکسی‌های میانای برنامه‌سازی کاربردی را بدهد، کاربری با آن نقش می‌تواند از میانای برنامه‌سازی کاربردی فهرست کردن پراکسی‌های میانای برنامه‌سازی کاربردی استفاده کند ولی نمی‌تواند از میانای برنامه‌سازی کاربردی ایجاد پراکسی میانای برنامه‌سازی کاربردی استفاده کند.
  • تعیین کنید که کاربران در نقش سفارشی چه چیزهایی را می‌توانند در واسط کاربر مدیریت ببینند و انجام دهند. برای مثال، دسترسی فقط خواندنی به پراکسی‌های میانای برنامه‌سازی کاربردی، دسترسی به دکمه‌های «پراکسی میانای برنامه‌سازی کاربردی +» و «حذف» در صفحه «پراکسی‌های میانای برنامه‌سازی کاربردی» را غیرفعال می‌کند.

برای دیدن منابع و مسیرهایی که می‌توانید برای آن‌ها اجازه تنظیم کنید، در مرجع API مدیریت در نشانی‌های وب منبع مختلف جستجو کنید.

برای اطلاعات مرجع کامل درباره مدیریت نقش، «میانای برنامه‌سازی کاربردی نقش‌های کاربر» را ببینید.

نحو و تقدم

می‌توانید از کارت جوکر ستاره (*) برای نشان دادن «همه چیز بعداز» در تنظیم اجازه استفاده کنید. بااین‌حال، اگر اجازه‌ها را فقط روی منبع والد (مثلاً روی /developers) بدون تنظیم اجازه‌های خاص‌تر (مثلاً /developers/*) تنظیم کنید، اجازه روی همه موارد از /developers و بعداز آن اعمال می‌شود.

‫PUT در اجازه‌ها به‌عنوان POST نیز عمل می‌کند.

می‌توانید اجازه‌های کلی را با اجازه‌های دقیق‌تر در منابع ترکیب کنید. تنظیمات دقیق‌تر درصورت هم‌پوشانی اجازه‌ها اولویت دارند. برای مثال، فرض کنید اجازه‌های زیر روی نقش «سرپرست توسعه‌دهنده» تنظیم شده است:

  • ‫PUT در /developers
  • ‫GET در /developers/*

این یعنی سرپرست توسعه‌دهنده می‌تواند:

  • توسعه‌دهنده‌ای ایجاد کنید، اما هیچ توسعه‌دهنده خاص یا هیچ‌یک از نهادهای فرعی را به‌روزرسانی نکنید (به‌دلیل اجازه GET خاص‌تر در آن مسیر).
  • هر توسعه‌دهنده یا نهاد فرعی را دریافت کنید، اما فهرست همه توسعه‌دهندگان را دریافت نکنید.

برای فهرست کامل اجازه‌هایی که می‌توانید با API تنظیم کنید، مرجع اجازه‌ها را ببینید.

ایجاد نقش سفارشی جدیدی به‌نام «توسعه»

نقش «توسعه» ایجاد کنید تا توسعه‌دهندگان بتوانند پراکسی‌های API را مشاهده، ایجاد، و به‌روزرسانی کنند.

$ 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، و غیره) و همچنین روی آرتیفکت‌های تکی (مثل برنامه خاص، پراکسی API، یا محصول API) تنظیم کرد عبارت‌اند از GET،‏ PUT، و DELETE.

‫GET به کاربران امکان می‌دهد هر میانای برنامه‌سازی کاربردی‌ای را، ازجمله فایل‌های پیکربندی پراکسی میانای برنامه‌سازی کاربردی، خط‌مشی‌های مرتبط، جاوااسکریپت، فایل‌های XSLT، و غیره را مشاهده کنند. اجازه 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" ]}'

ایجاد نقش: آزمایش

نقش «آزمایش» ایجاد کنید تا مهندسان کیفیت بتوانند کارگزاران API و محتوای آن‌ها (ازجمله، برای مثال، خط‌مشی‌ها) را مشاهده کنند.

$ 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" } ] }'

افزودن اجازه‌ها به نقش آزمایش

«دریافت» به کاربران امکان می‌دهد هر میانای برنامه‌سازی کاربردی، ازجمله فایل‌های پیکربندی آن، و همچنین هرگونه خط‌مشی، جاوااسکریپت، فایل XSLT، و غیره مرتبط را مشاهده کنند. با افزودن این اجازه به نقش «آزمایشی»، مهندسان کیفیت را قادر می‌سازیم محتوای «میاناهای برنامه‌سازی کاربردی» را که آزمایش می‌کنند مشاهده کنند. بااین‌حال، کاربران این نقش نمی‌توانند پراکسی‌های API را ایجاد، اصلاح، وارد، صادر، پیاده‌سازی، و لغو پیاده‌سازی کنند.

$ 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"]
   }
  ]
}'

که در آن <ms-IP> نشانی IP یا نام «ساناد» «سرور مدیریت لبه» است.

افزودن کاربر به نقش آزمایش

برای آماده‌سازی کاربر با نقش کاربر:

$ 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"} ] }'

ایجاد میانای برنامه‌سازی کاربردی به‌عنوان کاربر در نقش توسعه‌دهنده

به‌جای کاربر درخواست را به «پلاتفرم API» تکرار کنید تا کارگزار API ایجاد شود. درخواست موفق خواهد بود، زیرا نقش «توسعه» به کاربر اجازه می‌دهد میاناهای برنامه‌سازی کاربردی ایجاد کند.

$ 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