色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

DB2 Web 服務(wù)提供者的安全性(1)

瀏覽:9日期:2023-11-10 16:49:37
【導(dǎo)讀】在本文中,我們將解釋如何為 DB2 Web 服務(wù)提供者應(yīng)用程序啟用安全性,這包括啟用認(rèn)證、設(shè)置授權(quán)和確保消息是加密的。我們還將解釋 Web 服務(wù)用戶是如何被映射到數(shù)據(jù)庫用戶的。IBM ®DB2 ®Web 服務(wù)提供者(或者 WORF —— Web 服務(wù)對(duì)象運(yùn)行時(shí)框架)答應(yīng)我們輕易地將數(shù)據(jù)庫數(shù)據(jù)和存儲(chǔ)過程暴露為 Web 服務(wù)。這需要用戶編寫包含構(gòu)成 Web 服務(wù)事務(wù)的數(shù)據(jù)庫操作的 XML 文件。這些操作可以是 SELECT 語句、INSERT/UPDATE/DELETE 語句、存儲(chǔ)過程以及 XML Extender 操作。本文描述如何約束用戶訪問這些可以更新或者獲取數(shù)據(jù)庫數(shù)據(jù)的操作。什么是 Web 服務(wù)?Web 服務(wù)是一個(gè)面向消息的通信框架,它被設(shè)計(jì)為具有高度的互操作性和可擴(kuò)展性。消息是以 XML 格式進(jìn)行交換并且通過 SOAP(簡單對(duì)象訪問協(xié)議)進(jìn)行描述的。SOAP 消息由一個(gè)包括頭和主體的信封組成。頭包括一些關(guān)于消息的元數(shù)據(jù),它可以是一個(gè)事務(wù) ID 或者加密密鑰。主體包括實(shí)際的消息,它可以是一個(gè)訂單或者保險(xiǎn)報(bào)價(jià)。Web 服務(wù)提供者的實(shí)際接口是通過 Web 服務(wù)描述語言(Web Service Description Language,WSDL)描述的。這非常類似于 C 編程語言中的頭文件。WSDL 告訴用戶一個(gè) Web 服務(wù)提供者理解的操作,以及該操作的 輸入和 輸出是什么。WSDL 還包括新的特定于 Web 服務(wù)的類型定義。理解了 WSDL 之后,用戶就可以為 SOAP 請(qǐng)求消息創(chuàng)建 XML 了。用戶還知道期望來自 SOAP 響應(yīng)的 XML 是什么。通常,有一些工具用于構(gòu)建 SOAP 請(qǐng)求以及從 SOAP 響應(yīng)提取數(shù)據(jù)。可能使用的工具包括 WebSphere ®Studio 和 Microsoft ®Visual Studio .NET。請(qǐng)參閱參考資料中的一篇解釋如何與 Visual Studio .NET 一起使用 DB2 Web 服務(wù)提供者的文章。 123456下一頁 通常,SOAP 消息是通過 HTTP 發(fā)送的,但是還可能存在其他種類的傳輸,例如 WebSphere MQ。由于 HTTP 和 XML 等標(biāo)準(zhǔn)的廣泛使用,所以 Web 服務(wù)具有很強(qiáng)的互操作性。服務(wù)器端和客戶端可以使用不同的操作系統(tǒng)、應(yīng)用服務(wù)器和開發(fā)工具。訪問 Web 服務(wù)并不需要安裝像數(shù)據(jù)庫驅(qū)動(dòng)程序這樣的客戶機(jī)代碼。DB2 Web 服務(wù)提供者DB2 Web 服務(wù)提供者是 Java ™應(yīng)用服務(wù)器(比如 WebSphere Application Server 和 Jakarta Tomcat)的一個(gè)擴(kuò)展。Web 服務(wù)提供者將答應(yīng)您在 XML 文件中編寫數(shù)據(jù)庫操作并且將這些操作轉(zhuǎn)換為一個(gè) Web 服務(wù)。這種 XML 文件的一個(gè)示例是 DADX(文檔訪問定義擴(kuò)展)文件,它看起來類似于:清單 1. 一個(gè)簡單的 DADX 文件xmlns:xsd="http://www.w3.org/2001/XMLSchema">List contents of DEPARTMENT table.Lists each department.SELECT * FROM DEPARTMENT WHERE deptno=:deptnoWeb 服務(wù)提供者運(yùn)行時(shí)在運(yùn)行時(shí)做下列事情:從 DADX 文件創(chuàng)建 WDSL。從 DADX 創(chuàng)建一個(gè)基于瀏覽器的測試環(huán)境。使用 DADX 文件作為 Web 服務(wù)的實(shí)現(xiàn)。由于用戶只需要編寫 DADX 文件,因此并不需要理解 WSDL 規(guī)范。一個(gè)適度復(fù)雜的 DADX 的 WSDL 長度可能有許多頁。運(yùn)行時(shí)將確定一個(gè) SQL 操作的參數(shù)(比如本例中的 deptno)并且還分析該 SQL 結(jié)果集的元數(shù)據(jù),以創(chuàng)建正確的 XML 輸出類型。用戶將完成下列步驟,以創(chuàng)建一個(gè) DADX 應(yīng)用程序:創(chuàng)建一個(gè) DADX 文件。創(chuàng)建和部署一個(gè) Web 應(yīng)用程序。訪問基于瀏覽器的測試環(huán)境,例如,http://localhost:9080/services/sample/list.dadx/TEST。 上一頁123456下一頁 修改 Web 應(yīng)用程序中的 DADX 并再次調(diào)用測試。DADX 中的查詢是作為一個(gè)實(shí)現(xiàn)工作的,因?yàn)檫\(yùn)行時(shí)執(zhí)行查詢并將結(jié)果格式化為 XML。這意味著用戶不需要用編程語言編寫代碼并理解 Web 服務(wù)引擎的編程模型。假如用戶自己希望為 WebSphere 編寫 Web 服務(wù),他將需要編寫 Java 代碼或者 Enterprise Java Bean(EJB)來調(diào)用 SQL。用于訪問測試環(huán)境的 URL 包括 DADX 名稱(例如,list.dadx)以及其他部分。其中一個(gè)部分是“services,它是 DADX 所在的 Web 應(yīng)用程序的 名稱或者 上下文根。另一個(gè)部分(mydatabase)是一個(gè) 組名稱。組是 Web 應(yīng)用程序中的 DADX 文件的容器。組之間相互共享配置設(shè)置,比如用于連接數(shù)據(jù)庫的數(shù)據(jù)庫用戶。在后面,我們將看到假如配置數(shù)據(jù)庫用戶。安全性方面Web 應(yīng)用程序或者 Web 服務(wù)應(yīng)用程序的安全性由許多部分組成。其中許多安全性方面對(duì)于數(shù)據(jù)庫治理員是已知的。本節(jié)解釋在 WebSphere 中這是如何工作的。這里我們關(guān)注的事情是:識(shí)別/認(rèn)證授權(quán)完整性/機(jī)密性識(shí)別意味著告訴該服務(wù)您是誰。例如,您可以作為用戶“dirk進(jìn)行連接。當(dāng)然,假如沒有 認(rèn)證,這就沒有太多的意義。通過認(rèn)證,您提供一個(gè)證實(shí),表示您的確就是所聲稱的那個(gè)人。這個(gè)證實(shí)可以是一個(gè)口令或者某種安全令牌。這對(duì)于使用“CONNECT TO sample USER dirk USING mypasswordSQL 命令的用戶來說是熟悉的。授權(quán)負(fù)責(zé)為用戶答應(yīng)或者拒絕特定的事情。在數(shù)據(jù)庫系統(tǒng)中,這是通過“GRANT語句完成的。我們將解釋在 Web 服務(wù)上下文中,用戶是如何做類似“GRANT SELECT, INSERT ON CALENDAR TO USER PHIL的事情的。 上一頁123456下一頁 完整性是一種確保消息沒有被篡改的方法。通過使用 機(jī)密性,我們可以確保沒有人能夠讀取在非安全的通信隧道上傳輸?shù)南ⅰ4_保機(jī)密性的一個(gè)例子是使用加密。Web 服務(wù)安全性您可以通過以下兩種方式獲得 Web 服務(wù)安全性:傳輸級(jí)安全性。消息級(jí)安全性。傳輸級(jí)安全性意味著安全機(jī)制是通過傳輸所提供的方法獲得的。例如,您可以通過使用 HTTPS(安全 HTTP)獲得機(jī)密性。HTTPS 將加密所有被交換的 HTTP 消息。假如 Web 服務(wù)切換到另一個(gè)傳輸,比如不具有加密通信隧道的非安全的 HTTP,那么消息將再次以明文傳輸。本文解釋如何為 DB2 Web 服務(wù)提供者設(shè)置傳輸級(jí)安全性。雖然還沒有介紹消息級(jí)安全性,但是我們先來看看這個(gè)特性。由于您還希望非安全傳輸上的安全性,因此需要使用 消息級(jí)安全機(jī)制,比如 WS-Security。WS-Security 答應(yīng)用戶使用多種安全性元素,比如用戶名、簽名和加密機(jī)制以及安全令牌。與傳輸級(jí)安全性相比,WS-Security 答應(yīng)用戶只是加密消息的一部分(例如,信用卡號(hào)碼)而不是加密客戶機(jī)和服務(wù)器之間的完整通信。它還答應(yīng)不同的識(shí)別和認(rèn)證機(jī)制。圖 1. WS Security 路線圖DB2 Web 服務(wù)提供者的安全性(1)如圖 1 所示,WS-Security 是一個(gè) Web 服務(wù)安全性標(biāo)準(zhǔn),其他的 Web 服務(wù)安全性標(biāo)準(zhǔn)構(gòu)建在它的上面。IBM 和 Microsoft 發(fā)布了 WS Security 的這個(gè)路線圖(請(qǐng)參閱參考資料小節(jié))。其他的標(biāo)準(zhǔn)簡要描述如下:WS-Policy:描述中間點(diǎn)和端點(diǎn)上的安全策略(或者其他商業(yè)策略)的能力和約束(例如,所需的安全令牌,所支持的加密算法,隱私權(quán)規(guī)則)。WS-Trust:描述使 Web 服務(wù)能夠安全地進(jìn)行互操作的信任模型的框架。 上一頁123456下一頁 WS-Privacy:描述 Web 服務(wù)提供者和請(qǐng)求者如何聲明主題隱私權(quán)首選項(xiàng)和組織隱私權(quán)實(shí)踐聲明的模型。WS-SecureConversation:描述如何治理和認(rèn)證各方之間的消息交換,包括安全上下文交換以及建立和繼續(xù)會(huì)話密鑰。WS-Federation:描述在異構(gòu)的聯(lián)合環(huán)境中如何治理和代理信任關(guān)系,包括支持聯(lián)合的身份。WS-Authorization:描述如何治理授權(quán)數(shù)據(jù)和授權(quán)策略。在下面,我們討論 DB2 Web 服務(wù)提供者安全性所引起的問題,并展示如何在 WebSphere 中解決這些問題。在 WebSphere 中實(shí)現(xiàn) Web 服務(wù)安全性DB2 Web 服務(wù)提供者的安全性問題為 DB2 Web 服務(wù)提供者設(shè)置安全性的治理員的問題是識(shí)別和認(rèn)證的問題,這個(gè)我們已經(jīng)提到過。我們將要求用戶通過 HTTP 認(rèn)證進(jìn)行客戶認(rèn)證來解決該問題。HTTP 認(rèn)證意味著 HTTP 請(qǐng)求必須具有一個(gè)帶有用戶標(biāo)識(shí)和口令的 HTTP 頭字段。當(dāng)您在瀏覽器中碰到一個(gè)要求認(rèn)證的 Web 頁面時(shí),您通常得到一個(gè)對(duì)話框,讓您為該 Web 頁面輸入您的用戶標(biāo)識(shí)和口令。在 SOAP 情況下,必須修改客戶機(jī)程序以發(fā)送用戶標(biāo)識(shí)和口令。我們通過對(duì) URL 使用 J2EE(Java 企業(yè)版)授權(quán)機(jī)制來解決授權(quán)問題。由于所有的 Web 服務(wù)請(qǐng)求都基于發(fā)送消息到特定的 URL,我們可以配置 Web 應(yīng)用程序使得只有特定的用戶可以發(fā)送請(qǐng)求給特定 URL。URL 可以是一個(gè) DADX,或者是一組完整的 DADX 文件。我們將在后面具體討論。機(jī)密性和完整性可以通過要求用戶使用 HTTPS 來簡單地得到解決。這意味著所有網(wǎng)絡(luò)傳輸都是加密的,并且消息篡改也可以檢測到。這里還有最后一個(gè)問題,就是將利用 WebSphere 認(rèn)證的用戶映射到執(zhí)行 DADX 中的語句的數(shù)據(jù)庫用戶。由于我們的運(yùn)行時(shí)不能確定在 HTTP 認(rèn)證中所使用的用戶標(biāo)識(shí)和口令,因此我們不能使用該用戶連接到數(shù)據(jù)庫。在某些情況下,假如應(yīng)用服務(wù)器用戶不同于數(shù)據(jù)庫用戶,這甚至是不現(xiàn)實(shí)的。這種情況的一個(gè)例子是應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器運(yùn)行在不同的機(jī)器上并且都使用操作系統(tǒng)作為用戶注冊(cè)表。相反,您可以在組(包含多個(gè) DADX 文件)上指定一個(gè)用戶標(biāo)識(shí)和口令。該用戶將被用于執(zhí)行組中的 DADX 中的所有 SQL 語句。假如希望區(qū)分執(zhí)行 SQL 的用戶,您可以創(chuàng)建單獨(dú)的組,比如針對(duì)會(huì)計(jì)部門的用戶創(chuàng)建一個(gè)組,針對(duì)工程部門的用戶創(chuàng)建一個(gè)組。 上一頁123456下一頁 預(yù)備工作對(duì)于下面的步驟,我們假定您已經(jīng)按照安裝所推薦的,從 DB2 V8 安裝中的 sqllibsamplesjavaWebsphere 目錄下,將 dxxworf.zip 解壓到 c:worf。您還需要遵循安裝指令。您不需要安裝示例 Web 應(yīng)用程序 services.war,因?yàn)槲覀冊(cè)谙旅娴牟襟E中將要修改它。假如已經(jīng)部署 services.war,這是可以接受的,因?yàn)槲覀儗⒁言撌纠?war 部署為一個(gè)不同的 Web 應(yīng)用程序。我們將使用應(yīng)用服務(wù)器工具集(Application Server Toolkit,ASTK)來修改示例 war 文件,以增加安全性約束。ASTK 非常類似于 WebSphere Studio,因此假如用戶喜歡用 WebSphere Studio ,也能達(dá)到同樣的效果。第一步是將示例 war 文件導(dǎo)入到 ASTK 中。圖 2 中描述了這一步。圖 2. 導(dǎo)入示例 war 文件輸入您希望添加安全性約束的 war 文件的位置。圖 3. 指定 war 文件的位置我們創(chuàng)建一個(gè)名為“SecureDADX的新的 Web 應(yīng)用程序,該應(yīng)用程序?qū)?DADX 文件和其他配置文件。圖 4. 指定 Web 應(yīng)用程序的名稱同時(shí),還將示例 war 文件從符合 J2EE 1.2 遷移到符合 J2EE 1.3。選擇 SecureDADXWeb 模塊,右擊并選擇 Migrate和 J2EE Migration wizard。這答應(yīng)我們?cè)诤竺媸褂?WebSphere 5 DataSource。我們已經(jīng)導(dǎo)入 Web 應(yīng)用程序,現(xiàn)在可以針對(duì)安全性對(duì)它進(jìn)行修改了。下一步是在 war 文件中設(shè)置數(shù)據(jù)庫連接。 上一頁123456
標(biāo)簽: DB2 數(shù)據(jù)庫
主站蜘蛛池模板: 毛片免费网址 | 久久久一区二区三区不卡 | 国产亚洲欧洲一区二区三区 | 国产人成 | 成人三级做爰在线视频 | 精品欧美一区二区三区免费观看 | 亚洲综合一区二区精品久久 | 在线不卡亚洲 | 国产精品女上位在线观看 | 成年人网站在线观看免费 | 中国一级特黄剌激爽毛片 | 亚洲精品一区二区不卡 | 欧美精品人爱c欧美精品 | 国产一区二区在线看 | 色婷婷91| 久久亚洲高清观看 | 特黄视频| 老师张开腿让我爽了一夜视频 | 日韩三级小视频 | 国内91视频 | 高清一级淫片a级中文字幕 高清一区二区 | 亚洲香蕉久久一区二区三区四区 | 欧美日韩免费一区二区三区 | 91精品自在拍精选久久 | 男人又粗又硬桶女人免费 | 久久精品免费i 国产 | 成人在线免费观看网站 | 亚洲va在线va天堂va四虎 | 亚洲美女色成人综合 | 亚洲国产精品专区 | 日韩大片高清播放器大全 | 亚洲在线观看 | 久久精品国产亚洲7777小说 | 国产欧美一区二区精品性色 | 久久精品国产99国产精品免费看 | 亚洲欧美日本综合一区二区三区 | 国产精品亚洲天堂 | 中文字幕视频网站 | 美女张开腿黄网站免费国产 | theav视频在线观看 | 成年女人毛片免费观看中文w |