Comments
Richard Davies wrote: The UK has a good crop of technology pioneers in cloud computing - for example ElasticHosts, FlexiScale, Flexiant, OnApp - and also some strong government initiatives such as G-Cloud. We will have to see whether this kind of technical leadership converts into swift mass-market adoption or not.
Cloud Expo on Google News

SYS-CON.TV
Cloud Expo & Virtualization 2009 East
PLATINUM SPONSORS:
IBM
Smarter Business Solutions Through Dynamic Infrastructure
IBM
Smarter Insights: How the CIO Becomes a Hero Again
Microsoft
Windows Azure
GOLD SPONSORS:
Appsense
Why VDI?
CA
Maximizing the Business Value of Virtualization in Enterprise and Cloud Computing Environments
ExactTarget
Messaging in the Cloud - Email, SMS and Voice
Freedom OSS
Stairway to the Cloud
Sun
Sun's Incubation Platform: Helping Startups Serve the Enterprise
POWER PANELS:
Cloud Computing & Enterprise IT: Cost & Operational Benefits
How and Why is a Flexible IT Infrastructure the Key To the Future?
Click For 2008 West
Event Webcasts
SOA Access Control Policy Management
Approaches, Common Pitfalls, and Best Practices

When SOAP-based Web Services solutions began appearing five years ago, one of the major challenges was securely propagating end-user identity in Web Service chaining scenarios. Certainly a user could authenticate to a portal, and that portal could talk to a Web Service that talks to another Web Service that talks to another Web Service (and so on), but the big question was - how could each point in the Web Service chain be assured who the requesting end user really was?

Initial trials of identity propagation solutions became like the "Kevin Bacon game." The assurance of the end user's identity would be based on trusting each connection in the chain and, as we know, there's no limit to the number of Web Service hops that could occur before the lifecycle of a SOAP request reaches its final destination. Much like the game of "Pass The Secret" that we play in kindergarten, where a secret is whispered in one ear and passed around in the room, there was little assurance that the final recipient had the right information.

Years later, SOA security architects now have blueprints for propagating end-user identity and attribute credentials in a multi-tiered SOA environment. Leveraging mature standards such as XML Signature and SAML (the Security Assertion Markup Language), the WS-Security SAML Token Profile provides a mechanism for trust propagation in Web Services. This standard, along with other similar token-based standards, give us opportunities and choices related to access control management and enforcement in the enterprise.

Because of these Web Service security standards, we've moved from the problem of asking, "How do we know who the user really is?" to "How do we enforce access control policy for this user?" Leveraging identity propagation standards in Web Services, there are usually two common approaches of SOA access control policy management:
1)  Centralized Approach. Using a "Yes/No" policy server, a handler or component enforcing access control for a Web Service looks at the propagated identity and must call a central server essentially saying, "Can user X access this Web Service?" This model, shown in Figure 1, is completely centralized, as it involves centralized management of all access control policy, and also centralized decision-making.

2)  Decentralized Approach. Completely different from a "Yes/No" policy server, Web Service containers express, manage, and enforce local policy based on global identities and attributes propagated to the Web Services. In this model, shown in Figure 2, a handler or an enforcement component inspects the identity and attributes propagated to the Web Service, does a local lookup on the Web Service policy, and makes an enforcement decision. This model is completely decentralized because it uses decentralized management (management expressed by each Web Service container) and decentralized decision making.

Pros and Cons of the Centralized Approach
The centralized approach is the most common as anyone can see by looking at the enterprise policy server market. There are several benefits to this approach:

  • Information Hiding. From a security perspective, a completely centralized approach leads to information hiding, which can be a very good thing if you want your reasons for access control decisions to be secret. (That is, if you ask the question, "Can person X access resource Y," you get a response, but you don't really know the reason for the response.) This is also beneficial if you only want identities to be propagated and not necessarily the attributes about users to be propagated, if any of these attributes are confidential.
  • Complete Control. Finally, if you have a central point in your enterprise that makes all the decisions, the administrator has centralized control of everything, where access control changes for all enterprise Web Services can be made with the touch of a button, which is a great thing. A centralized policy server making all access control decisions means that you also have centralized auditing, which is a lot better than having to look through the logs on the machines throughout your enterprise.

    Having listed these benefits of the centralized approach, there are also potential pitfalls:

  • Poor Scalability. If an enforcement point for every Web Service in your enterprise needs to make a call to your policy server for every access control decision, there will be a large load on that server, and you'd better hope it never crashes. This is a potential Denial of Service (DoS) attack waiting to happen. If your policy server does go down, you need to ask yourself - "Should I give access to everyone, or should I deny access to everyone?" Believe me, you don't want to go there.
  • Poor Performance. If policy enforcement points for your Web Services have to make network calls to a policy server for every access control decision, it will slow your applications down. Calls to policy servers must be cryptographically protected, since the enforcement point will need assurance that it's talking to the policy server and that there's message integrity in the message response. The result of this added network call and cryptography will be poor performance. Certainly your local enforcement points can cache these policy decisions for a certain amount of time to avoid repeated calls to the policy server for the same user, but the cryptographically protected initial calls to the policy server - combined with what will surely be a heavy request load on that policy server itself - will lead to your applications slowing down.
  • Potential Management Burden. If you choose a centralized policy server model, this means that there will be one point in your enterprise that makes all access control policy decisions. And this means that either your policy server connects to other servers to get those policies for every Web Service in your enterprise, or your central policy server will have to manage policy for every enterprise application, which could be a heavy burden.
Pros & Cons of the Decentralized Approach
As a result of seeing many completely centralized approaches fail, another model that's used is a more decentralized approach, where local policy is expressed based on end-user credentials that are propagated to the Web Service and local policy decision points make decisions based on that local policy and the end-user's credentials.

The benefits of this approach are obvious - by doing this, we eliminate all of the pitfalls of the centralized management approach. Instead of having to ask "Mother may I?" to a policy server every time a decision has to be made, a local Web Service handler is empowered to make a decision based on the identity propagated in and based on the local policy expressed by the Web Service itself. No policy server needs to be running using this model, eliminating the concern of the policy server being a bottleneck or a performance burden. In this model, each Web Service container manages its own policy - eliminating a potential centralized management burden.

Having said this, there are also potential issues with this approach. By moving to a completely decentralized model, we lose the benefits that the centralized model adds. Most importantly, there is an issue here of control. In an emergency situation, where a policy change must be made to deny access to security violators, how could we quickly lock down and protect every Web Service from those security violators when using a completely decentralized model? Would the enterprise administrator have to call up every Web Service provider, asking him to change his policy?

The lack of control that a completely decentralized model brings is problematic. As a result, there's a need for a different model that leverages the pros of each of these approaches.

Best Practices
At this point, I've discussed two common models - completely centralized and completely decentralized. There are benefits to each, but there are serious pitfalls associated with each model. These are, in fact, two extremes, and yet they are still the most common models for SOA security access control policy management. The dilemma we face is that neither model offers us the best solution.

The answer to this dilemma involves creating an architecture that merges the best of centralized policy management and the best of delegated decision-making eliminating those architectural items that lead to pitfalls. This article proposes the following:
1)  End-user credentials are propagated in WS-Security messaging using one of the token profiles

