
authentication -“认证类型”配置参数
此参数指定并确定用户的认证如何进行以及在何处进行。
- 配置类型
- 数据库管理器
- 适用于
-
- 带有本地客户机和远程客户机的数据库服务器
- 客户机
- 带有本地客户机的数据库服务器
- 带有本地客户机和远程客户机的分区数据库服务器
- 参数类型
- 可配置
- 缺省值 [范围]
- SERVER [CLIENT; SERVER; SERVER_ENCRYPT; DATA_ENCRYPT; DATA_ENCRYPT_CMP; KERBEROS; KRB_SERVER_ENCRYPT; GSSPLUGIN; GSS_SERVER_ENCRYPT ]
如果 authentication 参数的值为 SERVER,那么会将用户标识和密码从客户机发送至服务器,以便可以在服务器上执行认证。SERVER_ENCRYPT 值与 SERVER 值提供相同的行为。不同的是通过网络发送的任何用户标识和密码都必须加密。如果客户机是 IBM Data Server Driver for JDBC and SQLJ,那么 DB2 服务器可以接受未加密的用户标识和密码。
从 DB2® Cancun Release 开始,当认证类型为 SERVER_ENCRYPT 时,要使 DB2 服务器不接受 CLEAR_TEXT_PASSWORD_SECURITY 安全性机制,请在服务器上将 DB2 DB2AUTH 注册表变量设置为 JCC_ENFORCE_SECMEC。不需要任何应用程序修改。但是,对于使用 Oracle JVM 的 JDBC 应用程序,需要对 JDBC 应用程序进行修改。修改该应用程序以使用 ENCRYPTED_USER_AND_PASSWORD_SECURITY 安全性机制和加密算法属性 AES。要使用 AES,请从 Oracle 安装“Java 密码术扩展 (JCE) 无政策限制”文件。
为了符合标准(在“符合标准”主题中定义),配置 SERVER 是唯一受支持的值。
值 DATA_ENCRYPT 表示服务器接受加密的 SERVER 认证方案和用户数据的加密。认证与 SERVER_ENCRYPT 的工作方式相同。
当使用 DATA_ENCRYPT 认证类型时,以下用户数据是加密的:
- SQL 和 XQuery 语句
- SQL 程序变量数据
- 来自处理 SQL 或 XQuery 语句的服务器的输出数据并且包括对数据的描述
- 从查询获得的某些或所有答案集数据
- 大对象 (LOB) 数据流动
- SQLDA 描述符
值 DATA_ENCRYPT_CMP 表示服务器接受加密的 SERVER 认证方案和用户数据的加密。此外,此认证类型与不支持 DATA_ENCRYPT 认证类型的早期产品兼容。允许这些产品使用 SERVER_ENCRYPT 认证类型来进行连接,并且不对用户数据进行加密。支持新认证类型的产品必须使用该认证类型。此认证类型仅在服务器的数据库管理器配置文件中有效,对于 CATALOG DATABASE 命令无效。
如果您将 alternate_auth_enc 参数设置为 AES_CMP 或 AES_ONLY,那么无法将 authentication 参数设置为 DATA_ENCRYPT。
值 CLIENT 指示所有认证都在客户机上进行。不需要在服务器上进行认证。
值 KERBEROS 意味着在 Kerberos 服务器上使用 Kerberos 安全协议来执行认证。如果支持 Kerberos 安全性系统的服务器和客户机采用 KRB_SERVER_ENCRYPT 认证类型,那么有效系统认证类型为 KERBEROS。如果客户机不支持 Kerberos 安全性系统,那么该系统认证类型实际上等价于 SERVER_ENCRYPT。
值 GSSPLUGIN 意味着使用外部的基于 GSSAPI 的安全性机制来执行认证。如果支持 GSSPLUGIN 安全性机制的服务器和客户机采用 GSS_SERVER_ENCRYPT 认证类型,那么有效系统认证类型为 GSSPLUGIN(如果客户机支持服务器的其中一个插件)。如果客户机不支持 GSSPLUGIN 安全性机制,那么该系统认证类型实际上等价于 SERVER_ENCRYPT。
建议:通常,对本地客户机使用缺省值 (SERVER) 就可以了。如果远程客户机正在连接至数据库服务器,那么建议您使用 SERVER_ENCRYPT 值来保护用户标识和密码。