成人在线你懂的-成人在线免费小视频-成人在线免费网站-成人在线免费视频观看-日韩精品国产一区二区-日韩精品国产一区

掃一掃
關(guān)注微信公眾號

DB2 UDB 安全性插件概述
2008-04-24   

安全性插件是動態(tài)可裝載庫,當(dāng) DB2 UDB 進行身份驗證或者從組成員中查找某個用戶的時候,便調(diào)用這些庫。在 8.2 版之前,這些操作是由 DB2 UDB 之外的設(shè)施管理的,例如操作系統(tǒng)、域管理器或 Kerberos 安全性系統(tǒng)。圖 1 提供的場景說明了在 8.2 版之前 DB2 UDB 安全性的工作原理。下一節(jié)將描述 8.2 版中發(fā)生的變化。

圖 1. 安全性場景

 

圖 1 說明了 4 個安全性場景:

  1. 客戶機系統(tǒng)通過服務(wù)器系統(tǒng)連接到數(shù)據(jù)庫時的安全性考慮。

    在圖 1 左側(cè),一個用戶在 DB2 客戶機系統(tǒng)的命令行處理程序(CLP)窗口中發(fā)出了語句 connect to mydb user raul using raulpsw,以連接到位于 DB2 數(shù)據(jù)庫服務(wù)器 Aries 上的數(shù)據(jù)庫 mydb。DB2 客戶機與服務(wù)器通信,協(xié)商采用何種身份驗證方法。為簡單起見,我們假設(shè)客戶機使用服務(wù)器返回的身份驗證方法。在圖中,AUTHENTICATION 被設(shè)置為 SERVER。這意味著,服務(wù)器(I)上的操作系統(tǒng)將通過檢查提供的用戶 ID 和密碼是否與存儲在操作系統(tǒng)安全性數(shù)據(jù)庫中的值匹配,來進行身份驗證。一旦用戶通過身份驗證,DB2 將從操作系統(tǒng)獲得組成員信息。從此以后,DB2 不再在以后的檢查中使用用戶 ID 或密碼;相反,DB2 將使用授權(quán) ID(authID)。通常,authID 是用戶 ID 的大寫版本。
  2. 連接到數(shù)據(jù)庫之后執(zhí)行 SQL 語句時的安全性考慮。

    圖 1 的左下部分展示了一條 SELECT 語句,該語句是在以 authID RAUL 連接到數(shù)據(jù)庫 mydb 的情況下發(fā)出的。在這個例子中,內(nèi)部的 DB2 安全性設(shè)施審核 DB2 編目表,以確認(rèn) authID RAUL 被授予對表 KEVIN.TABLE1 執(zhí)行 SELECT 操作的權(quán)限,以此來執(zhí)行授權(quán)(authorization) 檢查。如果 authID RAUL 和 PUBLIC 沒有被授予這種權(quán)限,DB2 將檢查該用戶是否為幾個特殊的組(例如 SYSADM、SYSCTRL、SYSMAINT 或 SYSMON)的成員。對于這些組中的每一個組,都有數(shù)據(jù)庫管理器配置(dbm cfg)參數(shù),可以將這些參數(shù)設(shè)置為一個操作系統(tǒng)組的值。在連接時,DB2 從操作系統(tǒng)中獲取用戶的組信息,并緩存在內(nèi)存中。然后,DB2 審核這個緩存的數(shù)據(jù)(II),以檢查 authID RAUL 是否為這些組中某個組的成員。例如,如果 authID 是 SYSADM 組的成員,那么 SELECT 可以繼續(xù),否則將返回一條錯誤消息(SQLCODE -551)。
  3. 在客戶機實施安全性時的安全性考慮。

    在圖 1 中,如果 AUTHENTICATION 被設(shè)置為 CLIENT,那么客戶機上的操作系統(tǒng)將實施身份驗證(III)。對于 SELECT 語句的授權(quán)檢查將如前面所說的一樣進行:DB2 從數(shù)據(jù)庫的 DB2 編目表中檢驗 authID RAUL 是否有對 KEVIN.TABLE1 表的 SELECT 權(quán)限。如果 authID RAUL 和 PUBLIC 沒有該權(quán)限,將進行組成員檢查。在連接時,DB2 從客戶機獲得組成員信息,并緩存在服務(wù)器上。
  4. 發(fā)出實例級命令時的安全性考慮。

    在圖 1 中的服務(wù)器上,DB2 實例所有者 db2inst1 發(fā)出命令 db2stop。DB2 檢查當(dāng)前登錄進來的用戶是否屬于 SYSADM_GROUP、SYSCTRL_GROUP 或 SYSMAINT_GROUP 中定義的組。(IV)如果用戶 ID 屬于以上任何一個組,那么 db2stop 命令將得以執(zhí)行。否則,將返回一條錯誤消息。取決于實例級操作,用戶可能必須屬于 SYSADM、SYSCTRL、SYSMAINT 或 SYSMON 中的一個組。

