در این مقاله چندین روش جهت مدیریت و محدودسازی دسترسی بهرهبرداران به API ها را معرفی میکنیم در ادامه این مطلب با شرکت دانش بنیان پلتکو همراه باشید.
- Allowed IPs (IP های مجاز)
- Creating the advanced rate limiting policy (ایجاد سیاست محدود کردن نرخ پیشرفته)
- درگیر کردن policy (سیاست) با یک API
- Denying requests (رد درخواست ها)
- مسدود سازی Context خاص از یک API
IP های مجاز
هنگامی که درخواستهای یک API فقط از مجموعهای از IPهای شناخته شده/قابل اعتماد مجاز است، میتوانید با پیکربندی گروهی از IPهای مجاز از طریق ویژگی Advanced Rate Limiting به این هدف دست یابید.
ایجاد سیاست محدودیت نرخ پیشرفته
- وارد پورتال مدیریت پلتفرم پلتکو شوید. (https://<ip_address>:9443/admin)
- در زبانه Rate Limiting Policies (سیاست های محدود کردن نرخ) و به Advanced Policies (خط مشیهای پیشرفته) بروید.
- برای افزودن یک ردیف محدودیت نرخ جدید، روی Add New Policy کلیک کنید.
- جزئیات را مانند زیر پر کنید و روی Add Conditional Group کلیک کنید.
- Conditional Group اضافه شده را باز کنید و جزئیات را پر کنید.
ویژگی |
مقدار |
IP Condition Type | Specific IP (IP خاص) |
IP Address | به عنولن مثال، 193.100.3.106 |
Invert Condition
(شرط معکوس) |
تیک خورده (اگر “شرط معکوس” تیک زده شود، این شرط فقط برای IP هایی اعمال میشود که در “آدرس IP” ذکر نشده اند.) |
Request Count | 0 |
در زیر یک نمونه پیکربندی آورده شده است.
توجه
در پیکربندی بالا، ما به یک آدرس IP خاص اجازه دسترسی به یک API را میدهیم. شما میتوانید با انتخاب
IP Range (محدوده IP) برای نوع شرط IP در گروه شرطی و تعیین محدوده به صورت زیر، محدوده ای از IP ها را نیز مجاز کنید.
- روی SAVE کلیک کنید.
ما اکنون با موفقیت این policy (سیاست) را ایجاد کردهایم. اکنون باید این سیاست را با یک API درگیر کنیم.
درگیر کردن policy (سیاست) با یک API
- وارد API ناشر https://Localhost:9443/publisher شوید.
- API را انتخاب کرده و به منوی Resources در API Configurations بروید.
- API level را در Operational Configuration (تنظیمات عملیاتی) فعال کنید و سیاست محدودیت نرخ جدید ایجاد شده را انتخاب کنید.
- API را ذخیره و منتشر کنید. اکنون API فقط با IP مشخص شده در سیاست محدود کردن نرخ قابل دسترسی خواهد بود.
توجه
این سیاست برای هر واحد زمان مجدداً اجرا می شود. هر بار که این سیاست اجرا میشود، حداقل 1 درخواست قبل از مسدود کردن درخواستها مجاز است. داشتن واحد زمان کمتر، دفعات ارسال درخواستها را افزایش میدهد. از این رو، داشتن واحد زمان بزرگتر برای به حداقل رساندن تعداد درخواست های ارسالی مناسب است.
Denying requests (رد درخواست ها)
با رد درخواست ها، میتوانید از سرورها در برابر حملات متداول و سوء استفاده کاربران محافظت کنید. به عنوان مثال، اگر یک کاربر مخرب از سیستم سوء استفاده کند، تمام درخواست های دریافت شده از آن کاربر خاص می تواند به طور کامل مسدود شود. کاربران اداری Tenant (مستاجر) را میتوان بر اساس پارامترهای زیر مسدود کرد:
- Block calls to specific APIs (مسدود کردن فراخوانیها به APIهای خاص)
- Block all calls from a given application (مسدود کردن همه فراخوانیها از یک برنامه خاص)
- Block requests coming from a specific IP address (مسدود کردن درخواستهایی که از یک آدرس IP خاص میآیند)
- Block a specific user from accessing APIs (مسدود کردن دسترسی یک کاربر خاص به API)
برای رد درخواست،
- با استفاده از URL https://localhost:9443/admin و اعتبار مدیریت خود وارد پورتال مدیریت شوید.
- روی Deny Policies در بخش Rate Limiting Policies کلیک کنید و روی Add Policy کلیک کنید.
آیتم مورد نظر برای انکار یا رد را انتخاب کنید، مقداری را وارد کنید و روی Deny کلیک کنید.
مسدود سازی یک Context خاص از یک API
همانطور که در بالا توضیح داده شد، میتوانید درخواست برای API ها، توسط برنامه ها، به آدرس های IP و برای کاربران را رد کنید. بیایید ببینیم چگونه میتوانیم درخواستهای یک API را رد کنیم.
- با استفاده از URL https://localhost:9490/admin و اعتبار مدیریت خود وارد پورتال مدیریت شوید.
- روی Deny Policies در بخش Rate Limiting Policies کلیک کنید و روی Add Policy کلیک کنید.
- API Context را انتخاب کنید و Context of PhoneVerification API را با نسخه به عنوان Value (مقدار) ارائه دهید.
- روی Deny کلیک کنید.
- اکنون با استفاده از URL https://localhost:9443/devportal به پورتال توسعهدهنده API وارد شوید و API را فراخوانی کنید. پاسخ زیر را خواهید دید.
بدون دیدگاه