令牌认证

令牌认证是一种用于泛化令牌的机制,以便可以使用这些令牌以统一方法向 Db2® 服务器进行认证。 客户机会将令牌(以字符串形式表示)和令牌类型发送至服务器。 该令牌对于客户机而言不透明,但可以由服务器理解并验证。

注: 此功能从 Db2 V 11.5.4开始可用。

目前, Db2 支持 JSON Web 令牌 (JWT)。

令牌用于代替用户标识和密码。 它们将用户身份和该身份的证明封装到单个实体中。 令牌在 Db2 外部生成,并作为 connect 语句的输入传递。 如果是由将令牌用于多个服务的应用程序或身份提供者生成,那么它可以提供某种形式的单点登录 (SSO)。

并非所有与数据库服务器建立连接的接口都接受令牌来代替用户标识和密码,只有显式的 CONNECT 语句才是如此。 对于建立本地隐式连接(既不指定用户标识,也不指定密码)的工具,必须始终配置令牌认证以及额外的认证机制(例如,SERVER_ENCRYPT),因为没有从环境中获取缺省令牌的机制。

Db2 服务器上,通过以下方式配置令牌认证: 首先创建令牌配置文件,其中包含有关如何验证令牌的详细信息,然后将 SRVCON_AUTH 数据库管理器配置参数设置为其中一个 * _TOKEN 值。

在客户机上,首先通过将 TOKEN 设置为期望的认证机制来配置为使用令牌认证,然后将令牌和类型以输入形式传递给 CONNECT 语句。

令牌不用于组成员资格,配置的组插件用于查找用户组。

令牌认证是指 Db2 服务器能够直接验证令牌内容并对用户进行认证。 此外,基于 GSSAPI 的安全插件也可以使用令牌作为输入。 这不会视为令牌认证,它仍然是插件认证,但使用令牌输入进行。 配置客户机的方式决定使用何种安全性机制。