Informix11.7 提供了非操作系統(tǒng)用戶訪問數(shù)據(jù)庫的機(jī)制。在 Informix 之前的版本,所有訪問數(shù)據(jù)庫的用戶必須是一個(gè)擁有相應(yīng)權(quán)限的系統(tǒng)用戶。從 11.7 開始,Informix 允許用戶通過內(nèi)部授權(quán)服務(wù)(比如 Kerberos 或者 Microsoft Active Directory) 來連接 Informix
這種方法使系統(tǒng)可以通過映射系統(tǒng)中已存在的除 informix 和 root 外的其他用戶,來訪問。這種機(jī)制將會(huì)減少為了使用而創(chuàng)建的大量系統(tǒng)用戶。減少 dba 的工作量,增加系統(tǒng)的安全系數(shù)。
1. 概述
Informix11.7 提供了非操作系統(tǒng)用戶訪問數(shù)據(jù)庫的機(jī)制。在 Informix 之前的版本,所有訪問數(shù)據(jù)庫的用戶必須是一個(gè)擁有相應(yīng)權(quán)限的系統(tǒng)用戶。從 11.7 開始,Informix 允許用戶通過內(nèi)部授權(quán)服務(wù)(比如 Kerberos 或者 Microsoft Active Directory) 來連接 Informix 數(shù)據(jù)庫而無需系統(tǒng)用戶。這種方法使系統(tǒng)可以通過映射系統(tǒng)中已存在的除 Informix 和 root 外的其他用戶,來訪問數(shù)據(jù)庫。這種機(jī)制將會(huì)減少為了使用數(shù)據(jù)庫而創(chuàng)建的大量系統(tǒng)用戶。減少 DBA 的工作量,增加系統(tǒng)的安全系數(shù)。
2. Informix 的授權(quán)機(jī)制
Informix 從 Informix 11.7 版本開始提供除了通過操作系統(tǒng)用戶鑒權(quán)方式,還提供了非操作系統(tǒng)用戶 NON-OS user 鑒權(quán)方式。如下介紹這 2 種鑒權(quán)方式的機(jī)制和差異性。
2.1 Informix 操作系統(tǒng)用戶鑒權(quán)機(jī)制
Informix 傳統(tǒng)的操作系統(tǒng)用戶認(rèn)證方式就是使用一個(gè)操作系統(tǒng)用戶,并通過一個(gè)用戶 ID 和密碼來判定用戶的合法性。這是一種最常見也是最簡(jiǎn)單的認(rèn)證方式。下面是一個(gè) Informix 授權(quán)機(jī)制的示意圖。
圖 1. Informix 傳統(tǒng)驗(yàn)證機(jī)制示意圖
如圖 1 所示,傳統(tǒng)的認(rèn)證方式需要訪問數(shù)據(jù)庫的用戶同時(shí)也是一個(gè)系統(tǒng)用戶,即如要?jiǎng)?chuàng)建一個(gè) Informix 數(shù)據(jù)庫用戶,需要先創(chuàng)建一個(gè)操作系統(tǒng)用戶,然后對(duì)該用戶進(jìn)行授權(quán)訪問數(shù)據(jù)庫。當(dāng)有需要?jiǎng)?chuàng)建大量的數(shù)據(jù)庫用戶時(shí),就造成了會(huì)產(chǎn)生大量的系統(tǒng)用戶,需要較大的系統(tǒng)管理工作,同時(shí)對(duì)系統(tǒng)安全存在一些隱患。
2.2 Informix11.7 非系統(tǒng)用戶驗(yàn)證機(jī)制
Informix 自 11.7 版本開始增加了非系統(tǒng)用戶映射系統(tǒng)用戶來操作數(shù)據(jù)庫的方法,該方法可以使多個(gè)非系統(tǒng)用戶映射到一個(gè)系統(tǒng)用戶。如下所示是 Informix 非系統(tǒng)用戶訪問數(shù)據(jù)庫示意圖:
圖 2. Informix 非系統(tǒng)用戶驗(yàn)證機(jī)制示意圖
從上面的圖中可以看出,非系統(tǒng)用戶通過映射系統(tǒng)用戶來完成 Informix 的完全認(rèn)證,非系統(tǒng)用戶將使用被映射的操作系統(tǒng)用戶的 UserID 和 GroupID 等信息。Informix 的 onconfig 文件中的 USERMAPPING 參數(shù)用于控制映射功能的啟用和禁用。默認(rèn)情況下,只要啟用了映射功能,任何非系統(tǒng)用戶都可以通過被映射的系統(tǒng)用戶來連接數(shù)據(jù)庫。當(dāng)然,也可以通過命令控制用戶是否可以接入。