A DigitalOcean bemutatta, hogyan ellenőrzi az ügynökök külső műveleteit

A DigitalOcean Action Gateway nevű rétege ellenőrzi, hogy egy Managed Agents ügynök milyen külső eszközöket és milyen feltételekkel használhat. A rendszer külön kezeli az ügynök javaslatát, a jogosultságot, az esetleges emberi jóváhagyást és a végrehajtást.
- Az Action Gateway a modell eszközhívási javaslatát nem tekinti automatikus jogosultságnak.
- A rendszer a külső API-kat és eszközöket szabályok, kapcsolatok és hívói identitás alapján kezeli.
- Az eszközkeresés eredménye nem jelent végrehajtási engedélyt, a hívást újra ellenőrzik.
- Az emberi jóváhagyás az adott eszközhöz, bemenetekhez és kapcsolathoz kötődik.
- A Gateway MCP-kompatibilis ügyfeleket és a Managed Agents környezetét is kiszolgálhatja.
A modell kérése még nem jogosultság
A DigitalOcean által bemutatott példa szerint egy kódoló ügynök elkészít egy módosítást, majd GitHub-kiadást szeretne létrehozni a munkájára mutató hivatkozással. Az ügynök meg tudja fogalmazni a kérést, a külső rendszer meghívásához azonban külön eszközre, megfelelő kapcsolatra és szabályokra van szükség.
Az Action Gateway alapelve, hogy a modell eszközhívásra vonatkozó javaslata csak kérés, nem felhatalmazás. A rendszer azonosítja a hívót és az eszközt, ellenőrzi az adott műveletre vonatkozó szabályokat, majd csak engedélyezett esetben indítja el a hívást. A szolgáltatói hitelesítő adatok a DigitalOcean szerint a modell kontextusán és a modell által írt kódon kívül maradnak.
Külön határ választja el a helyi és a külső műveleteket
Az ügynök saját környezetében végzett műveletei, például egy fájl olvasása, a pytest futtatása vagy egy tárhely szerkesztése, a saját munkaterületéhez tartoznak. Egy GitHub-kiadás létrehozása vagy egy hibajegy frissítése ezzel szemben külső API-t érint, gyakran hitelesítő adattal és mások számára látható változással.
Az Action Gateway ezt a külső munkát szabályozza. Az eszközleírások tartalmazzák az eszköz feladatát, a bemenetek formáját, valamint a szükséges kapcsolatot és szabályokat. Az ügyfél Toolbeltje ezek válogatott gyűjteménye az adott ügynök vagy feladat számára. A DigitalOcean ezt menüként írja le, nem automatikus engedélyként: egy eszköz szerepelhet a listán úgy is, hogy egy szabály vagy érvényes kapcsolat hiánya miatt a hívása tiltott.
A Gateway nem ellenőrzi az ügynök által helyben futtatott parancsokat és a saját eszközútvonalán kívüli hálózati hívásokat. Ezeket a futtatási környezet és annak hálózati szabályai kezelik.
Keresés, újraellenőrzés és emberi jóváhagyás
Az MCP-végpont lehetővé teszi, hogy MCP-kompatibilis ügyfelek egyedi integráció nélkül csatlakozzanak. Kisebb, válogatott Toolbelt esetén a Gateway konkrét eszközöket tehet elérhetővé. Nagyobb eszközgyűjteménynél három metaeszközt használhat: az action.search a jelölteket keresi, az action.invoke a kiválasztott eszközt futtatja, az action.code pedig az egymástól függő hívásokat hangolja össze.
A keresés csak a hívó számára engedélyezett eszközök között válogat. A találat azonban még nem jelent végrehajtási engedélyt. Az action.invoke a hívás pillanatában ismét ellenőrzi az aktuális szabályokat és kapcsolatot. Így egy időközben megváltozott engedély felülírhatja a korábbi keresési eredményt.
A szabály háromféle döntést támogathat: engedélyezést, tiltást vagy emberi jóváhagyást igénylő „ask” állapotot. A tiltott hívás leáll, a jóváhagyásra váró kérés pedig a hívó alkalmazás felületén vár döntésre. A jóváhagyásnak az adott eszközhöz, bemenetekhez és kapcsolathoz kell kötődnie. Ha ezek az adatok a jóváhagyás után megváltoznak, az eredeti döntés nem használható fel.
A DigitalOcean szerint egy elutasított, lejárt vagy nem támogatott jóváhagyás nem alakítható automatikusan engedélyezéssé. Ezért a fejlesztőnek ellenőriznie kell, hogy a választott MCP-ügyfél vagy alkalmazás képes-e megjeleníteni és kezelni az ilyen kéréseket.
A kapcsolat hozzáférést ad, a szabály engedélyez
Az Action Gateway különválasztja a hitelesítést és a jogosultságkezelést. A hitelesítés azt állapítja meg, ki küldi a kérést, például DigitalOcean API-kulcs, konzolmunkamenet vagy megbízható belső szolgáltatási identitás alapján. A jogosultságkezelés azt dönti el, hogy az adott hívó végrehajthatja-e az adott eszközt az aktuális szabályok szerint.
Egy GitHub-kapcsolat megléte önmagában nem jelenti azt, hogy minden ügynök kiadásokat hozhat létre. A szolgáltató saját jogosultságai továbbra is érvényesek, miközben a Gateway azt határozza meg, hogy az adott ügynök egyáltalán elindíthatja-e a műveletet. A DigitalOcean példája szerint egy csapat külön olvasási és írási kapcsolattal tarthatja fenn a rutinszerű lekérdezéseket, miközben a külső rendszerek módosításait szigorúbb szabályokhoz köti.
A Managed Agents futtatási környezete közvetlenül használhatja a Gatewayt, más alkalmazások MCP-ügyfélként kapcsolódhatnak, a kapcsolatok és eszközök pedig konzolból is konfigurálhatók. A DigitalOcean szerint a kérés érkezési módjától függetlenül ugyanazok a szabályok döntik el, hogy a művelet engedélyezett-e.
DigitalOcean: Inside Action Gateway in Managed Agents


