How can a consumer be prevented from circumventing a service
and directly accessing its resources?
Problem
A consumer that accesses backend resources of a service directly
can compromise the integrity of the resources and can further
lead to undesirable forms of implementation coupling.
Solution
The service is designed to use its own credentials for
authentication and authorization with backend resources on
behalf of consumers.
Application
Depending on the nature of the underlying resources, various
design options and security technologies can be applied.
Impacts
If this type of service is compromised by attackers or
unauthorized consumers, it can be exploited to gain access to a
wide range of downstream resources.
Neither a malicious or non-malicious consumer can access the database directly. Only the service itself can access the database with its own credentials.
Related Patterns in This Catalog Brokered Authentication (Hogg, Smith, Chong, Hollander, Kozaczynski, Brader, Delgado, Taylor, Wall, Slater, Imran, Cibraro, Cunningham),
Direct Authentication (Hogg, Smith, Chong, Hollander, Kozaczynski, Brader, Delgado, Taylor, Wall, Slater, Imran, Cibraro, Cunningham)
This page contains excerpts from:
SOA Design Patterns by Thomas Erl
Foreword by Grady Booch
With contributions from David Chappell, Jason Hogg, Anish Karmarkar, Mark Little, David Orchard, Satadru Roy, Thomas Rischbeck, Arnaud Simon, Clemens Utschig, Dennis Wisnosky, and others.
(ISBN: 0136135161, Hardcover, Full-Color, 400+ Illustrations, 865 pages)
For more information about this book, visitwww.soabooks.com.