AWS детайлно описа подход за разпространение на контекста за оторизация на потребителите чрез AI агенти, което позволява контролът на достъпа да бъде налаган от инфраструктурата и услугите по веригата, вместо да се разчита на самия агент.

Клиентите, използващи Amazon Bedrock AgentCore, могат да изграждат AI агенти, които извличат информация от таблици на Amazon DynamoDB, хранилища за документи, SaaS платформи и вътрешни бази от знания, за да отговарят на въпроси и да автоматизират работни процеси. Без осведоменост за потребителя, който прави заявката обаче, даден агент може да върне информация, която потребителят не е оторизиран да вижда.

„Агентът действа като оркестратор, а не като пазач“, обяснява AWS. „Оторизацията се налага от услугите по веригата.“

AWS илюстрира подхода с CRM приложение, при което служители от отдел „Продажби“ и „Финанси“ взаимодействат с един и същ AI агент за достъп до клиентска информация. Служителите по продажбите се нуждаят от достъп до договори с клиенти, ценови стратегии и данни за продажбите, докато служителите от отдел „Финанси“ се нуждаят от достъп до фактури, платежни нареждания и финансови отчети. Агентът може да извлича информация от Amazon DynamoDB, документи, съхранявани в Amazon Bedrock Knowledge Bases, и външни услуги като Salesforce. Когато служител по продажбите поиска да види договори с клиенти например, агентът трябва да може да извлича само информация, достъпна за отдел „Продажби“, но не и финансови данни.

От AWS заявиха, че налагането на тези ограничения извън агента осигурява защита, дори ако агентът бъде манипулиран чрез импулсно инжектиране (prompt injection) или бъде засегнат от грешка в приложението.

Потребителска идентичност и оторизация

Служителите първо се удостоверяват с фирмените си идентификационни данни. AWS използва Amazon Cognito като доставчик на идентичност в своя пример, въпреки че могат да се използват също Microsoft Entra ID и Okta. Информацията за служителя, като например неговия отдел, се добавя към неговите токени за удостоверяване и се пренася със заявките към агента.

Amazon Bedrock AgentCore Runtime валидира токена на потребителя и проверява неговата информация за оторизация, преди да позволи на заявката да достигне до агента. Заявки от потребители, които не отговарят на конфигурираните изисквания, могат да бъдат отхвърлени преди стартирането на агента. Контекстът за оторизация може след това да бъде предаден, когато агентът осъществява достъп до други услуги, което позволява на тези услуги да определят до коя информация потребителят има разрешение за достъп.

Контролът на достъпа остава извън агента

AWS демонстрира подхода в DynamoDB, Amazon Bedrock Knowledge Bases и Salesforce. За DynamoDB достъпът може да бъде ограничен до записи, свързани с отдела на потребителя. Salesforce може по подобен начин да прилага свои собствени правила за споделяне, така че агентът да получава само записи, достъпни за конкретния потребител. Amazon Bedrock Knowledge Bases използва филтриране на метаданни, за да ограничи извлечените документи до съответния отдел. AWS отбелязва, че този контрол работи на приложния слой и препоръчва отделни бази от знания с IAM политики, където се изисква по-строго изолиране.

По-широката цел е да се избегне предоставянето на широк достъп на AI агент и да му се има доверие, че ще филтрира правилно чувствителната информация. Вместо това AWS препоръчва конфигуриране на базовите услуги да отхвърлят неоторизирани заявки „независимо от това какво иска агентът“.

„По този начин идентификационните данни на агента са по подразбиране ограничени до разрешенията на заявяващия потребител и никое количество манипулации на подканите не може да заобиколи тези граници“, заключават авторите Аншу Батла, Прафул Гупта и Рохит Верма.