安全模型混合
WebSphere® Application Server V6 和更高版本的编程环境中可以使用多种协议和多个通道。每个这样的应用程序都为不同业务需要提供服务。
- 通过 HTTP 传输来访问基于 Web 的应用程序(例如,Servlet、JavaServer Pages (JSP) 文件和 HTML 等等)。
- 通过远程方法调用/因特网 ORB 间协议 (RMI/IIOP) 来访问企业应用程序。
- 通过 SOAP over HTTP、“SOAP over Java™ 消息服务 (JMS)”或 SOAP over RMI/IIOP 协议来访问 Web Service 应用程序。
更重要的是,Web Service 通常作为具有 Enterprise JavaBeans (EJB) 文件的 Servlet 实现。因此,您可以将 Web Service 安全性模型与适用于 Web 和 EJB 组件的 Java Platform,Enterprise Edition (Java EE) 安全模型混合并与之相匹配。预期 Web Service 安全性将对 Java EE 基于角色的安全性以及 WebSphere Application Server V6 和更高版本的安全运行时进行补充。
- 将本地操作系统、轻量级目录访问协议 (LDAP) 和定制用户注册表用于认证用户名令牌。
- 传播 SOAP 消息中的轻量级第三方认证 (LTPA) 安全性令牌
- 使用身份断言
- 使用信任关联拦截器 (TAI)
- 启用安全性属性传播
- 使用 Java EE 基于角色的授权
- 使用 Java Authorization Contract for Containers (JACC) 权限提供程序,例如,Tivoli® Access Manager
下图会显示用于将认证信息发送到应用程序服务器的不同安全协议。对于 Web Service,您可以使用具有安全套接字层 (SSL) 的 HTTP 基本认证或具有签名和加密的 Web Service 安全性用户名令牌。在下图中,对 Web Service 安全性中的标识 bob 进行认证并将其设置为 SOAP 消息请求的调用者标识时,Java EE Enterprise JavaBeans 容器会在将调用分派到服务实现(在此情况下是企业 Bean)前使用 bob 来执行授权。
您可以使用传输层安全性来保护 Web Service。例如,当您正在使用 SOAP over HTTP 时,可以使用 HTTPS 来保护 Web Service。但是,传输层安全性仅会提供点到点安全性。此安全性层对于某些方案可能是足够的。但是,在目标端点使用 SOAP 消息之前,如果它必须通过中间服务器(多跳)传播,那么您可以使用 SOAP over the Java 消息服务 (JMS)。这些使用方案和安全要求说明如何保护 Web Service。这些要求取决于操作环境和业务需要。但是,使用 Web Service 安全性的一个主要优点是它独立于传输层;同一 Web Service 安全性约束可以用于 SOAP over HTTP、SOAP over JMS 或 SOAP over RMI/IIOP。