|
Comments
Did you read today's front page stories & breaking news?
SYS-CON.TV
|
Service-Oriented Architecture Identity-Based Service-Oriented Architecture
Regulating business needs with Web services
By: Sekhar Sarukkai
Feb. 2, 2005 12:00 AM
Service-oriented architectures (SOA) have become the de facto architecture of choice for enabling agile business processes via reuseable, coarse-grained business services. Business services are integrated via exposed technical interfaces that increasingly support Web services and XML standards. By adopting the loosely coupled business service model, IT is better able to support the evolving business needs of customers, partners, and employees, who access these services over multiple channels such as browsers, devices, or other applications. In order to truly realize the promise of reuseable services, appropriate controls have to be put in place for protecting and ensuring service availability. Interestingly, while technologists are focused on XML intruders intercepting Web service messages, business people, who take this for granted, are focusing on tracking and controlling user and application accesses of these business services. These might otherwise expose businesses to significant risk, by exposing sensitive data to the wrong user, for example. From a technical perspective, addressing this business need for protecting SOA assets is a complex cross-domain problem compounded by the loosely coupled nature of SOA. The solution to this problem necessitates the deployment of a new generation of SOA infrastructure domain services responsible for authoritative establishment and verification of identity. From a business perspective, this is critical to realizing the benefits of quicker application development and deployment, as well as increased system governance. These services should handle application, service, device, and other entity identities, just as user identities were managed in previous generation Web application deployments. It is also important that this service plug into an SOA-compliant federated architecture. Today's Solutions Don't Deliver Intended Value Solutions deployed today largely depend on proprietary or tightly coupled integrations to identity and access servers that support single sign-on (SSO) functionality and are integrated with portals or Web servers (see Figure 1). While this deployment does not address the issues around all participants in an SOA, this also breaks one of the fundamental premises of a loosely-coupled SOA by tightly coupling SSO solutions to applications that are protected. More importantly, not only is this non-compliant with standards, it also eradicates the value and corresponding technical and business benefits of adoption of an SOA. In order to break this tight coupling, you need to rethink how Identity and Access services can be deployed as shared infrastructure services. Such an Identity service easily plugs into the adopted SOA service bus or messaging standards (such as XML or SOAP over JMS, HTTP, etc.); it is discoverable and addressable, just as is any other service in the enterprise. Who Knows "Who is Who" in an SOA? The legitimacy of each entity participating in an SOA is established by a Web service?enabled Domain Identity Service that supports authentication and authorization of services and users, while also acting as an attribute authority for all these entities. Existing SSO (Access) and IdM (Identity Management) solutions, put in place for securing Web applications, need to be enhanced with the following two SOA-induced enhancements:
Web Service Enablement of Identity (DIS)
DIS can have a significant impact on how securely and effectively applications, people, and devices can interact in an SOA by eliminating the otherwise proprietary protocol exceptions necessary to leverage the IdM and Access solutions. A loose, yet similar, analogy exists in the traditional world of systems networking, wherein an ubiquitous DNS service that is an authoritative naming authority significantly enhanced the value of the networked machines by simplifying addressability (as names rather than numbers), providing a scalable cross-domain architecture for addressing and increasing the value of networking these systems. Similarly, in the DIS model, enterprises should view identity as a service that is ubiquitously available (as a shared infrastructure service necessary for application networking), rather than as being managed by a server (such as an Authentication or Access server). However, unlike a simple DNS-like naming authority, DIS acts at the application (or service) level and takes on a more complex role of not only being an attribute authority, but also supporting authoritative validation of named entities participating in an SOA, federation across domains, and token exchange. DIS supports the following core interfaces:
DIS Functionality Data Model Functional Interface
Issuance: Given a claim, the DIS service returns a token in some configurable form that can later be presented by the holder of the claim to gain access to services in the SOA network (see Figure 4) Validation: Given a token, the DIS returns a decision on whether the owner of the token is allowed to perform a function in the SOA network ? including continued access to the application, or authorization to specific operations in the network (see Figure 5). Exchange: Given a token, the DIS returns a token of an alternate form, enabling the support for heterogeneity in token formats within and across SOA networks (see Figure 6). Standards such as WS-Trust and SAML provide the ideal interfaces to expose DIS service functionality for the issuance, validation, and exchange of tokens. Standards around the administration of different identities do not exist, but can be exposed via customizable SOAP interfaces. Identity Enablement of Web Services As enterprises roll out Web services, they are often challenged by reasoning about the identities of applications or other Web services that are actually invoking the service via the published service interface; this is unlike the previous Web situation in which end users were typically involved in presenting credentials via browser forms in order to authenticate and get access to a URL. In the case of applications invoking services, the following issues need resolution:
There are additional considerations that need to be incorporated into the solution. In many practical deployment situations, services do not always authenticate and authorize other services only. Instead, they may need to authenticate or authorize the end user, consuming application, or a combination of both. As shown in Figure 7, Identity-enabled Web services can handle different types of subject credentials, depending on trust relationships. The three primary types of credentials used to validate access to a service are: 1. End-user credentials that are required for authentication of end users at the Web service. Independent of the path through which the user transaction indirectly reaches the service, the policy enforcers extract the credentials from configurable locations associated with the context of the message, and authenticate and authorize service access using the DIS. 2. If the service has a trust relationship with another application (such as a portal or a partner application) established via mutual trust based on X509 certificates, the service needs to only authenticate the application accessing the service, rather than the end user. End-user identity may be passed along in the message context (via SAML assertions, SSO cookies, etc.) for authorization purposes, but there is no need for user credentials to be propagated beyond the application that the user directly accesses. 3. In certain situations, the service may require both the consuming application and user credentials, and in this scenario, the policy enforcer is configured to both look for credentials and perform appropriate access controls. In all these cases, if an SAML token or an SSO cookie is not already present, the policy enforcer may optionally insert such a token for future downstream use of the token for reduced sign-on needs. In certain other situations, fine-grained authorization needs may require communication with the DIS for querying subject attributes for further rule processing via pluggable entitlement engines. By centrally managing both user and application identities in the DIS, the policy enforcers do not have to worry about separate infrastructures for allowing access based on user or application Identities, thus simplifying deployment and easing auditability of access to services. Business Benefits of Service Enabling Identity 2. Operational risk is reduced due to the elimination of vendor-specifi c protocol in the integration backbone 3. Governance is improved due to better auditability of authentication and authorization of service interactions IT Benefits of Service Enabling Identity 2. Allows for the coexistence of existing deployments (for existing applications) while providing a means to deploy and support a productized DIS 3. Offers standards compliance with out-of-the-box support for SAML and WS-Security 4. Allows for the easy customization of DIS to enterprise XML/SOAP standards without custom coding Summary Reader Feedback: Page 1 of 1
SOA World Latest Stories
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
|
SYS-CON Featured Whitepapers
Most Read This Week |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||