对安全插件的限制

使用安全插件时存在某些限制。

DB2 数据库系列支持限制

您不能使用 GSS-API 插件来验证、UNIX 和 Windows 上的客户端与另一个客户端之间的连接。 Db2®Linux®、UNIX 和 Windows 上的客户端与另一 Db2 系列服务器(如 Db2 for z/OS.

在 Linux, UNIX 或 Windows 上,也无法认证从充当客户机的其他 Db2 数据库系列产品到 Db2 服务器的连接。

如果在 Linux, UNIX 或 Windows 上使用 Db2 客户机来连接到其他 Db2 数据库系列服务器,那么可以使用客户机端用户标识/密码插件 (例如 IBM 随附的操作系统认证插件) ,也可以编写您自己的用户标识/密码插件。 还可以使用内置 Kerberos 插件,也可以实现您自己的 Kerberos 插件。

对于 Linux, UNIX 或 Windows 上的 Db2 客户机,不应使用 GSSPLUGIN 认证类型对数据库进行编目。

授权标识的限制:DB2 V9.5 和更高版本中,您可以具有 128 字节的授权标识。 但是,当授权标识解释为操作系统用户标识或组名时,DB2 实施的命名限制适用。 例如, Linux 和 UNIX 操作系统最多可以包含 8 个字符, Windows 操作系统最多可以包含 30 个用户标识和组名字符。 因此,如果您想要作为具有 128 字节的授权标识的用户进行连接,那么需要编写您自己的安全插件。 在此插件中,您可对此授权标识使用扩展大小。 例如,您可以为此安全插件指定 30 字节的用户标识,在认证期间,此插件返回您可连接至的 128 字节的授权标识。

InfoSphere® Federation Server 支持限制

DB2 II 不支持使用 GSS_API 插件中的委托凭证来建立与数据源的出站连接。 与数据源的连接必须继续使用 CREATE USER MAPPING 命令。

数据库管理服务器支持限制

DB2 管理服务器 (DAS) 不支持安全插件。 DAS 仅支持操作系统认证机制。

Db2 客户机的安全插件问题和限制 (Windows)

在 Windows 操作系统上开发将部署在 Db2 客户机中的安全插件时,请勿卸载插件终止功能中的任何辅助库。 此限制适用于所有类型的客户机安全插件,包括组插件、“用户标识/密码”插件、Kerberos 插件和 GSS-API 插件。 由于未在任何 Windows 平台上调用这些终止 API (例如, db2secPluginTerm, db2secClientAuthPluginTerm 和 db2secServerAuthPluginTerm ) ,因此需要执行相应的资源清除。

此限制与在 Windows 上卸载 DLL 相关的清除问题相关。

在 AIX 上装入扩展名为 .a 或 .so 的插件库

在 AIX®上,安全插件库可以具有文件扩展名 .a.so。 用来装入插件库的机制取决于所使用的扩展名:

  • 文件扩展名为 .a 的插件库

    文件扩展名为 .a 的插件库被认为是包含共享对象成员的归档。 这些成员必须命名为 shr.o(32 位)或 shr64.o(64 位)。 单个归档中可以同时包含 32 位和 64 位的成员,且允许将它部署在两种类型的平台上。

    例如,要构建 32 位归档形式的插件库:

        xlc_r -qmkshrobj -o shr.o MyPlugin.c -bE:MyPlugin.exp
        ar rv MyPlugin.a shr.o
  • 文件扩展名为 .so 的插件库

    文件扩展名为 .so 的插件库被认为是可动态装入的共享对象。 这种对象是 32 位或 64 位的,这取决于构建此对象时所使用的编译器和链接程序选项。 例如,要构建 32 位的插件库:

        xlc_r -qmkshrobj -o MyPlugin.so MyPlugin.c -bE:MyPlugin.exp

在除 AIX以外的所有平台上,始终假定安全插件库是可动态装入的共享对象。

GSS-API 安全插件不支持消息加密和签名

消息加密和签名在 GSS-API 安全插件中不可用。