TrustGraph
Który agent może rozmawiać z którym i co może powiedzieć.
Co to robi
Żądania między agentami są autoryzowane przed wykonaniem: wywołujący otrzymuje jednorazowy token o ograniczonym zakresie, żądanie przechodzi przez jawną maszynę stanów, a każde powiązanie między dwoma agentami wiąże się z decyzją o zaufaniu rejestrowaną do celów audytu. Poziomy ujawniania informacji określają nie tylko to, czy agent może odpowiedzieć, ale także jak dużą część odpowiedzi może ujawnić.
Dlaczego to ma znaczenie
Gdy masz więcej niż jednego agenta, najgroźniejszym błędem nie jest błędna odpowiedź, lecz sytuacja, w której agent A dowiaduje się czegoś, co powinien wiedzieć tylko agent B. Uprawnienia między agentami muszą mieć strukturę grafu z decyzjami na krawędziach, ponieważ taki kształt ma w rzeczywistości ten problem.
Jak to działa
Autoryzacja odbywa się przed wykonaniem, a nie po nim
Punkt wejścia między agentami najpierw rozstrzyga decyzję o zaufaniu; nieautoryzowane wywołanie nigdy nie trafia do modelu.
Tokeny wywołującego mają ograniczony zakres i są jednorazowe
Delegowanie niesie ze sobą token wygenerowany dla danego kroku, rejestrowany w księdze, a nie dane uwierzytelniające wielokrotnego użytku.
Ujawnianie informacji jest stopniowane, a nie binarne
Decyzja może zezwolić na odpowiedź na niższym poziomie ujawnienia, zamiast wybierać między pełnym dostępem a odmową.
Pytania
- Przed czym to właściwie chroni?
- Przed wyciągnięciem przez jednego agenta od drugiego czegoś, na udostępnienie czego jego właściciel nigdy nie wyraził zgody: to wieloagentowa wersja błędu uprawnień, czyli najgorzej skalujący się rodzaj awarii.
- Czy mogę sprawdzić, dlaczego żądanie zostało odrzucone?
- Decyzje są rejestrowane dla każdego powiązania i widoczne dla administratorów. Bardziej szczegółowe wyjaśnienie dla użytkownika końcowego („dlaczego zablokowano”) jest skromniejsze niż stojące za nim mechanizmy wymuszania i wolelibyśmy postawić sprawę jasno.
The rest of the bag
AccessControl
Uprawnienia na poziomie dokumentu, które filtrują odpowiedzi, a nie tylko strony.
Rozstrzyganie polityki jest buforowane dla każdej sesji w celu zwiększenia szybkości; zmiana uprawnień propaguje się po unieważnieniu pamięci podręcznej, a nie natychmiast dla każdego przetwarzanego żądania.
Dokumentacja
Drzewo folderów, które agent odczytuje, oraz plik konfiguracyjny, którego przestrzega.
Ekstrakcja obejmuje pliki PDF, arkusze kalkulacyjne i transkrypcje. Egzotyczne formaty binarne nie są analizowane.
Zdarzenia
Trwały rejestr tego, co zrobili agenci i dlaczego.
Szyna zdarzeń wewnątrzprocesowych to emiter jednowęzłowy, a nie rozproszony broker. Trwały rejestr międzyagentowy to osobny rejestr zadań w bazie Postgres.
That was step 3 of 6: a trust decision resolves. Next, policy filters what is retrievable before generation, so a document you cannot open cannot be paraphrased at you.