Security model mixture
There can be multiple protocols and channels in the WebSphere® Application Server Version 6 programming environment. For example, you might access a Web-based application through the HTTP transport. For example, a servlet, JavaServer pages (JSP) file, HTML and so on. You might access an enterprise application through the Remote Method Invocation over the Internet Inter-ORB (RMI/IIOP) protocol and a Web service application through the Simple Object Access Protocol (SOAP) over HTTP, SOAP over the Java™ Message Service (JMS) or SOAP over RMI/IIOP protocol. Each of these applications serve different business needs. More importantly, Web services are often implemented as servlets with a JavaBean or EJB file. Therefore, you can mix and match the Web services security model with the Java 2 Platform, Enterprise Edition (J2EE) security model for Web and EJB components. It is intended that Web service security compliment the J2EE role-based security and the security run time for WAS Version 6.
Web services security also can take advantage of the security features in J2EE and the security run time for WAS Version 6. For example, Web services security can use the following security features to provide an end-to-end security deployment:
- Use the local OS, Lightweight Directory Access Protocol (LDAP), and custom user registries for authenticating the username token
- Propagate the Lightweight Third Party Authentication (LTPA) security token in the SOAP message
- Use identity assertion
- Use a trust association interceptor (TAI)
- Enable security attribute propagation
- Use J2EE role-based authorization
- Use a Java Authorization Contract for Containers (JACC) authorization provider such as Tivoli® Access Manager
The following figure shows that different security protocols are used to send authentication information to the application server. For a Web service, you might use either HTTP basic authentication with Secure Sockets Layer (SSL) or a Web services security username token with encryption. In the following figure, when identity bob from Web services security is authenticated and set as the caller identity of the SOAP message request, the J2EE Enterprise JavaBean (EJB) container performs authorization using bob before the call is dispatched to the service implementation, which, in this case, is the enterprise bean.
You can secure a Web service using the transport layer security. For example, when you are using SOAP over HTTP, HTTPs can be used to secure the Web service. However, transport layer security provides point-to-point security only. This layer of security might be adequate for certain scenarios. However, when the SOAP message must travel through intermediary servers (multi-hop) before it is consumed by the target endpoint, you might use SOAP over the Java Message Service (JMS). The usage scenarios and security requirements dictate how to secure Web services. The requirements depend upon the operating environment and the business needs. However, one key advantage of using Web services security is that it is transport layer independent; the same Web services security constraints can be used for SOAP over HTTP, SOAP over JMS, or SOAP over RMI/IIOP.