欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Informix 11.7非操作系统用户访问数据库的机制使用

程序员文章站 2022-05-05 11:20:14
...

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 传统验证机制示意图

Informix 11.7非操作系统用户访问数据库的机制使用

如图 1 所示,传统的认证方式需要访问数据库的用户同时也是一个系统用户,即如要创建一个 Informix 数据库用户,需要先创建一个操作系统用户,然后对该用户进行授权访问数据库。当有需要创建大量的数据库用户时,就造成了会产生大量的系统用户,需要较大的系统管理工作,同时对系统安全存在一些隐患。

2.2 Informix11.7 非系统用户验证机制

Informix 自 11.7 版本开始增加了非系统用户映射系统用户来操作数据库的方法,该方法可以使多个非系统用户映射到一个系统用户。如下所示是 Informix 非系统用户访问数据库示意图:

图 2. Informix 非系统用户验证机制示意图

Informix 11.7非操作系统用户访问数据库的机制使用

从上面的图中可以看出,非系统用户通过映射系统用户来完成 Informix 的完全认证,非系统用户将使用被映射的操作系统用户的 UserID 和 GroupID 等信息。Informix 的 onconfig 文件中的 USERMAPPING 参数用于控制映射功能的启用和禁用。默认情况下,只要启用了映射功能,任何非系统用户都可以通过被映射的系统用户来连接数据库。当然,也可以通过命令控制用户是否可以接入。