Our customer doesn't seem to like this simple architecture anymore and he is asking us to add a layer for security purposes, his idea being that no service reachable by users should talk directly to the database because if the service gets hacked then the whole database is exposed. He suggests we add another gateway layer which cannot connect to the database, this gateway layer then should connect to the backend service instead; the backend service wouldn't be directly exposed to the clients anymore (see the second sequence diagram)
I've never seen this pattern explicitly described in literature as a security feature and it seems kind-of pointless but I might be wrong, maybe it makes sense in some contexts. So is it a good practice? Does this pattern have a name?