My organization employs a number of services that expose REST interfaces. POST, PUT or DELETE requests to such an interface can be destructive. Using firewalls and user authentication, we can restrict the accces to authorized personel. I'd like to take it one step further and require approval from two persons before a request is handled by the application server.
Is there a reverse proxy that I can employ in between the user(s) and the application server such that any GET request if forwarded to the application server immediatelly. However, any POST or PUT request is delayed until approved on an interactive web page. (The requests in question typically contain a JSON body and the URL and HTTP verb is quite descriptive.)
So, if Alice does
curl -XDELETE https://some.api/important/resource,
this won't have an effect until Bob opens a web browser and explicitly OKs it. Alice may use a script to perfom the operation, but Bob has to be present at the browser and verify the request.