时间:2021-07-01 10:21:17 帮助过:33人阅读
Informix11.7 提供了非操作系统用户访问数据库的机制。在 Informix 之前的版本,所有访问数据库的用户必须是一个拥有相应权限的系统用户。从 11.7 开始,Informix 允许用户通过内部授权服务(比如 Kerberos 或者 Microsoft Active Directory) 来连接 Informix
这种方法使系统可以通过映射系统中已存在的除 Informix 和 root 外的其他用户,来访问。这种机制将会减少为了使用而创建的大量系统用户。减少 DBA 的工作量,增加系统的安全系数。
1. 概述
Informix11.7 提供了非操作系统用户访问数据库的机制。在 Informix 之前的版本,所有访问数据库的用户必须是一个拥有相应权限的系统用户。从 11.7 开始,Informix 允许用户通过内部授权服务(比如 Kerberos 或者 Microsoft Active Directory) 来连接 Informix 数据库而无需系统用户。这种方法使系统可以通过映射系统中已存在的除 Informix 和 root 外的其他用户,来访问数据库。这种机制将会减少为了使用数据库而创建的大量系统用户。减少 DBA 的工作量,增加系统的安全系数。
2. Informix 的授权机制
Informix 从 Informix 11.7 版本开始提供除了通过操作系统用户鉴权方式,还提供了非操作系统用户 NON-OS user 鉴权方式。如下介绍这 2 种鉴权方式的机制和差异性。
2.1 Informix 操作系统用户鉴权机制
Informix 传统的操作系统用户认证方式就是使用一个操作系统用户,并通过一个用户 ID 和密码来判定用户的合法性。这是一种最常见也是最简单的认证方式。下面是一个 Informix 授权机制的示意图。
图 1. Informix 传统验证机制示意图
如图 1 所示,传统的认证方式需要访问数据库的用户同时也是一个系统用户,即如要创建一个 Informix 数据库用户,需要先创建一个操作系统用户,然后对该用户进行授权访问数据库。当有需要创建大量的数据库用户时,就造成了会产生大量的系统用户,需要较大的系统管理工作,同时对系统安全存在一些隐患。
2.2 Informix11.7 非系统用户验证机制
Informix 自 11.7 版本开始增加了非系统用户映射系统用户来操作数据库的方法,该方法可以使多个非系统用户映射到一个系统用户。如下所示是 Informix 非系统用户访问数据库示意图:
图 2. Informix 非系统用户验证机制示意图
从上面的图中可以看出,非系统用户通过映射系统用户来完成 Informix 的完全认证,非系统用户将使用被映射的操作系统用户的 UserID 和 GroupID 等信息。Informix 的 onconfig 文件中的 USERMAPPING 参数用于控制映射功能的启用和禁用。默认情况下,只要启用了映射功能,任何非系统用户都可以通过被映射的系统用户来连接数据库。当然,也可以通过命令控制用户是否可以接入。