هویت چه چیزی را حل میکند و چه چیزی را باز میگذارد
زیرساخت اعتباردهی برای ایجنتهای خودمختار به سرعت بالغ شده است و اصول بنیادین آن عمدتاً تثبیت شدهاند. فدراسیون هویت بار کاری به یک ایجنت در حال اجرا اجازه میدهد بدون یک راز بلندمدت، یک اعتبار کوتاهمدت به دست آورد. صدور و چرخش توکن خودکار شده است. ابطال در عرض چند ثانیه منتشر میشود. محدودسازی مخاطب و ادعاهای دامنه، دامنه ارائه یک توکن را محدود میکنند. اینها کنترلهای واقعی هستند و هر پلتفرم ایجنتی که آنها را نادیده بگیرد، مرتکب یک خطای غیرضروری شده است.
اما یک توکن دامنهدار به یک پرسش پاسخ میدهد: آیا این اصل میتواند این نقطه پایانی را فراخوانی کند. به پرسشی که از نظر عملیاتی اهمیت دارد پاسخ نمیدهد: آیا این زنجیره فراخوانیها با وظیفهای که کاربر درخواست کرده سازگار است. یک توکن میتواند کاملاً معتبر، بهدرستی دامنهدار، منقضینشده و باطلنشده باشد، در حالی که مسیری که در آن مشارکت دارد کاری انجام میدهد که کاربر هرگز آن را مجاز ندانسته است.
شکاف ترکیب
اختیار در طول یک مسیر انباشته میشود. این همان خاصیتی است که کمترین سطح دسترسی در سطح نقطه پایانی را میشکند. فرض کنید یک ایجنت توکنی دارد که خواندن یک رکورد مشتری را مجاز میکند و توکنی که نوشتن در یک سیستم تیکتینگ را مجاز میکند. هر دو محدود هستند. هیچچیز در هیچیک از این توکنها محدود نمیکند که چند رکورد خوانده شود، به چه ترتیبی، یا پس از خواندنها چه چیزی نوشته شود. ایجنتی که ده هزار رکورد را یکییکی میخواند، هرگز در هیچ فراخوانی واحدی از دامنه خود فراتر نمیرود. حجم، جهت جریان داده و ترکیب منابع همگی بیرون از آن چیزی هستند که دستور زبان اعتبار میتواند بیان کند.
تفویض این شکاف را گستردهتر میکند. یک ارکستراتوری که میتواند زیراعتبارهایی برای ایجنتهای کارگر صادر کند، در عمل میتواند دامنه دسترسی خود را گسترش دهد: به توکنی گستردهتر نیاز ندارد، بلکه باید چندین توکن محدود صادر کند و آنها را هماهنگ کند. بررسی دامنه در هر نقطه پایانی موفق میشود. اختیار مؤثر این ازدحام، اجتماع همه چیزهایی است که صادر کرده، و هیچچیز در مسیر صدور آن اجتماع را در برابر وظیفه اصلی ارزیابی نمیکند.

این نقص سیستمهای هویت نیست. این یک مرز مقولهای است. هویت درباره این است که چه کسی فراخوانی میکند. شکاف درباره این است که فراخوانیها به چه چیزی میرسند.
قصد بهعنوان واحد سیاست
کنترلی که شکاف را میبندد این است که قصد، نه هویت، واحد سیاست شود. قصد وظیفه را در کنار اعتبار اعلام کنید، به شکلی که یک موتور سیاست بتواند ارزیابی کند: کاربر چه چیزی درخواست کرده، چه کلاسهای دادهای در دامنه هستند، چه مقصدهایی مشروعاند، شکل مورد انتظار مسیر چیست. سپس هر فراخوانی ابزار پیشنهادی را در برابر آن قصد ارزیابی کنید، نه صرفاً در برابر دامنه فراخوان.
بهطور مشخص، یک نقطه تصمیمگیری سیاست در مقابل فراخوانی ابزار، فراخوانی پیشنهادی بههمراه مسیر تا این لحظه را دریافت میکند و allow، deny یا require-approval را برمیگرداند. اعلام قصد یک شیء ساختاریافته است، نه یک پرامپت متنی، بنابراین تصمیم قابل بازتولید و قابل حسابرسی است. فراخوانیای که بهصورت جداگانه مجاز است اما با قصد اعلامشده ناسازگار است، رد میشود. خواندن یک رکورد مشتری برای پاسخ به یک پرسش پشتیبانی سازگار است. خواندن کل جدول نیست، حتی اگر همان توکن هر دو را مجاز کند.
قصد باید دوباره اعلام شود، نه اینکه بهطور نامحدود به ارث برسد. مسیری که شکلش تغییر میکند، چون کاربر یک نیاز افزوده، چون یک زیرایجنت ایجاد شده، یا چون برنامه بازنگری شده، باید یک اعلام قصد تازه با دامنه و انقضای خودش داشته باشد. به ارث بردن قصد اصلی تا ابد، همان روشی است که یک وظیفه محدود بیسروصدا به یک وظیفه گسترده تبدیل میشود. این بدهبستان واقعی است: اعلام دوباره اصطکاک و تأخیر اضافه میکند و موتور سیاستی که بیش از حد سختگیر باشد، کار مشروع را مسدود میکند. موضع صادقانه این است که سیاست در سطح قصد مقداری توان عملیاتی را با محدودیتی بر اثر تجمعی معاوضه میکند و همی
نخست، یک نقطه تصمیمگیری سیاست در مقابل فراخوانی ابزار، با مسیر بهعنوان زمینه. این تنها جایی است که میتواند ترکیب را پیش از تکمیل ببیند. به قصد اعلامشده، تاریخچه فراخوانیها و راهی برای طبقهبندی کلاسهای داده و مقصد فراخوانی پیشنهادی نیاز دارد. تصمیم باید همراه با شناسه مسیر ثبت شود تا واگرایی بعداً بازسازی شود.

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