چگونه هویت کاربر را در پلتفرم‌های توزیع‌شده کوبرنتیز و هوش مصنوعی انتقال دهیم؟

چگونه هویت کاربر را در پلتفرم‌های توزیع‌شده کوبرنتیز و هوش مصنوعی انتقال دهیم؟

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

چالش مدیریت هویت در پلتفرم‌های توزیع‌شده

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

بدون یک مدل مشترک برای انتقال هویت، مشکلاتی نظیر تکرار درخواست‌های ورود برای کاربران، عدم همگام‌سازی فرآیند خروج (Logout) از سیستم، افزایش بار روی ارائه‌دهنده هویت (Identity Provider) به دلیل تمدیدهای مکرر و غیرمتمرکز توکن‌ها، و همچنین پیچیدگی در توسعه ابزارهای جدید بروز خواهد کرد.

الگوی درگاه هویت مرکزی (Central Identity Gateway)

برای حل این چالش، الگوی «درگاه هویت مرکزی» مالکیت نشست (Session) را از اجرای درخواست‌ها جدا می‌کند. در این معماری، یک درگاه مرکزی وظیفه مدیریت ورود، وضعیت نشست، تمدید توکن و خروج را بر عهده دارد. درگاه‌های منطقه‌ای و محلی همچنان پابرجا می‌مانند، اما به جای مدیریت مستقل جریان‌های OIDC، تایید هویت کاربر را به این درگاه مرکزی واگذار می‌کنند.

شرکت NVIDIA با پیاده‌سازی این رویکرد در پلتفرم‌های توسعه داخلی خود که کلاسترهای Kubernetes را در AWS و OCI شامل می‌شوند، توانسته است دفعات ورود مجدد کاربران را تا ۵۵ درصد کاهش دهد. این معماری از استانداردهای OpenID Connect (OIDC)، یک اندپوینت سبک تایید هویت (gateway/userinfo/)، درگاه‌های منطقه‌ای بدون حالت (Stateless) و یک ذخیره‌ساز نشست مشترک مبتنی بر Redis با طول عمر (TTL) مشخص استفاده می‌کند.

ابزارهای پیشنهادی برای پیاده‌سازی

برای پیاده‌سازی و آزمایش این الگو، ابزارهای مختلفی در دسترس هستند. ابزار OAuth2 Proxy برای آزمایش ورود به سیستم با OIDC، مدیریت کوکی‌ها و نشست‌های مبتنی بر Redis کاربرد دارد. همچنین می‌توان از Istio برای تعریف رابط درگاه احراز هویت استفاده کرد. برای ارزیابی سیاست‌های دسترسی، ابزار OPA (Open Policy Agent) پیشنهاد می‌شود و در نهایت، Authorino به عنوان یک مرجع یکپارچه برای تایید توکن‌های JWT، کلیدهای API و تصمیم‌گیری‌های مربوط به سیاست‌های دسترسی قابل استفاده است.