在以上每個場景中,都調(diào)用了操作系統(tǒng)來進行安全性檢查。而從 8.2 版開始,以上每種情況都可以使用安全性插件。因而,不必總是調(diào)用操作系統(tǒng),在場景 1 中可以調(diào)用服務(wù)器和組插件,在場景 2 中可以調(diào)用組插件,在場景 3 和場景 4 中可以調(diào)用客戶機和組插件。

這個例子介紹了三種類型的安全性插件:

  • 服務(wù)器端身份驗證安全性插件(即服務(wù)器身份驗證插件)
  • 客戶端身份驗證安全性插件(即客戶機身份驗證插件)
  • 組成員查找安全性插件(即組插件)

 

服務(wù)器身份驗證插件在數(shù)據(jù)庫服務(wù)器上執(zhí)行身份驗證。它還用于檢查一個 authID 是否為插件所知。例如,考慮 SQL 語句 grant select on table user1.t1 to FOO,DB2 不知道 FOO 是用戶還是組。在這種情況下,DB2 詢問所有服務(wù)器端插件和組成員插件,以檢查 FOO 是用戶還是組,或者兩者都是,或者無法確定,從而可以對該 SQL 語句作出響應(yīng)。

客戶機身份驗證插件在客戶機上執(zhí)行身份驗證。在執(zhí)行實例級命令(例如 db2startdb2stopdb2trcupdate dbm cfg 等)時,它還用于執(zhí)行實例級本地授權(quán)。因此,常常可以看到在一個數(shù)據(jù)庫服務(wù)器上同時指定了客戶機身份驗證插件和服務(wù)器身份驗證插件。

組插件在客戶機和數(shù)據(jù)庫服務(wù)器上執(zhí)行組成員查找。它還用于檢查一個 authID 是否為插件所知。

每個安全性插件由一組 API 組成,需要實現(xiàn)這些 API。DB2 提供安全性插件基礎(chǔ)設(shè)施和一些缺省的安全性插件。定制的安全性插件的實現(xiàn)則有待您來決定。

熱詞搜索:

上一篇:破解本地的mysql用戶名和密碼
下一篇:Access 數(shù)據(jù)庫安全攻防策略

分享到: 收藏
主站蜘蛛池模板: 抗击 电影| 抗日电影大全免费观看| 惊天械劫案| 基础综合英语邱东林电子版答案| 老妇勾搭少年| 来5566看av激情电影使劲撸| 亚洲猛色少妇xxxxx色老头| 电影儿媳| 奶粉过敏的症状和表现| 敖丙手机壁纸| 蛮荒的童话 电影| 庞敏| 《克莱默夫妇》| 黄影| 爱情重伤| 童宁全部经典电影| 阴阳先生之阴阳中间站 2016 彭禺厶| 欧美乱淫av片免费黑鬼| 陈宝莲拍过的电影| 珠江电影制片厂| 狂野殴美激情性bbbbbb| 国产艳遇久久久久久久精品电影| 范冰冰激情片段| 古灵精探演员表| 我的丁香结| 百字明咒注音全文读诵| 深夜影院一级毛片| 大太监李莲英| 成年人看| 火船 电影| 暗潮危机电影完整版在线观看| 座头市 电影| 加藤视频下载| 珠江电视台直播 珠江频道| 新红楼梦电影| 北京宝哥打小混混视频| 尹丽川| 新目标大学英语综合教程2答案| 艳女十八式无删减版| 尹雪喜演的电影| 质量教育培训的首要内容是() (单选题) |