Web services security architecture

The Web services security model employed by WAS is the declarative model. There are no APIs in for programmatically interacting with Web services security, but there are a few Server Provider Interfaces (SPIs) for extending some security-related behaviors.

Figure 1: Web services security model

Web services security model

The security constraints for Web services security are specified in the IBM deployment descriptor extension for Web services. The Web services security run time acts on the constraints to enforce Web services security for the SOAP message. The scope of the IBM deployment descriptor extension is at the module level (EJB module or Web module). Bindings are also associated with each of the following IBM deployment descriptor extensions:

Use the tools provided by IBM (such as the Application Server Toolkit, WebSphere Studio Application Developer, or WebSphere Development Client for iSeries) to create the IBM deployment descriptor extension and bindings. After the bindings are created, you can use the tools or the WebSphere administrative console to specify the bindings.

Note: The binding information is collected after the application has been deployed, not during deployment itself. The alternative is to specify the required binding information before deploying your application.

Figure 2: Web services security message interpretation

Web services security message interpretation

The Web services security run time enforces or applies Web services security based on the defined security constraints in the deployment descriptor and binding files. In Figure 2, Web services security has the following points where it intercepts the message and acts on the security constraints that are defined:

Web services security programming interfaces

SPIs are provided to extend the capability of the Web services security run time. The following SPIs and application programming interfaces (APIs) are available:

Default configuration (ws-security.xml) for WAS

In the WAS, each application server has a copy of ws-security.xml, the file that defines the default binding information for Web services security. The following is a list of defaults defined in the ws-security.xml file:

If the Web services security constraints that are specified in the deployment descriptors and the required bindings are not defined in the bindings file, the default constraints in the ws-security.xml file are used.

Default configuration (ws-security.xml) for WAS Network Deployment

In the WAS Network Deployment installation, the ws-security.xml file is at the cell level and defines the default binding information for Web services security for the entire cell. But each application server can have its own ws-security.xml file to override the cell default; similarly, each Web service can override the default in its binding files. The following is a list of defaults defined in ws-security.xml file:

The Web services security run time reads the configuration from the application bindings first, then tries the server-level, and finally tries the cell level. Figure 4 depicts the run time configuration process.

Figure 4: Runtime configuration

Runtime configuration