如果你的機(jī)器系統(tǒng)是win2000 pro版本或winxp的話,就只能裝SQLSERVER的個(gè)人版和開發(fā)版;如果你的機(jī)器系統(tǒng)是win2003以上版本或windows2000服務(wù)器版的話,裝SQLSERVER的企業(yè)版比較適合;
公司主營業(yè)務(wù):網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出羅江免費(fèi)做網(wǎng)站回饋大家。
兩種安全模式:
Windows 認(rèn)證模式:用戶通過一個(gè)現(xiàn)成的Windows用戶帳號來連接服務(wù)器。當(dāng)一個(gè)用戶試圖與一個(gè)服務(wù)器連接的時(shí)候,SQL Server將會認(rèn)證用戶的Windows帳號的名稱和密碼。用戶不能同時(shí)進(jìn)入網(wǎng)絡(luò)和SQL Server,只能進(jìn)入其中的一個(gè)。這一方法也被稱為一個(gè)被依賴的連接。
混合模式:這一模式將Windows認(rèn)證模式和SQL Server認(rèn)證聯(lián)接在一起。用戶可以通過一個(gè)Windows用戶帳號進(jìn)行連接,這正如Windows認(rèn)證一樣。但是,你也可以在SQL Server中直接建立用戶帳號。每一個(gè)SQL Server帳號都存儲了一個(gè)用戶名和密碼。
我們建議在可能的情況下都使用Windows認(rèn)證模式。然而,混合模式很可以使用,特別是在SQL Server 7.0(或更早版本)都可以使用。.對于早期的SQL Server版本,SQL Server認(rèn)證存在一些缺點(diǎn)。Windows認(rèn)證已經(jīng)集成了操作系統(tǒng)的安全系統(tǒng),這就提供了比SQL Server認(rèn)證更多的安全特性,很容易的使用,效率更加高,安全性更加好。在設(shè)計(jì)開始的時(shí)候,你應(yīng)該認(rèn)真考慮選擇哪一種模式最為合適。
密碼
無論采用哪一些模式,你應(yīng)該記住在SQL Server中為系統(tǒng)管理者(sa)設(shè)置一個(gè)密碼。當(dāng)安裝SQL Server時(shí),安裝程序會自動(dòng)建立一個(gè)帶有SQL Server注冊名稱(sa)和一個(gè)空白密碼的管理用戶。如果你保持這些用戶設(shè)置原樣而使用混合安全模式,任何具備一點(diǎn)SQL Server基礎(chǔ)知識的用戶都可以很容易地進(jìn)入到你的數(shù)據(jù)庫中并做任何他想要做的事情。如果你使用的是Windows認(rèn)證模式,在理論上你無需為sa用戶設(shè)置一個(gè)密碼,因?yàn)镾QL Server注冊不會接受這些的設(shè)置。但是設(shè)置是一個(gè)很良好的操作,尤其是當(dāng)你被迫轉(zhuǎn)移到將來使用的混合模式的時(shí)候。
如果安全模式已經(jīng)啟動(dòng),注冊將成為關(guān)鍵。你必須使用正確的.方法來啟動(dòng)程序,注冊也是同樣的,如果你不能正確地輸入用戶名和密碼,程序?qū)⒉荒苓B接到網(wǎng)絡(luò),同時(shí)也不能連接到SQL Server。
作為一個(gè)管理者,一旦你已經(jīng)啟動(dòng)了程序,你就做好安全管理的準(zhǔn)備??梢酝ㄟ^定義以下的特性而實(shí)現(xiàn):
用戶(帳號):一個(gè)SQL Serve安全帳號代表著一個(gè)唯一的用戶。一個(gè)用戶也只有一個(gè)Windows帳號或者一個(gè)SQL Server注冊,這與數(shù)據(jù)庫中的用戶帳號相統(tǒng)一。
組(帳號):每一個(gè)用戶都屬于一個(gè)或多個(gè)組,這由認(rèn)證模式?jīng)Q定。每一個(gè)組都具有特定許可。作為一個(gè)組的成員,你將獲得所有組的許可。
對象所有權(quán):所有權(quán)屬于建立對象的用戶。所有者可以將訪問權(quán)限分配給用戶。如果你是一個(gè)視的所有者,你還可以決定哪些用戶可以通過視來查看數(shù)據(jù)。
許可:一個(gè)許可代表著具有執(zhí)行某些操作的權(quán)利,比如打開一個(gè)視或者更改一個(gè)存儲程序。SQL Server承認(rèn)許可的三種狀態(tài):GRANT給你一個(gè)用戶訪問;REVOKE刪除訪問;DENY防止用戶訪問對象。
任務(wù):這是一個(gè)SQL Server安全帳號,可以將帳號的集合作為一個(gè)簡單的單元來處理。任務(wù)定義在特定數(shù)據(jù)庫中用戶可以做哪些和哪些不可以做。
設(shè)計(jì)過程應(yīng)該用效地定義哪些地方需要進(jìn)行安全設(shè)置和如何設(shè)置。在這一過程之前你應(yīng)該從兩個(gè)方面考慮:
敏感數(shù)據(jù);
敏感數(shù)據(jù)包括所有可能的數(shù)據(jù),包括整個(gè)數(shù)據(jù)庫中的所有數(shù)據(jù),雖然這樣的安全級別很少存在。你的工作就是定義為敏感數(shù)據(jù)并進(jìn)行保護(hù)。
你選擇的認(rèn)證模式和建立的注冊將通過限制哪些用戶可以進(jìn)入到數(shù)據(jù)庫而實(shí)施第一步安全步驟。
第二步就要列舉可以訪問數(shù)據(jù)庫的所有用戶,然后決定所有數(shù)據(jù)是否對所有的用戶都適用。通常,你需要對一些數(shù)據(jù)進(jìn)行保護(hù),比如工資或者其他私人數(shù)據(jù)。這就意味著只有特定的用戶可以訪問和查看數(shù)據(jù)。你還可以設(shè)置哪些用戶更改數(shù)據(jù)。
始終記住的一條規(guī)則是“最小權(quán)利”概念。如果有人在他的工作中不需要訪問數(shù)據(jù),那即不要給他訪問的權(quán)限。應(yīng)該避免所有的用戶都具有sa用戶的訪問權(quán)限。
具體的建議
當(dāng)進(jìn)行安全設(shè)置的時(shí)候,經(jīng)驗(yàn)也是一個(gè)很好的老師,但通常也會有適用于通用數(shù)據(jù)庫的設(shè)計(jì)準(zhǔn)則
從開始就獲得數(shù)據(jù)庫和對象的所有權(quán)。當(dāng)建立一個(gè)新的數(shù)據(jù)庫時(shí),你將會成為數(shù)據(jù)庫的所有者,并能夠設(shè)置數(shù)據(jù)庫中所有發(fā)生一切。你可以以管理者的身份注冊數(shù)據(jù)庫。然而,對象的所有權(quán)屬于建立對象的用戶。雖然這可能造成所有權(quán)的轉(zhuǎn)移,但可以確定這些的注冊能夠被用于建立所有的對象。
理解所有權(quán)鏈。這一安全特性防止用戶建立自己的視而偷看一些敏感數(shù)據(jù)。例如,假設(shè)你建立一個(gè)從兩個(gè)表中集中的數(shù)據(jù)的視,如果你是這兩個(gè)表的所有者,當(dāng)你允許其他用戶使用視的許可時(shí),SQL Server不會檢查表的有關(guān)許可。
使用視和存儲程序以分配給用戶訪問數(shù)據(jù)的權(quán)利,而不是讓用戶編寫一些直接訪問表格的特別查詢語句。通過這種方式,你無需在表格中將訪問權(quán)利分配給用戶。視和存儲程序
也可以限制查看的數(shù)據(jù)。例如,如果你的雇員表格包含一些秘密的工資信息,你可以建立一個(gè)省略了工資欄的視。
如果用戶從特定程序中進(jìn)入你的程序,你可以建立程序任務(wù)。一個(gè)程序任務(wù)就是分配到特定程序的用戶,并給予用戶的有關(guān)許可。使用程序任務(wù),用戶不能直接地認(rèn)證數(shù)據(jù)庫,相反,他們先認(rèn)證他們自己的程序,這就決定哪些程序任務(wù)與服務(wù)器相連接。
時(shí)刻注意程序補(bǔ)丁。不可否認(rèn)的,程序補(bǔ)丁是一些訣竅的集合。程序的發(fā)布,更新等都會引入新的問題,使用程序補(bǔ)丁是防止外界干擾和保護(hù)數(shù)據(jù)的最好和最容易的方法。可以訪問微軟主頁上的SQL Service Pack下載頁,查看當(dāng)前最新的程序補(bǔ)丁。
與SQL SERVER安全控制相關(guān)的幾點(diǎn)說明
(一)幾個(gè)基本術(shù)語
身份驗(yàn)證(Authentication)是指通過提交服務(wù)器評估的憑據(jù)以登錄到主體請求訪問的 SQL Server 的過程。身份驗(yàn)證可以確定接受身份驗(yàn)證的用戶或進(jìn)程的標(biāo)識。
用戶、賬戶、賬號、登錄名、[數(shù)據(jù)庫]用戶名
用戶是指能夠在SQL Server安全機(jī)制下,訪問數(shù)據(jù)庫對象中的數(shù)據(jù)的操作員或客戶。用戶若要訪問數(shù)據(jù)庫對象,必須獲得數(shù)據(jù)庫管理員(DBA)分配的賬號和密碼。從SQL Server管理系統(tǒng)的角度來看,用戶就是一組匹配的賬戶和密碼。
賬戶和賬號是一個(gè)概念的不同說法,在服務(wù)器中的賬戶又叫登錄名(Login Name),因此訪問服務(wù)器也稱為登錄服務(wù)器。服務(wù)器的登錄名可以映射到數(shù)據(jù)庫中成為[數(shù)據(jù)庫]用戶名(User Name)。一個(gè)登錄名可以映射多個(gè)數(shù)據(jù)庫用戶,而一個(gè)用戶只能映射一個(gè)登錄名。
連接或登錄SQL Server服務(wù)器時(shí)是用的登錄名而非用戶名登錄的,程序里面的連接字符串中的用戶名也是指登錄名。
通常用戶名與登錄名相同(不是強(qiáng)制相同,但為了一目了然通常都在創(chuàng)建用戶名時(shí)使用與登錄名相同的名字)。
提示:登錄名(Login Name)和用戶名(User Name)是兩個(gè)不同的概念:
登錄名:服務(wù)器方的一個(gè)實(shí)體,登錄名只能進(jìn)入SQL Server服務(wù)器,但是不能讓用戶訪問服務(wù)器中的數(shù)據(jù)庫資源。
用戶名:一個(gè)或多個(gè)登錄對象在數(shù)據(jù)庫中的映射,可以對用戶對象進(jìn)行授權(quán),以便為登錄對象提供對數(shù)據(jù)庫的訪問權(quán)限。
登錄名作用于它所在的服務(wù)器。每個(gè)登錄名的定義存放在master系統(tǒng)數(shù)據(jù)庫的syslogins表中。
用戶名作用于它所在的數(shù)據(jù)庫。用戶定義信息存放在每個(gè)數(shù)據(jù)庫的sysusers表中。用登錄名登錄到SQL Server后,在訪問操作各個(gè)數(shù)據(jù)庫時(shí),SQL Server會自動(dòng)查詢此數(shù)據(jù)庫中是否存在與此登錄名關(guān)聯(lián)的用戶名,若存在就使用此用戶的權(quán)限訪問此數(shù)據(jù)庫,若不存在就是用guest用戶訪問此數(shù)據(jù)庫(guest是一個(gè)特殊的用戶名,后面會講到)。
SQL身份驗(yàn)證:適合于非windows平臺的用戶或Internet用戶,需要提供賬戶和密碼。
Windows身份驗(yàn)證:適合于windows平臺用戶,利用Windows賬戶和windows集成驗(yàn)證,不需要提供密碼。
用戶想要操作數(shù)據(jù)庫的某個(gè)對象(如某張表)需要過三關(guān):
第一關(guān):我們需要登錄到SQL Server系統(tǒng),即需要登錄賬戶;
第二關(guān):我們需要訪問某個(gè)數(shù)據(jù)庫,即需要該數(shù)據(jù)庫的用戶賬戶;
第三關(guān):我們需要訪問數(shù)據(jù)庫中的某個(gè)對象(如某張表),需要有該對象的權(quán)限。
主體(principal)是可被授予對安全資源的訪問權(quán)限的實(shí)體(例如登錄名、用戶、進(jìn)程、組或角色)。主體可以是主體的集合(比如數(shù)據(jù)庫角色或Windows組)或不可分割的主體(比如本地登錄或域登錄)。每個(gè)主體都具有一個(gè) ID (identification)和一個(gè)安全 ID (SID)。
⊙ Windows級別的主體:Windows組、Windows域登錄名、Windows本地登錄名。
⊙ SQL Server級的主體:服務(wù)器角色、SQLServer登錄名。
⊙數(shù)據(jù)庫級的主體:數(shù)據(jù)庫角色、數(shù)據(jù)庫用戶、應(yīng)用程序角色。
上下文切換 (context switch),更改檢查執(zhí)行語句或執(zhí)行操作的權(quán)限時(shí)所依據(jù)的標(biāo)識。
服務(wù)器(server)
1)指安裝了SQL SERVER的計(jì)算機(jī)。2)指SQL Server實(shí)例——計(jì)算機(jī)上運(yùn)行的 SQLServer的副本。3)指為用戶提供服務(wù)的計(jì)算機(jī)軟件或組件。
需要根據(jù)上下文理解。
注冊服務(wù)器
注冊服務(wù)器使您可以存儲服務(wù)器連接信息(服務(wù)器的類型、服務(wù)器的名稱、登錄到服務(wù)器時(shí)使用的身份驗(yàn)證的類型等),以供將來連接時(shí)使用——下次連接該服務(wù)器時(shí),不需要重新輸入登錄信息。
SQLServer 2000在SQL Server企業(yè)管理器中注冊服務(wù)器,才能使用 SQL Server企業(yè)管理器來管理這些服務(wù)器。從SQLServer 2005始,在 SQL ServerManagement Studio 中注冊服務(wù)器,才能使用 SQL Server Management Studio 來管理這些服務(wù)器。
在 Microsoft SQL Server中,可以注冊以下類型的服務(wù)器:SQLServer數(shù)據(jù)庫引擎、Analysis Services、Reporting Services、IntegrationServices和 SQL Server Compact 3.5SP1。
(二)SQL Server實(shí)例(SQL Server instance)
SQLServer實(shí)例(SQL Server instance),簡稱實(shí)例 (instance),是計(jì)算機(jī)上運(yùn)行的SQLServer 的副本。同一臺計(jì)算機(jī)上可以安裝運(yùn)行的多個(gè) SQLServer副本。每個(gè)SQL Server實(shí)例都包含數(shù)據(jù)庫引擎、Analysis Services和 ReportingServices的 SQL Server,每個(gè)SQL Server數(shù)據(jù)庫實(shí)例各有一套不為其他實(shí)例共享的系統(tǒng)及用戶數(shù)據(jù)庫。
數(shù)據(jù)庫引擎是用于存儲、處理和保護(hù)數(shù)據(jù)的核心服務(wù)。利用數(shù)據(jù)庫引擎可控制訪問權(quán)限并快速處理事務(wù)。
實(shí)例又分為“默認(rèn)實(shí)例”(default instance)和“命名實(shí)例”(namedinstance),如果在一臺計(jì)算機(jī)上安裝第一個(gè)SQLSERVER,命名設(shè)置保持默認(rèn)的話,那這個(gè)實(shí)例就是默認(rèn)實(shí)例。默認(rèn)實(shí)例與安裝計(jì)算機(jī)具有相同名稱。命名實(shí)例指安裝SQL Server時(shí)給定了名稱,可以安裝多個(gè)命名實(shí)例,給定名稱是為了與同一臺計(jì)算機(jī)上的其他命名實(shí)例和默認(rèn)實(shí)例區(qū)分開。
SQLServer應(yīng)用程序可以通過僅指定服務(wù)器名稱而連接到 SQLServer的默認(rèn)實(shí)例。SQL Server應(yīng)用程序在連接到服務(wù)器上的某個(gè)命名實(shí)例時(shí)必須既指定服務(wù)器名稱又指定實(shí)例名稱,計(jì)算機(jī)名稱\實(shí)例名稱。
一臺計(jì)算機(jī)上最多只有一個(gè)默認(rèn)實(shí)例,也可以沒有默認(rèn)實(shí)例,默認(rèn)實(shí)例名與計(jì)算機(jī)名相同。如果要訪問本機(jī)上的默認(rèn)SQL服務(wù)器實(shí)例,使用計(jì)算機(jī)名、(local)、localhost、127.0.0.1、.、本機(jī)IP地址,都可以達(dá)到相同的目的。但如果要訪問非本機(jī)的SQL服務(wù)器,那就必須使用計(jì)算機(jī)名稱\實(shí)例名稱。
默認(rèn)實(shí)例和命名實(shí)例的區(qū)別:
1、服務(wù)中服務(wù)名稱的區(qū)別:
(1)默認(rèn)實(shí)例:MSSQLSERVER。
(2)有名命名實(shí)例:實(shí)列名為benet,在服務(wù)中的名稱是MSSQL$BENET。
注:如果你有多個(gè)實(shí)例的時(shí)候會在服務(wù)中出現(xiàn)多個(gè)服務(wù)名稱。
2、連接到查詢分析器或探查器的時(shí)候區(qū)別:
(1)默認(rèn)實(shí)例可以使用:“.”(點(diǎn))、“(local)”、“計(jì)算機(jī)名稱”。
(2)實(shí)例名稱:計(jì)算機(jī)名pcname,實(shí)例名benet,連接時(shí)使用的名稱是pcname\benet。
(三)安全對象和權(quán)限
安全對象(Securable),可以通過權(quán)限得到保護(hù)的實(shí)體。是SQLServer數(shù)據(jù)庫引擎授權(quán)系統(tǒng)控制對其進(jìn)行訪問的資源。如表、視圖、觸發(fā)器等。
SQLServer中將安全對象分為三個(gè)層次,分別為:
⊙服務(wù)器層級,包含的安全對象:端點(diǎn)、登錄、服務(wù)器角色、數(shù)據(jù)庫。
⊙數(shù)據(jù)庫層級,包含的安全對象:用戶、數(shù)據(jù)庫角色、應(yīng)用程序角色、程序集、消息類型、路由、服務(wù)、遠(yuǎn)程服務(wù)綁定、全文目錄、證書、非對稱密鑰、對稱密鑰、約定、架構(gòu)。
⊙構(gòu)架(SCHEMA)層級,包含的安全對象:類型、XML架構(gòu)集合、對象(函數(shù)、過程、同義詞、表、視圖)
這三個(gè)層級是從上到下包含的,級別從高到低。
說明:端點(diǎn)(endpoint)為服務(wù)器級安全對象。Microsoft SQL Server 2005 中的連接管理基于“端點(diǎn)”。一個(gè)端點(diǎn)就是一個(gè)SQL Server對象,它能夠使 SQL Server在網(wǎng)絡(luò)中通信。對于數(shù)據(jù)庫鏡像,服務(wù)器實(shí)例需要有自己專用的“數(shù)據(jù)庫鏡像端點(diǎn)”。此端點(diǎn)用途特殊,專門用于接收來自其他服務(wù)器實(shí)例的數(shù)據(jù)庫鏡像連接。
權(quán)限 (permission),與對象關(guān)聯(lián)的規(guī)則,用來規(guī)定哪些用戶可以獲得該對象的訪問權(quán)限以及方式如何。對安全對象的訪問通過授予或拒絕權(quán)限進(jìn)行控制。
權(quán)限可以明確用戶能夠使用哪些數(shù)據(jù)庫對象,并對它們進(jìn)行何種操作。用戶在數(shù)據(jù)庫內(nèi)的權(quán)限取決于用戶賬號的權(quán)限和該用戶所屬的角色的權(quán)限。
提示:在設(shè)置權(quán)限時(shí),尤其要注意權(quán)限在安全對象上的繼承關(guān)系。對于高級別安全對象上設(shè)置的權(quán)限,會被自動(dòng)繼承到低級別安全對象上。
理解權(quán)限的繼承和權(quán)限的覆蓋會在設(shè)置權(quán)限時(shí)減少很多問題,最佳方法是統(tǒng)籌規(guī)劃,上機(jī)驗(yàn)證。
(四)架構(gòu)(schema)
架構(gòu)是指包含表、視圖、過程等的容器。它位于數(shù)據(jù)庫內(nèi)部,而數(shù)據(jù)庫位于服務(wù)器內(nèi)部。這些實(shí)體就像嵌套框放置在一起。服務(wù)器是最外面的框,而架構(gòu)是最里面的框。架構(gòu)包含表、視圖、過程、函數(shù)、同義詞、類型、隊(duì)列、XML架構(gòu)集合等安全對象。
注意:
在 SQL Server 2000和早期版本中,數(shù)據(jù)庫可以包含一個(gè)名為“架構(gòu)”的實(shí)體, SQL Server 2000包含 CREATE SCHEMA語句,但此實(shí)體實(shí)際上是所有者(創(chuàng)建對象時(shí)的用戶)。在 SQL Server 2005 開始,架構(gòu)既是一個(gè)容器,又是一個(gè)命名空間。任何用戶都可以擁有架構(gòu),并且架構(gòu)所有權(quán)可以轉(zhuǎn)移。從 SQL Server 2005開始,每個(gè)用戶都擁有一個(gè)默認(rèn)架構(gòu)。可以使用 CREATE USER或 ALTER USER的 DEFAULT_SCHEMA選項(xiàng)設(shè)置和更改默認(rèn)架構(gòu)。如果未定義 DEFAULT_SCHEMA,則數(shù)據(jù)庫用戶將使用 dbo作為默認(rèn)架構(gòu)。
在SQL Server 2000中,DataBaseName.dbo.TableName解釋為:數(shù)據(jù)庫名.所有者.表名。
從 SQL Server 2005開始,DataBaseName.dbo.TableName解釋為:數(shù)據(jù)庫名.架構(gòu)名.表名。
在SQL Server 2000中,數(shù)據(jù)庫對象全稱是server_name.[database_name].[owner_name].object_name
從SQL Server 2005始,數(shù)據(jù)庫對象全稱是server_name.[database_name].[schema_name].object_name
在SQL SERVER2000或以前版本中創(chuàng)建一個(gè)對象,對象必須要有一個(gè)所有者(owner)。對象是如何屬于某個(gè)所有者的呢?這依賴于創(chuàng)建對象時(shí)的用戶。您不能取消對象所有者(object owner)的特權(quán)(privileges)。對象所有者可以執(zhí)行任何與對象有關(guān)的操作(例如 INSERT、UPDATE、DELETE、SELECT或 EXECUTE),也可以管理對象的權(quán)限。
從2005/2008后,一個(gè)我們必須重新認(rèn)識的情況是對象不再有所有者(owner)。架構(gòu)包含對象,架構(gòu)有所有者。
在2005前(如SQL Server 2000中),沒有架構(gòu)的概念,只有用戶的概念,那時(shí)候DBO是默認(rèn)用戶。到了2005,有了架構(gòu)概念,但是為了向后兼容,保留了DBO,并且把DBO作為默認(rèn)架構(gòu),在不指定架構(gòu)的情況下,默認(rèn)為dbo,“默認(rèn)架構(gòu)”的概念,用于解析未使用其完全限定名稱引用的對象的名稱。在 SQL Server 2005 中,每個(gè)用戶都有一個(gè)默認(rèn)架構(gòu),用于指定服務(wù)器在解析對象的名稱時(shí)將要搜索的第一個(gè)架構(gòu)??梢允褂?CREATE USER和 ALTER USER的 DEFAULT_SCHEMA選項(xiàng)設(shè)置和更改默認(rèn)架構(gòu)。如果未定義 DEFAULT_SCHEMA,則數(shù)據(jù)庫用戶將把 DBO作為其默認(rèn)架構(gòu)。
(五)dbo
dbo既是默認(rèn)架構(gòu),也是默認(rèn)用戶。在SQL Server 2000中,dbo作為默認(rèn)用戶。在SQL Server2005中,dbo既作為默認(rèn)用戶,也作為默認(rèn)架構(gòu)(如圖)。
dbo作為默認(rèn)用戶,dbo (DataBase Owner,數(shù)據(jù)庫的所有者,擁有數(shù)據(jù)庫中的所有對象),每個(gè)數(shù)據(jù)庫都有dbo, sysadmin服務(wù)器角色的成員自動(dòng)映射成dbo,無法刪除 dbo用戶,且此用戶始終出現(xiàn)在每個(gè)數(shù)據(jù)庫中。通常,登錄名sa映射為庫中的用戶dbo。另外,固定服務(wù)器角色 sysadmin的任何成員都映射到每個(gè)數(shù)據(jù)庫內(nèi)稱為 dbo的一個(gè)特殊用戶上。由固定服務(wù)器角色sysadmin的任何成員創(chuàng)建的任何對象都自動(dòng)屬于 dbo。由固定服務(wù)器角色 sysadmin的任何成員或 dbo用戶創(chuàng)建的任何對象都自動(dòng)屬于dbo,由任何其他用戶(包括 db_owner固定數(shù)據(jù)庫角色成員)創(chuàng)建的對象,屬于創(chuàng)建該對象的用戶,而不是 dbo,用創(chuàng)建該對象的用戶名限定。例如:
如果用戶 Andrew是固定服務(wù)器角色sysadmin的成員,并創(chuàng)建表 T1,則表 T1屬于 dbo,并以 dbo.T1而不是 Andrew.T1進(jìn)行限定。相反,如果 Andrew不是固定服務(wù)器角色sysadmin的成員,而只是固定數(shù)據(jù)庫角色 db_owner的成員,并創(chuàng)建表 T1,則 T1屬于 Andrew,并限定為Andrew.T1。該表屬于 Andrew,因?yàn)樵摮蓡T沒有將表限定為dbo.T1。
dbo作為默認(rèn)架構(gòu),在不指定架構(gòu)的情況下,默認(rèn)為dbo,“默認(rèn)架構(gòu)”的概念,用于解析未使用其完全限定名稱引用的對象的名稱。在 SQL Server 2005 中,每個(gè)用戶都有一個(gè)默認(rèn)架構(gòu),用于指定服務(wù)器在解析對象的名稱時(shí)將要搜索的第一個(gè)架構(gòu)??梢允褂?CREATE USER和 ALTER USER的 DEFAULT_SCHEMA選項(xiàng)設(shè)置和更改默認(rèn)架構(gòu)。如果未定義 DEFAULT_SCHEMA,則數(shù)據(jù)庫用戶將把 DBO作為其默認(rèn)架構(gòu)。
(六)Guest用戶
guest用戶不需要映射到登錄名。這種用戶賬號是供數(shù)據(jù)庫中沒有明確授予權(quán)限給已映射至認(rèn)證用戶使用的。guest供那些已經(jīng)成功登錄到SQL SERVER實(shí)例,但是卻沒有通過用戶訪問數(shù)據(jù)庫的權(quán)限的登錄者使用的。
SQLSERVER 2000中g(shù)uest用戶可以刪除;而2005/2008中是不能刪除的,卻可以取消CONNECT權(quán)限,而且為安全起見,所有用戶定義的數(shù)據(jù)庫中缺省情況下guest用戶的權(quán)限都是被取消了的,可在除master和tempdb之外的任何數(shù)據(jù)庫中禁用Guest用戶。
在SQL SERVER 2000中,新建的數(shù)據(jù)庫中沒有Guest用戶,但可以添加它,也可刪除它,添加與刪除方法與普通數(shù)據(jù)庫相同。
在SQL Server 2005或以上版本中GUEST已經(jīng)默認(rèn)存在于每個(gè)數(shù)據(jù)庫中,但默認(rèn)情況下,會在新數(shù)據(jù)庫中禁用GUEST用戶(在“對象資源管理器→安全性→登錄”節(jié)點(diǎn)中圖標(biāo)上有禁用標(biāo)識),我們可以通過以下語句啟用GUEST用戶:GRANT CONNECT TO GUEST 。當(dāng)你決定不再想讓該數(shù)據(jù)庫被非數(shù)據(jù)庫授權(quán)的用戶以GUEST身份進(jìn)行訪問時(shí),可以再次將GUEST帳號禁用。值得一提的是,GUEST用戶在數(shù)據(jù)庫中不能被刪除,我們只能通過以下語句禁用GUEST用戶:REVOKE CONNECT FROMGUEST 。
在SQL SERVER 2000中,要允許guest用戶帳戶訪問數(shù)據(jù)庫,可以像添加其它數(shù)據(jù)庫用戶那樣添加它,如:
USEDatabase Name
GO
EXECsp_grantdbaccess 'guest'
GO
在SQL SERVER 2005中,允許guest用戶帳戶
USEDatabase Name
GO
GRANT CONNECT TO GUEST
GO
需要提醒的是,對于是否添加Guest用戶要謹(jǐn)慎權(quán)衡利弊。
--SQLServer 2000刪除guest用戶賬號
USEDatabase Name
GO
EXECsp_revokedbaccess 'guest'
GO
-- SQLServer 2005禁用guest用戶賬號
USEDatabase Name
GO
REVOKECONNECT FROM GUEST
GO
(七)sa登錄名
SQLServer的 sa登錄名是服務(wù)器級的主體。默認(rèn)情況下,該登錄名是在安裝實(shí)例時(shí)創(chuàng)建的。在 SQL Server 2005和 SQL Server2008中,sa的默認(rèn)數(shù)據(jù)庫為 master。這是對早期版本的 SQLServer的行為的更改。
sa(system administrator系統(tǒng)管理員)是為向后兼容而提供的特殊登錄。sysadmin是一種角色。該角色能夠執(zhí)行SQLServer上的任何操作。本質(zhì)上,任何具有這種角色成員身份的人都是那個(gè)服務(wù)器上的sa。這種服務(wù)器角色的創(chuàng)建為微軟提供了某一天去除sa登錄的能力——實(shí)際上,聯(lián)機(jī)叢書把sa稱作本質(zhì)上為遺留物的東西。
與以前版本不同,SQL Server 2008,即使是用混合模式安裝,sa也默認(rèn)禁用。
注意,sa是一個(gè)默認(rèn)的SQL Server登錄名,擁有操作SQL Server系統(tǒng)的所有權(quán)限,該登錄名不能被刪除。當(dāng)采用混合模式安裝Microsoft SQL Server系統(tǒng)之后,應(yīng)該為sa指定一個(gè)密碼,應(yīng)為 sa登錄分配一個(gè)強(qiáng)密碼(strongpassword)。
sa登錄名會映射到 sysadmin固定服務(wù)器角色,它對整個(gè)服務(wù)器有不能撤銷的管理憑據(jù)。如果攻擊者以系統(tǒng)管理員的身份獲取了訪問權(quán)限,則可能造成的危害是無法預(yù)計(jì)的。
(八)其它幾個(gè)默認(rèn)配置的的登錄(Logins)和用戶(Users)
默認(rèn)配置的的登錄和用戶除了dbo用戶、Guest用戶、sa登錄,還有如下幾個(gè):
Administrators組是一個(gè)特殊的登錄。administrator用戶默認(rèn)administrators組的成員。
Administrators組實(shí)際名稱為BUILTIN\Administrators。早期版本,這個(gè)組的所有成員均為 sysadmin 角色的成員(這意味著Administrators組中的成員具有最高權(quán)限),但可以從該角色中移除這些成員。與以前版本不同,SQL Server 2008默認(rèn)情況下,本地 Windows組 BUILTIN\Administrators不再包含在新的 SQL Server 2008安裝上的 SQL Server的 sysadmin固定服務(wù)器角色中。
提示:每個(gè)版本的 SQL Server都具有不同的安全功能,默認(rèn)配置也不盡相同,后出的版本更有利于安全,但安全性和使用方便這兩種需求可能有矛盾的一面,最佳方法是上機(jī)了解驗(yàn)證。
NETWORKSERVICE和SYSTEM登錄賬戶
NETWORKSERVICE和SYSTEM登錄賬戶,實(shí)際名稱為NT AUTHORITY\NETWORK SERVICE和NT AUTHORITY\SYSTEM,是否存在這些,依賴于服務(wù)器的配置。如果配置了報(bào)表服務(wù)器,將出現(xiàn)NETWORK SERVICE登錄賬戶。
INFORMATION_SCHEMA和sys用戶
INFORMATION_SCHEMA和sys又是SQL Server 預(yù)定義的架構(gòu)(內(nèi)置架構(gòu))名稱,它們與INFORMATION_SCHEMA和sys用戶具有相同的名稱。不能刪除,主要用于向后兼容性??梢允褂肐NFORMATION_SCHEMA用戶和sys用戶訪問INFORMATION_SCHEMA和sys架構(gòu)的系統(tǒng)視圖,獲取有關(guān)數(shù)據(jù)庫元數(shù)據(jù)信息。
(九)SQL Server中的角色
角色 (role),是SQL Server用來管理服務(wù)器和數(shù)據(jù)庫權(quán)限的,是安全帳戶的集合,在管理權(quán)限時(shí)可以視為一個(gè)單元——作為分配權(quán)限的單位。
SQLServer中的角色分為服務(wù)器級別和數(shù)據(jù)庫級別角色。
◇服務(wù)器級別角色
服務(wù)器級別角色用于幫助管理服務(wù)器上的權(quán)限。服務(wù)器角色的權(quán)限作用域?yàn)榉?wù)器范圍??梢詫⒌卿浢↙ogin Name)添加到服務(wù)器角色。
符合權(quán)限要求的用戶,可以將服務(wù)器級主體(SQL Server登錄名、Windows帳戶和 Windows組)添加到服務(wù)器級角色。固定服務(wù)器角色的每個(gè)成員都可以將其他登錄名添加到該同一角色。
固定服務(wù)器角色簡介:
1)sysadmin:系統(tǒng)管理員,角色成員可對SQLServer服務(wù)器進(jìn)行所有的管理工作,為最高管理角色。這個(gè)角色一般適合于數(shù)據(jù)庫管理員(DBA)。
2)securityadmin:安全管理員,角色成員可以管理登錄名及其屬性??梢允谟?、拒絕、撤銷服務(wù)器級和數(shù)據(jù)庫級的權(quán)限。另外還可以重置SQL Server登錄名的密碼。
3)serveradmin:服務(wù)器管理員,角色成員具有對服務(wù)器進(jìn)行設(shè)置及關(guān)閉服務(wù)器的權(quán)限。
4)setupadmin:設(shè)置管理員,角色成員可以添加和刪除鏈接服務(wù)器,并執(zhí)行某些系統(tǒng)存儲過程。
5)processadmin:進(jìn)程管理員,角色成員可以終止SQLServer實(shí)例中運(yùn)行的進(jìn)程。
6)diskadmin:用于管理磁盤文件。
7)dbcreator:數(shù)據(jù)庫創(chuàng)建者,角色成員可以創(chuàng)建、更改、刪除或還原任何數(shù)據(jù)庫。
8)bulkadmin:可執(zhí)行BULK INSERT語句,但是這些成員對要插入數(shù)據(jù)的表必須有INSERT權(quán)限。BULK INSERT語句的功能是以用戶指定的格式復(fù)制一個(gè)數(shù)據(jù)文件至數(shù)據(jù)庫表或視圖。
9)在sql server 2005 sp2(補(bǔ)丁)及以后版本,服務(wù)器角色中還可以看到一個(gè)public角色。每個(gè) SQL Server登錄名均屬于 public服務(wù)器角色。 如果未向某個(gè)服務(wù)器主體授予或拒絕對某個(gè)安全對象的特定權(quán)限,該用戶將繼承授予該對象的 public角色的權(quán)限。public服務(wù)器角色默認(rèn)擁有 VIEW ANY DATABASE(查看任何數(shù)據(jù)庫)權(quán)限。[VIEW ANY DATABASE權(quán)限控制是否顯示sys.databases和 sys.sysdatabases視圖以及 sp_helpdb系統(tǒng)存儲過程中的元數(shù)據(jù)(metadata)。]
從 SQL Server 2012開始,您可以創(chuàng)建用戶定義的服務(wù)器角色,并將服務(wù)器級權(quán)限添加到用戶定義的服務(wù)器角色。
每個(gè)版本的 SQL Server都具有不同的安全功能,版本越高,功能越強(qiáng)。
可以利用系統(tǒng)函數(shù)IS_SRVROLEMEMBER指示當(dāng)前用戶的 SQLServer登錄名是否是固定服務(wù)器角色的成員。
可以利用系統(tǒng)存儲過程sp_helpsrvrolemember返回有關(guān) SQL Server 固定服務(wù)器角色成員的信息。
--查詢 sysadmin固定服務(wù)器角色的成員。
execsp_helpsrvrolemember 'sysadmin'
◇數(shù)據(jù)庫級別的角色
數(shù)據(jù)庫級別角色用于幫助管理數(shù)據(jù)庫中的權(quán)限。數(shù)據(jù)庫級角色的權(quán)限作用域?yàn)閿?shù)據(jù)庫范圍??梢詫數(shù)據(jù)庫]用戶名(User Name)添加到數(shù)據(jù)庫角色。
SQLServer中有兩種類型的數(shù)據(jù)庫級角色:數(shù)據(jù)庫中預(yù)定義的“固定數(shù)據(jù)庫角色”和您可以創(chuàng)建的“靈活數(shù)據(jù)庫角色”(自定義數(shù)據(jù)庫角色)。
固定數(shù)據(jù)庫角色是在數(shù)據(jù)庫級別定義的,并且存在于每個(gè)數(shù)據(jù)庫中。 db_owner和db_securityadmin數(shù)據(jù)庫角色的成員可以管理固定數(shù)據(jù)庫角色成員身份。但是,只有db_owner數(shù)據(jù)庫角色的成員能夠向db_owner固定數(shù)據(jù)庫角色中添加成員。 msdb數(shù)據(jù)庫中還有一些特殊用途的固定數(shù)據(jù)庫角色。
符合權(quán)限要求的用戶,可以向數(shù)據(jù)庫級角色中添加數(shù)據(jù)庫帳戶和其他 SQL Server角色。固定數(shù)據(jù)庫角色的每個(gè)成員都可向同一個(gè)角色添加其他登錄名。
固定數(shù)據(jù)庫角色簡介:
1)db_owner:數(shù)據(jù)庫所有者,這個(gè)數(shù)據(jù)庫角色的成員可執(zhí)行數(shù)據(jù)庫的所有管理操作。
2)db_accessadmin:數(shù)據(jù)庫訪問權(quán)限管理者,角色成員具有添加、刪除數(shù)據(jù)庫使用者、數(shù)據(jù)庫角色和組的權(quán)限。
3)db_securityadmin:數(shù)據(jù)庫安全管理員,角色成員可管理數(shù)據(jù)庫中的權(quán)限,如設(shè)置數(shù)據(jù)庫表的增加、刪除、修改和查詢等存取權(quán)限。
4)db_ddladmin:數(shù)據(jù)庫DDL管理員,角色成員可增加、修改或刪除數(shù)據(jù)庫中的對象。
5)db_backupoperator:數(shù)據(jù)庫備份操作員,角色成員具有執(zhí)行數(shù)據(jù)庫備份的權(quán)限。
6)db_datareader:數(shù)據(jù)庫數(shù)據(jù)讀取者,角色成員可以從所有用戶表中讀取數(shù)據(jù)。
7)db_datawriter:數(shù)據(jù)庫數(shù)據(jù)寫入者,角色成員具有對所有用戶表進(jìn)行增加、刪除、修改的權(quán)限。
8)db_denydatareader:數(shù)據(jù)庫拒絕數(shù)據(jù)讀取者,角色成員不能讀取數(shù)據(jù)庫中任何表的內(nèi)容。
9)db_denydatawriter:數(shù)據(jù)庫拒絕數(shù)據(jù)寫入者,角色成員不能對任何表進(jìn)行增加、刪修、修改操作。
10)public:是一個(gè)特殊的數(shù)據(jù)庫角色,每個(gè)數(shù)據(jù)庫用戶都是public角色的成員,因此不能將用戶、組或角色指派為public角色的成員,也不能刪除public角色的成員。public數(shù)據(jù)庫角色默認(rèn)的權(quán)限很少[使用某些系統(tǒng)過程查看并顯示master數(shù)據(jù)庫中的信息;執(zhí)行一些不需要一些權(quán)限的語句(例如PRINT)]。
可以利用系統(tǒng)函數(shù)IS_MEMBER檢查當(dāng)前用戶是否是數(shù)據(jù)庫角色或Windows域組的成員。
可以利用系統(tǒng)存儲過程sp_helprolemember顯示數(shù)據(jù)庫角色的成員。
可以利用系統(tǒng)存儲過程sp_helpuser報(bào)告有關(guān)當(dāng)前數(shù)據(jù)庫中數(shù)據(jù)庫級主體的信息。
可以利用系統(tǒng)存儲過程sp_helprotect報(bào)告當(dāng)前數(shù)據(jù)庫中某對象的用戶權(quán)限或語句權(quán)限的信息。
--查詢用戶擁有的數(shù)據(jù)庫角色
useyourdb
execsp_helpuser 'UserName'
go
--查詢用戶被賦予的權(quán)限
useyourdb
execsp_helprotect @username = 'user name'
請教SQLserver安全模式的問題
解決辦法是: 在當(dāng)前session下執(zhí)行如下的語句 SET SQL_SAFE_UPDATES = 0; 然后再執(zhí)行Update語句
SQL Server有免費(fèi)版。
SQL Server Express 是免費(fèi)的,可以再分發(fā)(受制于協(xié)議),還可以充當(dāng)客戶端數(shù)據(jù)庫以及基本服務(wù)器數(shù)據(jù)庫。SQL Server Express 是獨(dú)立軟件供應(yīng)商 ISV、服務(wù)器用戶、非專業(yè)開發(fā)人員、Web 應(yīng)用程序開發(fā)人員、網(wǎng)站主機(jī)和創(chuàng)建客戶端應(yīng)用程序的編程愛好者的理想選擇。
擴(kuò)展資料:
SQL Server 2005 Express僅適用于 32 位,數(shù)據(jù)庫平臺基于 SQL Server 2005。它也可以替換 Microsoft Desktop Engine (MSDE)。通過與 Microsoft Visual Studio 2005 集成,SQL Server Express 簡化了功能豐富、存儲安全且部署快速的數(shù)據(jù)驅(qū)動(dòng)應(yīng)用程序的開發(fā)過程。
如果需要使用更高級的數(shù)據(jù)庫功能,則可以將 SQL Server Express 無縫升級到更復(fù)雜的 SQL Server 版本。
Microsoft建立了一種既靈活又強(qiáng)大的安全管理機(jī)制,它能夠?qū)τ脩粼L問SQL Server服務(wù)器系統(tǒng)和數(shù)據(jù)庫的安全進(jìn)行全面地管理。按照本文介紹的步驟,你可以為SQL Server 7.0(或2000)構(gòu)造出一個(gè)靈活的、可管理的安全策略,而且它的安全性經(jīng)得起考驗(yàn)。
一、驗(yàn)證方法選擇
本文對驗(yàn)證(authentication)和授權(quán)(authorization)這兩個(gè)概念作不同的解釋。驗(yàn)證是指檢驗(yàn)用戶的身份標(biāo)識;授權(quán)是指 允許用戶做些什么。在本文的討論中,驗(yàn)證過程在用戶登錄SQL Server的時(shí)候出現(xiàn),授權(quán)過程在用戶試圖訪問數(shù)據(jù)或執(zhí)行命令的時(shí)候出現(xiàn)。
構(gòu)造安全策略的第一個(gè)步驟是確定SQL Server用哪種方式驗(yàn)證用戶。SQL Server的驗(yàn)證是把一組帳戶、密碼與Master數(shù)據(jù)庫Sysxlogins表中的一個(gè)清單進(jìn)行匹配。Windows NT/2000的驗(yàn)證是請求域控制器檢查用戶身份的合法性。一般地,如果服務(wù)器可以訪問域控制器,我們應(yīng)該使用Windows NT/2000驗(yàn)證。域控制器可以是Win2K服務(wù)器,也可以是NT服務(wù)器。無論在哪種情況下,SQL Server都接收到一個(gè)訪問標(biāo)記(Access Token)。訪問標(biāo)記是在驗(yàn)證過程中構(gòu)造出來的一個(gè)特殊列表,其中包含了用戶的SID(安全標(biāo)識號)以及一系列用戶所在組的SID。正如本文后面所介紹 的,SQL Server以這些SID為基礎(chǔ)授予訪問權(quán)限。注意,操作系統(tǒng)如何構(gòu)造訪問標(biāo)記并不重要,SQL Server只使用訪問標(biāo)記中的SID。也就是說,不論你使用SQL Server 2000、SQL Server 7.0、Win2K還是NT進(jìn)行驗(yàn)證都無關(guān)緊要,結(jié)果都一樣。
如果使用SQL Server驗(yàn)證的登錄,它最大的好處是很容易通過Enterprise Manager實(shí)現(xiàn),最大的缺點(diǎn)在于SQL Server驗(yàn)證的登錄只對特定的服務(wù)器有效,也就是說,在一個(gè)多服務(wù)器的環(huán)境中管理比較困難。使用SQL Server進(jìn)行驗(yàn)證的第二個(gè)重要的缺點(diǎn)是,對于每一個(gè)數(shù)據(jù)庫,我們必須分別地為它管理權(quán)限。如果某個(gè)用戶對兩個(gè)數(shù)據(jù)庫有相同的權(quán)限要求,我們必須手工設(shè) 置兩個(gè)數(shù)據(jù)庫的權(quán)限,或者編寫腳本設(shè)置權(quán)限。如果用戶數(shù)量較少,比如25個(gè)以下,而且這些用戶的權(quán)限變化不是很頻繁,SQL Server驗(yàn)證的登錄或許適用。但是,在幾乎所有的其他情況下(有一些例外情況,例如直接管理安全問題的應(yīng)用),這種登錄方式的管理負(fù)擔(dān)將超過它的優(yōu) 點(diǎn)。
二、Web環(huán)境中的驗(yàn)證
即使最好的安全策略也常常在一種情形前屈服,這種情形就是在Web應(yīng)用中使用SQL Server的數(shù)據(jù)。在這種情形下,進(jìn)行驗(yàn)證的典型方法是把一組SQL Server登錄名稱和密碼嵌入到Web服務(wù)器上運(yùn)行的程序,比如ASP頁面或者CGI腳本;然后,由Web服務(wù)器負(fù)責(zé)驗(yàn)證用戶,應(yīng)用程序則使用它自己的 登錄帳戶(或者是系統(tǒng)管理員sa帳戶,或者為了方便起見,使用Sysadmin服務(wù)器角色中的登錄帳戶)為用戶訪問數(shù)據(jù)。
這種安排有幾個(gè)缺點(diǎn),其中最重要的包括:它不具備對用戶在服務(wù)器上的活動(dòng)進(jìn)行審核的能力,完全依賴于Web應(yīng)用程序?qū)崿F(xiàn)用戶驗(yàn)證,當(dāng)SQL Server需要限定用戶權(quán)限時(shí)不同的用戶之間不易區(qū)別。如果你使用的是IIS 5.0或者IIS 4.0,你可以用四種方法驗(yàn)證用戶。第一種方法是為每一個(gè)網(wǎng)站和每一個(gè)虛擬目錄創(chuàng)建一個(gè)匿名用戶的NT帳戶。此后,所有應(yīng)用程序登錄SQL Server時(shí)都使用該安全環(huán)境。我們可以通過授予NT匿名帳戶合適的權(quán)限,改進(jìn)審核和驗(yàn)證功能。
第二種方法是讓所有網(wǎng)站使用Basic驗(yàn)證。此時(shí),只有當(dāng)用戶在對話框中輸入了合法的帳戶和密碼,IIS才會允許他們訪問頁面。IIS依靠一個(gè)NT 安全數(shù)據(jù)庫實(shí)現(xiàn)登錄身份驗(yàn)證,NT安全數(shù)據(jù)庫既可以在本地服務(wù)器上,也可以在域控制器上。當(dāng)用戶運(yùn)行一個(gè)訪問SQL Server數(shù)據(jù)庫的程序或者腳本時(shí),IIS把用戶為了瀏覽頁面而提供的身份信息發(fā)送給服務(wù)器。如果你使用這種方法,應(yīng)該記住:在通常情況下,瀏覽器與服 務(wù)器之間的密碼傳送一般是不加密的,對于那些使用Basic驗(yàn)證而安全又很重要的網(wǎng)站,你必須實(shí)現(xiàn)SSL(Secure Sockets Layer,安全套接字層)。
在客戶端只使用IE 5.0、IE 4.0、IE 3.0瀏覽器的情況下,你可以使用第三種驗(yàn)證方法。你可以在Web網(wǎng)站上和虛擬目錄上都啟用NT驗(yàn)證。IE會把用戶登錄計(jì)算機(jī)的身份信息發(fā)送給IIS,當(dāng) 該用戶試圖登錄SQL Server時(shí)IIS就使用這些登錄信息。使用這種簡化的方法時(shí),我們可以在一個(gè)遠(yuǎn)程網(wǎng)站的域上對用戶身份進(jìn)行驗(yàn)證(該遠(yuǎn)程網(wǎng)站登錄到一個(gè)與運(yùn)行著Web 服務(wù)器的域有著信任關(guān)系的域)。
最后,如果用戶都有個(gè)人數(shù)字證書,你可以把那些證書映射到本地域的NT帳戶上。個(gè)人數(shù)字證書與服務(wù)器數(shù)字證書以同樣的技術(shù)為基礎(chǔ),它證明用戶身份標(biāo) 識的合法性,所以可以取代NT的Challenge/Response(質(zhì)詢/回應(yīng))驗(yàn)證算法。Netscape和IE都自動(dòng)在每一個(gè)頁面請求中把證書信 息發(fā)送給IIS。IIS提供了一個(gè)讓管理員把證書映射到NT帳戶的工具。因此,我們可以用數(shù)字證書取代通常的提供帳戶名字和密碼的登錄過程。
由此可見,通過NT帳戶驗(yàn)證用戶時(shí)我們可以使用多種實(shí)現(xiàn)方法。即使當(dāng)用戶通過IIS跨越Internet連接SQL Server時(shí),選擇仍舊存在。因此,你應(yīng)該把NT驗(yàn)證作為首選的用戶身份驗(yàn)證辦法。
三、設(shè)置全局組
構(gòu)造安全策略的下一個(gè)步驟是確定用戶應(yīng)該屬于什么組。通常,每一個(gè)組織或應(yīng)用程序的用戶都可以按照他們對數(shù)據(jù)的特定訪問要求分成許多類別。例如,會 計(jì)應(yīng)用軟件的用戶一般包括:數(shù)據(jù)輸入操作員,數(shù)據(jù)輸入管理員,報(bào)表編寫員,會計(jì)師,審計(jì)員,財(cái)務(wù)經(jīng)理等。每一組用戶都有不同的數(shù)據(jù)庫訪問要求。
標(biāo)題名稱:sqlserver安全版,sqlserver破解版
新聞來源:http://aaarwkj.com/article48/dssphhp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、響應(yīng)式網(wǎng)站、網(wǎng)站收錄、外貿(mào)網(wǎng)站建設(shè)、ChatGPT、全網(wǎng)營銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)