امنیت آخرین مایل

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

امنیت آخرین مایل از سرویس‌های backend که توسط سرویس‌های API پروکسی شده‌اند، محافظت می‌کند. هدف اصلی امنیت آخرین مایل، جلوگیری از حملات به اصطلاح "end-run" است، که در آن یک توسعه‌دهنده برنامه، URL مربوط به یک سرویس backend را کشف می‌کند و هرگونه پروکسی API را دور می‌زند تا مستقیماً به URL backend دسترسی پیدا کند.

گزینه‌های اصلی برای راه‌اندازی امنیت در آخرین مرحله عبارتند از:

  • کلاینت TLS/SSL
  • احراز هویت خروجی
  • ماژول tls در Node.js

کلاینت TLS/SSL

مکانیزم اصلی برای ایمن‌سازی آخرین مرحله، TLS/SSL کلاینت است که به عنوان «احراز هویت متقابل» نیز شناخته می‌شود.

به پیکربندی TLS از Edge به backend (Cloud و Private Cloud) مراجعه کنید.

احراز هویت خروجی

امنیت آخرین مرحله همچنین می‌تواند با الزام پروکسی API به ارائه اعتبارنامه به سرویس backend اعمال شود.

برای مثال، ممکن است بخواهید یک پروکسی API یک کلید API به سرویس backend شما ارائه دهد. همچنین می‌توانید یک پروکسی API داشته باشید که یک توکن دسترسی به اعتبارنامه‌های کلاینت OAuth را دریافت و ارائه دهد.

کلید API

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

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

شما می‌توانید از نوع سیاست AssignMessage برای اضافه کردن کلید API به عنوان یک هدر HTTP، پارامتر پرس‌وجو یا عنصر payload به درخواست خروجی استفاده کنید. به سیاست Assign Message مراجعه کنید.

اعتبارنامه‌های کلاینت OAuth

اعتبارنامه‌های کلاینت OAuth می‌توانند برای افزودن لایه‌ای از قابلیت لغو به کلیدهای API استفاده شوند. اگر سرویس‌های backend شما از اعتبارنامه‌های کلاینت OAuth پشتیبانی می‌کنند، می‌توانید یک پروکسی API را پیکربندی کنید تا برای هر درخواست، یک توکن دسترسی به اعتبارنامه‌های کلاینت ارائه دهد.

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

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

شما می‌توانید این نمونه را طوری تغییر دهید که token endpoint شما را فراخوانی کند و یک access token دریافت کند. این نمونه از جاوا اسکریپت برای اتصال token به درخواست خروجی به عنوان یک HTTP Authorization header استفاده می‌کند. همچنین می‌توانید برای این منظور از سیاست Assign Message استفاده کنید.

سامل

نوع سیاست GenerateSAMLAsertion می‌تواند برای پیوست کردن یک ادعای SAML به یک پیام درخواست XML خروجی، از پروکسی API به یک سرویس backend، استفاده شود. این امر سرویس backend را قادر می‌سازد تا احراز هویت و مجوز را روی درخواست‌های دریافتی از پروکسی‌های API انجام دهد.

به سیاست‌های ادعای SAML مراجعه کنید.

نود جی اس

اگر هدف پروکسی API شما یک برنامه Node.js است، می‌توانید از ماژول tls در Node.js برای ایجاد اتصالات امن به سرویس‌های backend استفاده کنید. درخواست‌های خروجی را با ماژول tls به همان روشی که معمولاً در Node.js انجام می‌دهید، ارسال می‌کنید. اساساً، باید کلیدها و گواهی‌های سمت کلاینت (فایل‌های .pem) را به دایرکتوری resources/node اضافه کنید و آنها را درون اسکریپت خود بارگذاری کنید. برای اطلاعات بیشتر در مورد استفاده از ماژول tls و متدهای آن، به مستندات ماژول tls در Node.js مراجعه کنید. برای اطلاعات بیشتر، به بخش «درک پشتیبانی Edge از ماژول‌های Node.js» مراجعه کنید.