Authorization
Within some parts of Adaptive Framework, a decision has to be made on
whether to permit an operation or not. These decisions may invoke
external logic to execute through a process collectively known as
Authorization
. For instance, when a client wishes to
update the property of an object, or request that a new extension be
loaded, or a service to be stopped, we invoke Authorization code, when
such code is available. This gives administrators the ability to plug
in their own authorization logic, and to make decisions based on
business policy.
How Adaptive Framework locates the appropriate Authorization policy to invoke somewhat depends upon the operation being performed. Some authorization logic can be specified at the Application level, which will apply to all decisions. Other authorization logic may be declared on just a particular service, so that its decisions will only apply to operations pertaining to an adaptor being used.
An authorization decision in Adaptive Framework borrows heavily from
the way XACML
defines it: Can a Subject
perform a particular Action
on a particular
Resource
within a given Environment
?
Authorization scripts are provided access to each of these parts
in order to render a decision.
The previous diagram illustrates the steps that are taken from the start
of a client request to the response that is returned. The
Authentication
in steps (2) and (3) are optional, but
they are steps that are often taken when an un-verified client wishes to
make a request for data. The role of Adaptive Framework does not really
start until step (5), when all of the subject information has been
gathered and that will be needed in order to make an authorization
decision.