بسیاری از برنامهها یک یا چند API را مصرف میکنند. این میتواند شامل برنامههای پشتیبان که با APIهای حمل و نقل و فاکتور کار میکنند یا معماری میکروسرویس با 50 API مختلف باشد. یکی از الگوهای رایج امنیتی که مشاهده میکنیم، توکنهای دسترسی با دسترسی بیش از حد است.
این مشکل زمانی رخ میدهد که یک کلاینت مجموعهای گسترده از scopeها را درخواست کند و یک توکن دسترسی واحد دریافت کند که شامل تمام ادعاهای صادر شده است. در حالی که درخواست چندین scope به طور همزمان میتواند راحت باشد، اما توکن صادر شده یک مشکل اعتماد را ایجاد میکند. اگر API حمل و نقل به خطر بیفتد و توکن نشت کند، یک مهاجم میتواند از آن برای دسترسی به API فاکتور استفاده کند.
Resource Isolation به عنوان راه حلی برای این مشکل معرفی شده است. این ویژگی بر اساس RFC 8707 به شما امکان میدهد مرزهای اعتماد سختگیرانهای را بین APIهای خود اعمال کنید و اطمینان حاصل کنید که یک توکن فقط برای هدف خاصی که برای آن صادر شده است معتبر است. در OAuth 2.0، ادعای aud به API میگوید "این توکن برای شماست". با این حال، در بسیاری از پیادهسازیهای پیشفرض، مخاطب یا یک مقدار واحد به اشتراک گذاشته شده توسط همه APIها است یا لیستی از تمام مخاطبان معتبر.
این رویکرد در سیستمهای بزرگ میتواند مشکلساز باشد. Resource Isolation با محدود کردن دامنه توکن به API خاصی که به آن نیاز دارد، این مشکل را حل میکند. این امر به کاهش سطح دسترسی در صورت به خطر افتادن توکن کمک میکند و سطح امنیتی کلی را بهبود میبخشد. این ویژگی به ویژه در محیطهای میکروسرویس که چندین API درگیر هستند، مفید است.
مشاهده مطلب اصلی