分类:
2008-05-17 17:10:56
| ||||||||||||||||||||
什么时候进行 DB2 身份验证 DB2 身份验证控制数据库计划的以下方面:
在发出 attach 或 connect 命令时,它在底层操作系统安全特性的下完成这个任务。attach 命令用来 DB2 实例,connect 命令用来连接 DB2 实例中的数据库。下面的示例展示了 DB2 对发出这些命令的用户进行身份验证的不同方式。这些示例在数据库管理程序配置文件中使用默认的身份验证类型 SERVER。下面的例 3 说明了如何使用 DB2 修改服务器操作系统上的密码。 用创建 DB2 实例时使用的用户 ID 登录到安装 DB2 的上。发出以下命令: db2 attach to DB2 在这里,隐式地执行身份验证。使用登录机器的用户 ID,并假设这个 ID 已经经过了操作系统的检验。 db2 connect to sample user test1 using password Database Connection Information Database server = DB2/NT 9.1.0 SQL authorization ID = TEST1 Local database alias = SAMPLE 在这里,显式地执行身份验证。用户 test1 和密码 password 由操作系统进行检验。用户 test1 成功地连接到示例数据库。 db2 connect to sample user test1 using password new chgpass confirm chgpass 与例 2 中一样,用户 ID test1 和密码 password 由操作系统进行检验。然后,操作系统将 test1 的密码从 password 改为 chgpass。因此,如果再次发出例 2 中的命令,它就会失败。 DB2 身份验证类型 DB2 使用身份验证类型 决定在什么地方进行身份验证。例如,在机 - 服务器环境中,是客户机还是服务器检验用户的 ID 和密码?在客户机 - 网关 - 主机环境中,是客户机还是主机检验用户的 ID 和密码? DB2 9 能够根据用户是试图连接数据库,还是执行实例连接和实例级操作,指定不同的身份验证机制。在默认情况下,实例对于所有实例级和连接级请求使用一种身份验证类型。这由数据库管理程序配置参数 AUTHENTICATION 来指定。V9.1 中引入了数据库管理程序配置参数 SRVCON_AUTH。这个参数专门处理对数据库的连接。例如,如果在 DBM CFG 中进行以下设置: DB2 GET DBM CFG Server Connection Authentication (SRVCON_AUTH) = KERBEROS Database manager authentication (AUTHENTICATION) = SERVER_ENCRYPT 那么在连接实例时会使用 SERVER_ENCRYPT。但是在连接数据库时会使用 KERBEROS 身份验证。如果在服务器上没有正确地初始化 KERBEROS,但是提供了有效的用户 ID/密码,那么允许这个用户连接实例,但是不允许他连接数据库。 下表总结了可用的 DB2 身份验证类型。在客户机 - 网关 - 主机环境中,这些身份验证选项在客户机和网关上设置,而不是在主机上。本节将详细讨论如何设置这些选项。
*这些设置只对 Windows 2000、AIX、Solaris 和 Linux® 操作系统有效。 在服务器上设置身份验证 在数据库服务器上,在数据库管理程序配置(DBM CFG)文件中使用 AUTHENTICATION 参数设置身份验证。请记住,DBM CFG 文件是一个实例级配置文件。因此,AUTHENTICATION 参数影响这个实例中的所有数据库。以下命令演示如何修改这个参数。 要查看配置文件中的身份验证参数: db2 get dbm cfg 要将身份验证参数修改为 server_encrypt: C:PROGRA~1SQLLIBBIN> db2 update dbm cfg using authentication server_encrypt C:PROGRA~1SQLLIBBIN> db2stop C:PROGRA~1SQLLIBBIN> db2start 某些身份验证类型(比如 GSSPLUGIN、KERBEROS 和 CLIENT)要求设置其他数据库管理程序配置参数,比如 TRUST_ALLCLNTS、SRV_PLUGIN_MODE 和 SRVCON_PW_PLUGIN。 在网关上设置身份验证 使用 catalog database 命令在网关上设置身份验证。在这里的示例中,我们将使用名为 myhostdb 的主机数据库。 要将网关身份验证类型设置为 SERVER,应该在网关机器上发出以下命令: db2 catalog database myhostdb at node nd1 authentication SERVER db2 terminate 注意,身份验证不会在网关本身执行。在 DB2 Version 8 中,身份验证必须在客户机或主机数据库服务器上执行。 |