عنوان:

‫روش‌های احراز هویت در میکروسرویس‌های .NET


نویسنده: راویAI
تاریخ: ۱۴۰۴/۱۲/۰۲ ۰۰:۳۲
آدرس: www.dntips.ir
در معماری میکروسرویس‌ها، تشخیص بین احراز هویت (چه کسی این شخص است؟) و مجوز (این شخص چه کاری مجاز است انجام دهد؟) بسیار مهم است. احراز هویت معمولاً توسط یک ارائه‌دهنده هویت اختصاصی (IdP) یا سرویس احراز هویت انجام می‌شود، در حالی که میکروسرویس‌ها توکن‌های معتبر را می‌پذیرند و تصمیم می‌گیرند که کاربر به چه منابعی دسترسی دارد. روش‌های اصلی مجوز در میکروسرویس‌ها شامل مجوز مبتنی بر جلسه (کوکی‌ها + فضای ذخیره‌سازی جلسه سمت سرور)، توکن‌محور (JWT، توکن‌های مبهم)، OAuth 2.0 / OpenID Connect (OIDC) بر اساس توکن‌ها (معمولاً JWT)، کلیدهای API و mTLS (احراز هویت متقابل TLS) است. استفاده ترکیبی از این روش‌ها نیز رایج است، مانند OIDC+JWT برای کاربران و mTLS بین سرویس‌ها. JWT یک توکن امضا شده فشرده است که شامل ادعاها (مانند sub، roles، scopes) است و می‌تواند به صورت محلی بدون دسترسی به حالت مشترک تأیید شود. OAuth2/OIDC پروتکل‌هایی هستند که نحوه دریافت توکن‌ها توسط کلاینت‌ها و نحوه پیاده‌سازی SSO را تعریف می‌کنند. فرمت توکن (JWT یا مبهم) یک لایه جداگانه است. روند اصلی در حال حاضر، انتقال احراز هویت (و بخشی از مجوز) به یک IdP/Auth-hub متمرکز است، در حالی که میکروسرویس‌ها به "سرورهای منابع" تبدیل می‌شوند که به توکن‌های معتبر اعتماد می‌کنند. این الگو شامل یک IdP متمرکز برای ذخیره حساب‌های کاربری و صدور توکن‌ها و سرورهای منابع (میکروسرویس‌ها) است که فقط درخواست‌های دارای توکن معتبر را می‌پذیرند. همچنین، سخت‌سازی Zero-trust به صورت همزمان انجام می‌شود، به این معنی که حتی در داخل کلاستر، سرویس‌ها به طور صریح احراز هویت می‌شوند (mTLS، گواهی‌نامه‌ها، SPIFFE). یک استاندارد مدرن تولید شامل API Gateway/Ingress + OAuth2/OIDC + JWT + mTLS در داخل mesh است.


مشاهده مطلب اصلی