使用 DB2 建立可信连接

可信连接允许应用程序服务器使用 DB2® 可信上下文对象与其凭证受 DB2 服务器信任并因此能够打开连接的用户建立连接。通过建立可信上下文,此用户将受到信任,于是可以在 DB2 服务器上声明其他用户标识,而不必重新认证。这还可以避免向单个用户分配所有特权,从而增强了 DB2 数据库的安全性。实现可信连接时会引起客户机标识传播,而利用连接池可以避免使用其他标识来关闭和重新打开连接时带来的性能损失。

限制: 要使用可信连接功能,您必须正在使用 DB2 for Linux, UNIX, and Windows V9.5 或更高版本的数据库,或者正在使用 DB2 for z/OS® V9.1 或更高版本的数据库。如果在 iSeries 系统上安装了 V7.0,那么只要在非 iSeries 系统的平台上安装了一个受支持的 DB2 版本且使用的是 DB2 通用驱动程序,就可以使用可信连接。有关更多支持信息,请参阅应用程序服务器所支持的软件的列表。

为了避免由于建立新连接而带来的巨大开销,连接管理器维护了一个连接池,在该连接池中,原先用于打开各个连接的凭证均可以跟踪到所打开的连接。当应用程序需要连接时,连接管理器将使用凭证对象来匹配连接池中的可用连接。如果找不到可用连接,但尚未到达最大连接数,那么连接池管理器将使用该凭证对象打开一个新连接。此连接映射是供应用程序服务器使用的缺省连接映射,并且被称为多对一凭证映射,这是因为使用主体集中通常与 RunAs 标识并不相同的凭证对象打开了该连接。这种简单映射使建立连接池很容易,但调用者标识从不传播至数据库服务器。

要将调用者标识传播至数据库服务器,您可以插入 Java™ 认证和授权服务 (JAAS) 登录模块。使用此方法将应用程序服务器用户凭证映射至适合于数据库服务器安全领域的用户凭证。此方法维护调用者标识,但不会使用连接池。

使用可信连接取代缺省映射或 JAAS 映射连接至数据源。可信连接支持客户机标识传播,并且还可以使用连接池来消除由于使用其他标识关闭和重新打开连接时带来的性能损失。可信连接使用 DB2 可信上下文对象。

DB2 可信上下文是一个对象,由数据库管理员定义且包含一个系统授权标识和一组信任属性。信任属性标识连接被视为可信时所需的连接属性。创建与 DB2 服务器的连接时,将建立数据库连接与可信上下文之间的关系。定义可信上下文且建立与 DB2 数据库服务器的初始可信连接后,应用程序服务器可使用来自其他用户的数据库连接,而不必进行完全重新认证。这是因为需要该用户标识的认证令牌。数据库认证用户,接着验证用户是否有权访问数据库,然后才允许代表该用户处理任何数据库请求。
[z/OS]限制: 对于 z/OS 服务器,用户标识必须是资源访问控制设施 (RACF®) 标识。

使用可信连接时可提供所需的插件点,以支持添加您自己的 DB2 可信上下文的安全实现。可信连接将用于建立连接的标识与访问后端服务器服务的标识隔开。连接由凭证受 DB2 服务器信任并因此能够打开连接的用户建立。该用户随后也可以信任来声明其他用户的标识。此声明可避免向单个用户授予所有特权,从而也有助于加强数据库安全性。

当应用程序请求与数据库的连接时,连接管理器可查找任何闲置的可信连接并向该后端服务器声明用户标识。对后端服务器执行的所有操作均来自该已声明的用户标识。如果后端服务器使用的用户资源库有别于应用程序服务器的用户资源库,那么可能仍需要使用标识映射。

由称为 TrustedConnectionMapping 的新映射配置实现可信连接。TrustedConnectionMapping 配置将 RunAs 主体集映射至包含以下元素的资源主体集:
  • 此资源主体集所表示的资源主体对象
  • 专用凭证集中的 PasswordCredential 对象
  • 主体集合中的 IdentityPrincipal 对象
主体对象表示 RunAs 标识。PasswordCredential 对象包含资源适配器用于建立可信连接所使用的用户标识和密码。IdentityPrincipal 对象在缺省情况下包含 RunAs 标识,但可更改为使用调用者的标识。IdentityPrincipal 对象也包含某一表示最初发送请求的用户的原始用户标识、某一指示定义该用户标识所在的注册表集的可选领域名以及某一可选安全性令牌(它是用户的序列化安全上下文)。

指示主题类型的图标 概念主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=csec_trustedconnections
文件名:csec_trustedconnections.html