سیاست چیست؟

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

Apigee Edge شما را قادر می‌سازد تا با استفاده از «سیاست‌ها» (policies)، بدون نوشتن هیچ کدی، رفتار API را «برنامه‌ریزی» کنید. یک سیاست مانند ماژولی است که یک عملکرد مدیریتی خاص و محدود را پیاده‌سازی می‌کند. سیاست‌ها به گونه‌ای طراحی شده‌اند که به شما امکان می‌دهند انواع رایج قابلیت‌های مدیریتی را به راحتی و با اطمینان به یک API اضافه کنید. سیاست‌ها ویژگی‌هایی مانند امنیت، محدود کردن سرعت، تبدیل و قابلیت‌های میانجیگری را ارائه می‌دهند و شما را از نیاز به کدنویسی و نگهداری این قابلیت‌ها به تنهایی نجات می‌دهند.

شما محدود به مجموعه انواع سیاست‌های ارائه شده توسط Apigee Edge نیستید. همچنین می‌توانید اسکریپت‌ها و کدهای سفارشی (مانند برنامه‌های جاوا اسکریپت و Node.js) بنویسید که قابلیت پروکسی API را گسترش می‌دهد و شما را قادر می‌سازد علاوه بر قابلیت‌های مدیریتی پایه پشتیبانی شده توسط سیاست‌های Apigee، نوآوری کنید.

برای آشنایی با پیوست سیاست و اجرای آن، این ویدیو را تماشا کنید.

انواع سیاست

از نظر فنی، یک سیاست (policy) یک فایل پیکربندی با فرمت XML است. ساختار هر نوع سیاست (به عنوان مثال، عناصر پیکربندی اجباری و اختیاری) توسط یک طرحواره XML تعریف می‌شود. اگر با ابزارهای XML آشنا هستید، آشنایی با طرحواره‌های سیاست در نمونه‌های پلتفرم API در Github ارزشمند است.

انواع سیاست‌های لبه (Edge Policy) به دسته‌های عملکردی زیر گروه‌بندی می‌شوند:

مدیریت ترافیک

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

امنیت

سیاست‌های موجود در دسته امنیت، احراز هویت، مجوزدهی و همچنین امنیت مبتنی بر محتوا را پشتیبانی می‌کنند.

میانجیگری

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

پسوند

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

هر نوع سیاست به طور مفصل در مرور کلی مرجع سیاست مستند شده است. این مبحث، تعامل کلی را نشان می‌دهد و نحوه ایجاد سیاست‌ها و نحوه اتصال آنها به جریان‌ها در پیکربندی پروکسی API را به شما نشان می‌دهد.

اعمال تغییرات سیاست

برای اعمال تغییرات در سیاست، باید نسخه پروکسی API را در یک محیط مستقر کنید. پس از ضمیمه کردن یک سیاست یا ایجاد تغییرات در یک سیاست موجود، از رابط کاربری مدیریت یا API مدیریت برای استقرار تغییرات استفاده کنید.

تأیید اجرای سیاست‌ها

برای تأیید اینکه یک سیاست به درستی اجرا شده است، API باید توسط یک کلاینت HTTP فراخوانی شود. برای تأیید این پیکربندی سهمیه، چندین درخواست به API ارسال کنید که از حد سهمیه‌ای که در سیاست سهمیه تعیین کرده‌اید، فراتر رود. (مسیر URI، که به عنوان تنظیم مسیر پایه در ProxyEndpoint پیکربندی شده است، در درخواست زیر /weather است).

http://{org_name}-test.apigee.net/weather/forecastrss?w=12797282

پس از ارسال بیش از ۱ درخواست در عرض یک دقیقه، باید پیام خطای زیر را مشاهده کنید:

{  
   "fault":{  
      "faultstring":"policies.ratelimit.QuotaViolation",
      "detail":{  
         "errorcode":"policies.ratelimit.QuotaViolation"
      }
   }
}

این نشان می‌دهد که سیاست سهمیه‌بندی توسط سرویس‌های API اعمال می‌شود.

مدیریت خطا مبتنی بر سیاست

به قالب پیام خطای بالا توجه کنید. این پیام شامل یک ویژگی faultstring و یک ویژگی errorcode است. در بسیاری از موارد، شما باید رفتاری را برای مدیریت این خطاها پیاده‌سازی کنید. به عنوان مثال، ممکن است بخواهید یک پیام سفارشی برای توسعه‌دهنده‌ای که برنامه‌اش از حد مجاز فراتر رفته است، ارسال کنید.

برای اطلاعات بیشتر در مورد مدیریت خطا، به بخش مدیریت خطاها مراجعه کنید.

بهترین شیوه‌ها: مجموعه سیاست‌های مشترک

برای برآورده کردن الزامات اولیه مدیریت، پروکسی‌های API معمولاً سیاست‌های زیر را اعمال می‌کنند:

اعتبارسنجی اولیه کلید API

جریان درخواست ProxyEndpoint:
  1. اسپایک آرست
  2. محافظت در برابر تهدیدات XML یا محافظت در برابر تهدیدات JSON
  3. اعتبارسنجی کلید API
  4. سهمیه
  5. پاسخ‌رسان
جریان پاسخ ProxyEndpoint:
  1. پاسخ‌رسان

تبدیل اولیه: JSON به XML

جریان درخواست:
  1. اسپایک آرست
  2. JSONThreatProtection
  3. اعتبارسنجی کلید API
  4. سهمیه
  5. JSONToXML
جریان پاسخ:
  1. XMLToJSON
  2. پاسخ‌رسان