Windows Azure - AppFabric Access Control Service -
In this article we can explore the Access
Control service of Windows Azure AppFabric. As you know the
services provided by AppFabric are shown below.
on Access Control
The Access Control Service (ACS)
provides a flexible way of authentication and authorization in the cloud
premises. The ACS extracts out the authentication and
authorization code outside the application.
We can use ACS along with:
- Web Applications
- Web Services
Simply, the Access Control
Service 2.0 allows us to integrate single sign on (SSO) and centralized
authorization into the web applications.
In the old
applications we need to incorporate the authentication and authorization code
inside our applications. This will lead to mixing of business
logic with the security overheads. The PrincipalPermission
attribute, Cookie Presence Checking etc. are some of the ways of doing
it. AppFabric through ACS provides a better way of dealing with
following protocols are supported by ACS 2.0
The identity providers supported by ACS include:
- Windows Live ID
- WS-Federation Identity
is compatible with web platforms including:
Difference between Old
Application and Azure Application Security Aspects
Namespace: Like the Service Bus, we need to
create a service namespace for the Access Control Service too. The
services in a particular namespace share the same DNS name. The
Service Namespace acts as a top level partition around the end points.
There are different endpoints inside the
- Security Token Service
- Management Service
- Management Portal
- Service Metadata
The format of the end point
Namespace: A managed namespace is partially managed by another
service. The Service Bus and Cache services uses managed
namespaces characterized by Ã¢â‚¬â€œsb and Ã¢â‚¬â€œcache
Relying Party: In the
context of ACS, relying party is an application for which we are implementing
federated authentication. The configuration includes a term Realm
which acts as the URI. There is a Return Url which is invoked to
provide the token when the invoker is valid.
Example of Realm are: http://contesso.com. Any request
with Realm prefix with http://contesso.com
will be gaining valid tokens. We can also include http://localhost/ as a valid
We can also configure an Error url which will be
invoked during any problems in the login process. Eg:
The configuration of relying
party application can be manual or through program. The relying
party control flow is depicted below.
Groups: A relying party application should be associated with
at least one rule group. If the Real match one configured
application which is not associated with any of the rule groups, the token will
not be issued.
We can associate one rule group with more
than one application and one application with more than one rule
In this article we
have learnt about the AppFabric Access Control Service. It
provides a better way of authentication and authorization. In the
next article we can see how to create a service namespace and using the Access
Control Service Portal.