Skip navigation.

Programming Security for Web Services

  Previous Next vertical dots separating previous/next from contents/index/pdf Contents View as PDF   Get Adobe Reader

Introduction to the Web Services Security Service Module

This document provides an introduction to WebLogic Enterprise Security Web Services product and describes interfaces clients use to interact with it.

This section covers the following topics:

 


About This Document

This section covers the following topics:

Audience for This Guide

It is assumed that the reader understands Web Services technologies and has a general understanding of the Microsoft Windows or UNIX operating systems being used. This document is intended for the following audiences:

How this Document is Organized

This document is organized as follows:

Product Documentation on the dev2dev Web Site

BEA product documentation, along with other information about BEA software, is available from the BEA dev2dev web site:

http://dev2dev.bea.com

To view the documentation for this product, select More Product Centers from the menu on the left side of the screen on the dev2dev page. From the BEA Products list, choose WebLogic Enterprise Security 4.2. The home page for this product is displayed. From the Resources menu, choose Documentation 4.2. The home page for the complete documentation set for the product is displayed.

Related Information

The BEA corporate web site provides all documentation for BEA WebLogic Enterprise Security. Other BEA WebLogic Enterprise Security documents that may be of interest to the reader include:

 


Overview of Web Services

Web services are a special type of service that can be shared by and used as components of distributed Web-based applications. Web services interface with existing back-end applications, such as customer relationship management systems, order-processing systems, and so on.

Traditionally, software application architecture tended to fall into two categories: huge monolithic systems running on mainframes or client-server applications running on desktops. Although these architectures work well for the purpose the applications were built to address, they are closed and cannot be easily accessed by the diverse users of the Web. Thus the software industry has evolved toward loosely coupled service-oriented applications that interact dynamically over the Web. The applications break down the larger software system into smaller modular components, or shared services. These services can reside on different computers and can be implemented by vastly different technologies, but they are packaged and transported using standard Web protocols, such as Extensible Markup Language (XML) and Hyper Text Transfer Protocol (HTTP), thus making them easily accessible by any user on the Web.

This concept of services is not new. Remote Method Invocation (RMI), Component Object Model (COM), and Common Object Request Broker Architecture (CORBA) are all service-oriented technologies. However, applications based on these technologies must be written using that particular technology, often as implemented by a particular vendor. This requirement typically hinders widespread acceptance of such services on the Web. To solve this problem, web services are defined to share the following properties that make them easily accessible from heterogeneous environments:

 


Product Overview

The BEA WebLogic Enterprise Security provides three Web Server products: the IIS Web Server Security Service Module (SSM), the Apache Web Server SSM, and the Web Services SSM (see Figure 1-1). This document only describes the Web Services SSM and the security service application programming interfaces (APIs) that it supports.

For a description of the IIS and Apache Web Server SSMs, see Web Server Installation.

Figure 1-1 Web Server Product Components

Web Server Product Components


 

The following topics provide more information on the these products:

Web Server Product Environment

Figure 1-2 shows the major components that make up the BEA WebLogic Enterprise Security product environment.

Figure 1-2 WebLogic Enterprise Security Product Environment

WebLogic Enterprise Security Product Environment


 

Web Services Security Service Module

The Web Services Security Service Module (SSM) provides six security service APIs: Registry, Authentication, Authorization, Auditing, Role Mapping, and Credential Mapping (see Figure 1-4). These APIs can be used to developed web services clients to access the WebLogic Enterprise Security infrastructure and use it to make access control decisions for users attempting to access web server application resources. Once the web services client is implemented, it uses the Web Services SSM (which incorporates the Security Services APIs, the Security Framework, and the configured security providers) to make access control decisions for the web server to which it is connected. Then you can use the WebLogic Enterprise Security Administration Application to configured and deploy a security configuration to protect the web server application resources. Thus, the Web Services SSM enables security administrators and web developers to perform security tasks for applications running on a web server. Additionally, you can use the Web Services SSM to add information provided by the Security Framework (such as roles and response attributes) to the HTTP requests handled by the protected web server applications.

Figure 1-4 shows the components of the Web Services SSM.

Figure 1-4 Web Services SSM Components

Web Services SSM Components


 

For a description of the Web Services Security Service APIs, see Web Services Interfaces

Client Trust Model

To protect messages in transit between the client and the Web Services SSM, a channel security protocol (SSL 3.0 or TLS 1.0) is used for all communication between the two. The Web Services SSM supports both one-way and two-way SSL (see Figure 1-5). To establish an SSL connection with one-way SSL, only the server is required to present a digital certificate. With two-way SSL authentication, both the client and server must present digital certificates before the SSL connection is enabled between the two. Thus, with two-way SSL, the Web Services SSM not only authenticates itself to the client to complete the SSL handshake (which is the minimum requirement for certificate authentication), but it also requires authentication from the requesting client. The client first authenticates the server's certificate, and then the server authenticates the client's certificate. The client certificate must be signed by a recognized certificate authority (CA).

As mentioned, Web services clients can communicate with the Web Services SSM over one-way or two-way SSL connections. However, when the client communicates over a one-way SSL, each client request be accompanied by a valid client name/password pair or a ALES cookie. Figure 1-5 shows the Web Services SSM client trust model.

For more information on authentication, see Authentication Service Interface.

Figure 1-5 Client Trust Model

Client Trust Model


 

Deployment Model

Figure 1-6 shows how you typically deploy instances of Web Services Security Service Modules (SSM) to protect application resources. The web servers (the web services clients) are located in the web tier, which is in the Demilitarized Zone (DMZ), and are protected from unwanted traffic on the Internet by a firewall. The DMZ is created by using two firewalls. If the web servers and Web Services SSMs are running on different machines, the Web Services SSMs are located in the application tier behind the second firewall for added security. The Web Services SSM supports Secure Sockets Layer (SSL) communication so all traffic between the web servers and the SSM is encrypted.

Figure 1-6 Typical Web Services Deployment Model

Typical Web Services Deployment Model


 

Usage Model

Once the Web Services client has established an SSL connection with the Web Services SSM, it can issue requests on behalf of users for access to the web resources protected by the Web Services SSM (see Figure 1-7).

The interaction between the client and the Web Services SSM is as follows (see Figure 1-7):

  1. The client issues a user request that includes the following:
  2. The client queries the local Registry Service to retrieve the fully qualified URL for the endpoint of the authentication service. If the authentication service exists on the local machine, the SSM returns the URL to the client. If it does not exist, the request fails. If the Authentication Service is omitted from the client request, the URL for the default authentication service on the local machine is returned.
  3. The web services client calls the Authentication Service, uses the user credentials to authenticate the user. If authentication succeeds, the service returns an identity assertion token that is an internal representation of the user's identity. If the authentication fails, the service returns an AuthenticationFaliure SOAP Fault.
  4. The client queries the local Registry Service to retrieve the fully qualified URL for the endpoint of the Authorization Service.
  5. The Authorization Service and the associated Role Mapping Service determine whether the user has been granted the privileges required to access to the specified resource and perform the requested action. The service answers the question "Is this user allowed to perform the particular action on specified resource?" To make the access decision, the service compares the roles granted to the user to the policy written to protect the requested resource. If none of the user's roles match the roles allowed to access the requested resource, or if the resource does not have any policy to protect it, access is denied.
  6. If access is allowed, the user is granted access to the resource and the request is serviced.

 


Product Features

The Web Services Security Service Module (SSM) has the following features:

 

Skip navigation bar  Back to Top Previous Next