2)  Global Security Policy is managed by a central authority and syndicated to local policy decision points

3)  Local Security Policy is managed by Web Service owners (optional)

4)  Local Policy Decision Points enforce locally stored local and global security policy based on credentials propagated in Web Service calls

Figure 3 shows a diagram of this model that in most cases will represent the best of both worlds - taking some things from the centralized approach, and some from the decentralized approach.

This model answers many of the dilemmas discussed so far here by using a policy syndication server. If we can avoid using a "yes/no" request/response policy server and instead have a policy server syndicate global policy that Web Service security handlers in the enterprise enforce, there can now be centralized access control enforcement. This provides the benefit of total control that the decentralized model was lacking and eliminates the availability threat, the enterprise bottleneck, and the performance concerns that were inherent in the centralized model.

Allowing Web Services to express their own "local" access control policies removes the potential management burden of having to dictate policy for the entire enterprise. The trick, however, will be conflict resolution between syndicated global policy and local policy, since global policy must always trump local policy.

Centralized auditing can be handled by using network logging and a central auditing server, where all access control events from local Web Service handlers are sent to a central auditing or Web Service management server.

What this model lacks, however, is the benefit of information hiding that's present in a completely centralized security policy model. As we addressed before, the yes/no policy server abstracts the reason that decisions are made, which can be a very good benefit in situations where the security policies themselves are extremely sensitive. This is very uncommon, and if this requirement exists, it may only pertain to some components in your enterprise. If this is the case, you can complement the solution I'm describing with a centralized policy server used only when absolutely necessary.

Conclusion
This article has provided an overview of some of the issues that organizations face regarding SOA access control policy management and enforcement, looking at the benefits and pitfalls of two common methodologies. We presented a best-practice approach that can be used in your enterprise. As with any security solution, it's important to focus on both your short-term, long-term, and even potential security requirements to plan the most scalable approach.

About Kevin Smith
Kevin T. Smith is a technical director at McDonald Bradley, where he leads the SOA and Semantics Security Team (S3T) focusing on securing Web services for multiple projects. An author of several technology books on XML, Web services, Java development, and the Semantic Web, he is a frequent speaker at many conferences, such as JavaOne, OMG Web Services, Association for Enterprise Integration (AFEI), and Net-Centric Warfare.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

Hi.If someone use the method,how can he put the access control model into the policy.
e.g. I use role-based access control in the server.does it mean that I have to use two different schemes in "globe access control" and "local access control"? I have to give a user two roles to access the web service,am I right?


Your Feedback
biaomei wrote: Hi.If someone use the method,how can he put the access control model into the policy. e.g. I use role-based access control in the server.does it mean that I have to use two different schemes in "globe access control" and "local access control"? I have to give a user two roles to access the web service,am I right?
Latest Cloud Developer Stories
Can you bring services from the cloud to your customers faster and have them adopt it with ease of use or bring the power of bundled services to the fingertips of your clients without creating new rigid ‘apps stove pipes'? Do you want to prevent your business running away to publ...
OCZ Technology Group, a provider of high-performance solid-state drives (SSDs) for computing devices and systems, on Tuesday announced the Z-Drive R4 CloudServ PCI Express (PCIe) flash storage solution, designed to accelerate cloud computing applications and reduce operating expe...
Many organizations have embraced, or are considering, the benefits of cloud computing – speed, flexibility, increased expertise, shared workload, reduced costs, etc. The benefits are many – but so are the risks. What are the threats to cloud security? Which parties assume respons...
In August 2011, SHI Enterprise Solutions (ESS) division launched the SHI Cloud, offering reliable and cost-effective industrial-grade cloud computing platforms. That same division achieved an 82 percent increase in revenue over 2010.
SoftLayer Technologies on Tuesday announced the immediate worldwide availability of SoftLayer Object Storage, a redundant and highly scalable cloud storage service that allows users to easily store, search and retrieve data across the Internet, with optional CDN connectivity, or ...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

SYS-CON Featured Whitepapers
ADS BY GOOGLE

Breaking Cloud Computing News

LONDON, February 15, 2012 /PRNewswire/ --