به گزارش از وبسایت cncf

من همیشه عامل‌های هوش مصنوعی را نوعی microservices+ تلقی کرده‌ام؛ به این معنا که آن‌ها به مجموعه‌ای از قابلیت‌ها نیاز دارند که فراتر از میکروسرویس‌های سنتی است. از جمله این نیازها می‌توان به احراز هویت قوی‌تر، اجرای سیاست‌های دقیق‌تر و مشاهده‌پذیری گسترده‌تر اشاره کرد.

به‌طور مشخص، عامل‌ها معمولاً به احراز هویت پیچیده‌تری نیاز دارند چون ممکن است از طرف چندین کاربر مختلف عمل کنند. آن‌ها همچنین نیازمند سیاست‌های سفت‌وسخت‌تری هستند، زیرا رفتار یک agent می‌تواند پیش‌بینی‌ناپذیرتر باشد و لازم است نرده‌های حفاظتی و اجرای policy اعمال شود. علاوه بر این، مشاهده‌پذیری (observability) در سطح زمینه، درخواست‌ها، فراخوانی ابزارها و محتوای درخواست‌ها و پاسخ‌ها اهمیت ویژه‌ای دارد.

برای درک بهتر موضوع، همیشه به تجربه‌ای شخصی فکر می‌کنم — وقتی سال‌ها پیش برای یک بلیط راهنمایی و رانندگی وکیلی گرفتم تا از من دفاع کند؛ که آن اولین و تا کنون تنها بلیت ترافیک من بود 😅. این تصویر ذهنی کمک می‌کند تا مفهوم agent auth روشن‌تر شود: وکالت در دادگاه مانند یک عامل هوش مصنوعی است که درخواستی از طرفِ یک کاربر دریافت کرده و اقداماتی را به نمایندگی از او انجام می‌دهد.

قاضی ابتدا از وکیل می‌خواهد هویت خود را ثابت کند؛ این همان هویت عامل (agent identity) است. سپس می‌پرسد «امروز نماینده چه کسی هستید؟» — که نشان‌دهنده هویت اصلی (principal identity) یا on-behalf-of است. در سیستم‌های عامل این نمایندگی معمولاً با یک توکن نمایندگی مثل OBO نشان داده می‌شود. این توکن اطلاعاتی مثل: هویت اصلی (مثلاً Alice)، هویت نماینده، مجوزهای تفویض‌شده و محدوده‌های (scope) تفویض را در خود حمل می‌کند.

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

در دادگاه، وکیل و قاضی این پیچیدگی‌ها را مدیریت می‌کنند: هویت‌ها را تأیید می‌کنند، مدارک و صلاحیت‌ها را بررسی می‌کنند و قوانین دادگاه را اعمال می‌نمایند. در یک پلتفرم فنی نیز به زیرساختی مشابه نیاز داریم. یک پلتفرم عامل باید بتواند هویت قوی برای agent ایجاد کند، هویت اصلی را در سراسر درخواست‌ها منتقل نماید، توکن‌های تفویض را صادر و اعتبارسنجی کند، policyها و scopes را اجرا کند و مسیرهای مشاهده‌پذیری و ممیزی (audit) را برای اعمال agent فراهم آورد.

در اینجا یک agent gateway یا mesh بومی هوش مصنوعی می‌تواند نقش کلیدی ایفا کند: به‌جای اینکه هر agent به‌صورت مستقل هویت، تفویض اختیار، اجرای policy و ممیزی را مدیریت کند، دروازه و مش می‌توانند این قابلیت‌ها را متمرکز سازند. در واقع، agent gateway همانند ترکیبی از منشی دادگاه، ضابط اجرایی و دفتر سوابق عمل می‌کند: هویت‌ها را تأیید می‌کند، نمایندگی‌ها را اثبات می‌کند، policyها را اعمال می‌نماید و اعمال را قابل حسابرسی می‌سازد. با ترکیب فناوری‌های هویت و mesh موجود مثل SPIFFE، cert-manager، Istio و agentgateway می‌توان پلتفرمی ساخت که در آن agentها بر منطق تجاری متمرکز شوند و پلتفرم، هویت، تفویض اختیار، اجرای سیاست‌ها و مشاهده‌پذیری را مدیریت کند.

ایدهٔ اصلی ساده است: یک وکیل موکل نیست و یک agent صرفاً کاربر نیست — هر کدام با هویت خود عمل می‌کنند، اما به نمایندگی از دیگری و تحت یک مأموریت و محدودهٔ مشخص. agent auth اساساً دربارهٔ بیان صریح، قابل‌تأیید و قابل‌اجرایی آن رابطه است 🔐