@startuml authoverview !include !include AddElementTag("smart-contract", $bgColor=#0abab5) Person(user, "User", "User with private key") Container_Boundary(stor, "FrostFS Storage") { Component(verify, "Sign Service", $descr="Check request signature") Component(apesvc, "APE Service") Component(objsvc, "Object service") } Container_Boundary(neogo, "Blockchain") { Interface "NeoGo" Component(ffsid, "FrostFS ID", $tags="smart-contract", $descr="Stores namespaces and users") Component(policy, "Policy", $tags="smart-contract", $descr="Stores APE rules") } Rel_R(user, verify, "Requests", "gRPC") Rel_R(verify, apesvc, "Access control") Rel_R(apesvc, objsvc, "Operation") Rel_D(apesvc, NeoGo, "Get data to validate request") Rel("NeoGo", ffsid, "Fetch users") Rel("NeoGo", policy, "Fetch policies") SHOW_LEGEND(true) @enduml