دو فروشنده، یک مصنوع گمشده
Descope's Agentic Identity Hub 3.0 و ServiceNow's AI Passport هر دو پاسخهای معقولی به یک مسئله واقعی هستند: فراخوانهای غیرانسانی سریعتر از آنچه پشته هویت برای جذب طراحی شده بود، تکثیر میشوند. هر دو محصول موضع معماری مشابهی اتخاذ میکنند. یک عامل یک اعتبارنامه میگیرد، آن اعتبارنامه به یک gateway یا یک API ارائه میشود، و سرویس گیرنده تصمیم میگیرد که آیا فراخوان را بپذیرد یا نه. پوشش خبری پیرامون هر دو اعلامیه این را به عنوان یک پیشرفت هویتی قالببندی میکند (پوشش Descope، پوشش ServiceNow.
هر دو چیزی را فرض میکنند که هیچکدام ارائه نمیدهند. هر پاسپورت، هاب و قالب اعتبارنامه فرض میکند که یک principal قابلحل در سمت سازمان وجود دارد: یک شناسه پایدار برای عامل، یک مالک نامدار (انسان یا سیستم)، یک دامنه تعریفشده، و یک چرخه عمر. در بیشتر سازمانها آن دفتر ثبت به هیچ شکل معتبری وجود ندارد. principalهای عامل در وضعیت Terraform، یک فضای نام حساب سرویس Kubernetes، یک کنسول فروشنده، و یک صفحهگسترده که توسط آخرین کسی که مسئله به او ارجاع شده نگهداری میشود، زندگی میکنند.
عاملهای سایه نشانه قابلمشاهده هستند. علت یک دفتر راهنمای principal ناقص است. وقتی هیچ مکان متعارفی برای ثبت یک عامل وجود ندارد، تیمها آن را هر جایی که کار اتفاق میافتد ثبت میکنند، و موجودی حاصل مجموعهای از نماهای جزئی است که هیچ فرایند حاکمیتی نمیتواند آنها را تطبیق دهد. یک اعتبارنامه صادرشده علیه یک principal مبهم این را حل نمیکند؛ بلکه یک امضای رمزنگاری به یک پرسش حلنشده اضافه میکند.

آنچه یک پاسپورت نمیتواند تصدیق کند
یک اعتبارنامه اثبات میکند چه کسی فراخوانی میکند. اثبات نمیکند که فراخوان در آن لحظه مجاز به انجام چه کاری بود، و اثبات نمیکند که مجوز هنوز معتبر است. اینها پرسشهای دفتر راهنما هستند، و با دادهای پاسخ داده میشوند که قالب اعتبارنامه حمل نمیکند.
یک زنجیره تفویض را در نظر بگیرید. یک اپراتور انسانی یک عامل ارکستراسیون را مجاز میکند، که یک زیرعامل تولید میکند، که یک ابزار را فراخوانی میکند. هر گام ممکن است یک توکن مشتقشده ضرب کند. زنجیره تنها در صورتی معتبر است که یک حالت پایانی داشته باشد: وقتی مجوز انسان لغو میشود، هر توکن مشتقشده در پاییندست باید غیرقابلاستفاده شود. بدون آن ویژگی، لغو جنبه توصیهای دارد. زیرعامل به کار خود ادامه میدهد چون توکنش زمانی امضا شده که زنجیره معتبر بود و هیچ چیزی در توکن اشارهگری به ورودی دفتر راهنما که میتواند آن را باطل کند حمل نمیکند.
این همان مسئله حساب سرویس طولانیمدت با واژگانی جدید است. یک حساب سرویس با یک راز ایستا و بدون انقضا خطرناک است چون هیچ چیزی بازبینی را الزامی نمیکند. یک پاسپورت عامل بدون اتصال چرخه عمر همان شکل را دارد: هویت را در زمان صدور تصدیق میکند و هیچ چیزی درباره اینکه آیا principal پشت آن هنوز وجود دارد، هنوز همان مالک را دارد، یا هنوز همان دامنهها را در اختیار دارد، نمیگوید.
یک مکانیزم مشخص که این را حل میکند این است که اعتبارنامه را کوتاهمدت کنیم و هر توکن را به یک بازبینی دفتر ثبت متصل کنیم. توکن یک شناسه principal و یک مهر نسخه دفتر ثبت حمل میکند. gateway فقط به امضا اعتماد نمیکند؛ principal را در زمان درخواست علیه دفتر ثبت حل میکند و فراخوان را رد میکند اگر بازبینی دفتر ثبت از مهر توکن فراتر رفته باشد به شکلی که دامنه یا مالکیت را تغییر دهد. لغو سپس به یک نوشتن در دفتر ثبت تبدیل میشود، و انتشار بستگی دارد به اینکه gatewayها چقدر سریع نمای خود از دفتر ثبت را تازه میکنند نه به اینکه چند توکن صادر شده است.
معامله صادقانه تأخیر و جفتشدگی است. هر درخواست اکنون شامل یک جستجوی دفتر راهنما یا یک نمای کششده با زمان زندگی کوتاه است. آن جستجو یک وابستگی است: اگر دفتر ثبت در دسترس نباشد و کش منقضی شده باشد، پیشفرض fail-closed ترافیک مشروع را رد میکند. تیمهایی که fail-open را برای محافظت از دسترسپذیری انتخاب میکنند، مسئله اصلی را دوباره معرفی کردهاند، چون یک کش کهنه و یک principal لغوشده از دید gateway یکسان به نظر میرسند. تصمیم طراحی این نیست که آیا این وابستگی اضافه شود بلکه کجا قرار گیرد و چگونه شعاع انفجار هنگام شکست محدود شود.
یک توالی دفتر ثبت-اول
ترتیب عملی این است: دفتر ثبت، سپس دامنهها، سپس قالب اعتبارنامه. انتخاب یک محصول پاسپورت قبل از وجود دفتر راهنمای principal به این معناست که محصول علیه هر موجودی که در دسترس باشد پیکربندی میشود، که همان موجودی جزئی است که مسئله را ایجاد کرد.
با شمارش principalهای عامل شروع کنید. برای هر یک ثبت کنید:
- یک شناسه پایدار که نام زمان اجرای فعلی نیست، چون زمانهای اجرا تغییر نام میدهند
- یک مالک، که به عنوان یک شیء دفتر راهنما بیان شود نه یک نام تیم در یک تیکت
- دامنههایی که عامل میتواند اعمال کند، به عنوان جفتهای صریح منبع-و-عمل
- یک تاریخ انقضا یا بازبینی، تا هیچ principal به طور پیشفرض به طور نامحدود معتبر نباشد
- زنجیره تفویضی که در آن شرکت میکند، شامل اینکه کدام principalها میتوانند آن را تولید کنند
این کار غیرجذاب است و همان کاری است که تعیین میکند آیا هر چیزی در پاییندست دوام میآورد. یک شمارش که فهرستی از نامهای عامل بدون مالک و دامنه تولید میکند یک دفتر ثبت نیست؛ یک موجودی است، و از لغو پشتیبانی نخواهد کرد.
تغییرات دامنه باید رویدادهای کنترلشده تغییر با یک تأییدکننده ثبتشده باشند. مکانیزم کمتر از ویژگی اهمیت دارد: وقتی مجموعه دامنه یک عامل تغییر میکند، سابقهای از اینکه چه کسی تغییر را تأیید کرده و چه زمانی وجود دارد، و تغییر یک بازبینی جدید دفتر ثبت تولید میکند. آن بازبینی همان چیزی است که gatewayها و sandboxها میخوانند. یک sandbox که یک محیط عامل را فراهم میکند باید دامنهها را از دفتر ثبت بخواند نه از یک manifest که در کنار کد عامل commit شده، چون manifest دچار رانش میشود و دفتر ثبت منبع حقیقت است.
همان دفتر ثبت باید پشتیبان صادرکننده اعتبارنامه باشد. وقتی صادرکننده یک توکن ضرب میکند، principal و مجموعه دامنه را از دفتر ثبت میخواند و بازبینی را مهر میکند. وقتی مالک تغییر میکند، دفتر ثبت تغییر میکند و صدور بعدی آن را منعکس میکند. وقتی یک principal بازنشسته میشود، دفتر ثبت آن را بازنشسته علامت میزند و gatewayها توکنهای حامل آن شناسه را صرفنظر از اعتبار امضا رد میکنند.

بودجه حاکمیت کجا باید صرف شود
غریر به خرید یک قالب اعتبارنامه ابتدا قابل درک است. پاسپورتها و هابها قابل نمایش هستند، به یک خط تدارکات نگاشت میشوند، و یک مصنوع قابل مشاهده تولید میکنند. یک دفتر ثبت یک صفحهگسترده و مجموعهای از بحثها درباره مالکیت تولید میکند، که ارائه و تأمین بودجه آن سختتر است.
اما اعتبارنامه در پاییندست دفتر راهنما قرار دارد. یک پاسپورت صادرشده علیه یک principal غیرقابلحل یک ادعای امضاشده است که نمیتوان آن را علیه هیچ چیز معتبری تأیید کرد، و یک هاب که بر چنین ادعاهایی مسیریابی میکند یک مسیر خوب ابزارگذاریشده برای همان عاملهای سایه است که قرار بود افشا کند. دفتر ثبت همان مصنوعی است که اعتبارنامه را معنادار میکند، و همان چیزی است که باید ابتدا وجود داشته باشد. شمارش، مدل مالکیت و مسیر لغو را تأمین مالی کنید، سپس قالبی را انتخاب کنید که از آنها میخواند.
پرسشهای متداول
چرا یک اعتبارنامه به تنهایی کافی نیست؟ یک اعتبارنامه هویت را در زمان صدور تصدیق میکند. دامنه فعلی، مالکیت یا وضعیت چرخه عمر را حمل نمیکند، بنابراین نمیتواند پاسخ دهد که آیا فراخوان در لحظه فراخوانی هنوز مجاز است.
چه چیزی یک زنجیره تفویض را قابل لغو میکند؟ یک حالت پایانی در دفتر راهنما. وقتی مجوز انسان مبدأ لغو میشود، توکنهای مشتقشده باید غیرقابلاستفاده شوند، که نیازمند آن است که gatewayها توکنها را علیه یک بازبینی دفتر ثبت حل کنند نه اینکه فقط به امضا اعتماد کنند.
حداقل دفتر ثبت عامل قابل اجرا چیست؟ یک شناسه principal پایدار، یک مالک پشتیبانیشده توسط دفتر راهنما، دامنههای صریح منبع-و-عمل، یک تاریخ بازبینی یا انقضا، و روابط تفویضی که principal در آنها شرکت میکند.
هزینه اصلی هویت دفتر ثبت-اول چیست؟ هر درخواست به یک جستجوی دفتر راهنما یا یک کش کوتاهمدت وابسته است. fail-closed صحت را به قیمت دسترسپذیری در طول قطعی دفتر ثبت محافظت میکند؛ fail-open دسترسپذیری را به قیمت تضمینهای لغو محافظت میکند.
