欧美激情网,国产欧美亚洲高清,欧美屁股xxxxx,欧美群妇大交群,欧美人与物ⅴideos另类,区二区三区在线 | 欧洲

知識學堂
  • ·聯(lián)系電話:+86.023-75585550
  • ·聯(lián)系傳真:+86.023-75585550
  • ·24小時手機:13896886023
  • ·QQ 咨 詢:361652718 513960520
當前位置 > 首頁 > 知識學堂 > 常見技術問題
SQL Server 2005安全配置
更新時間:2011-10-22 | 發(fā)布人:本站 | 點擊率:734
安全性問題一直是一個比較難解決的老問題了,在網(wǎng)絡的任何方面都包含安全問題,而我們的數(shù)據(jù)庫也不例外。數(shù)據(jù)庫的安全問題也是我們作為一個DBA必須要考慮的問題。因為建立數(shù)據(jù)庫的目的是為了讓我們的客戶端來訪問,所以在其中存在著很多的安全隱患,比如客戶端鏈接的權限、數(shù)據(jù)傳輸過程中的安全等,所以我們在考慮SQL Server服務器安全時,建議從以下幾個方面考慮: 
1.         客戶端安全。首先要保證客戶端是安全的,比如為客戶端安裝防病毒軟件,防火墻,安裝升級補丁等等。
2.         數(shù)據(jù)傳輸過程中的安全。數(shù)據(jù)在傳輸過程中,很容易被監(jiān)聽,或者被捕獲,所以我們應該使用一些加密機制來保證數(shù)據(jù)的機密性,等等。
3.         最主要還是要在數(shù)據(jù)庫服務器上實現(xiàn)安全機制來保證安全性。我們的SQL Server數(shù)據(jù)庫是一個非常安全的數(shù)據(jù)庫,因為我們的客戶端如果想對數(shù)據(jù)庫里的數(shù)據(jù)進行操作(比如select、insert等),必須要經(jīng)歷三道檢查,也就是我們要經(jīng)過三重門(登錄驗證、數(shù)據(jù)庫驗證、對象權限)。舉個例子,如果我們把SQL Server服務器看成一座大廈,我們首先要現(xiàn)有權利進入大廈,即通過大廈的大門(登錄驗證),然后還得擁有對某個房間的訪問權限(對數(shù)據(jù)庫的權限),進入房間后還得擁有打開保險柜的權利(對表的操作權限)。也就是首先我們必須先建立登錄帳戶,而登錄帳戶分為兩種:windows帳戶和SQL帳戶(因為SQL Server有兩種身份驗證,即windows身份驗證和混合身份驗證)。具體操作方法:打開“SSMS—SQL Server實例—安全性—登錄名”,右鍵選擇“新建登錄名”,選擇身份驗證模式(身份驗證模式不同,帳戶類型也不一樣,注意:建立windows登錄帳戶,必須先在windows操作系統(tǒng)上先建立該賬戶),輸入名字,并為該用戶選擇一個默認數(shù)據(jù)庫(比如默認為master數(shù)據(jù)庫)。該賬戶建立好之后,我們通過“新建”—“數(shù)據(jù)庫引擎查詢”的方式來測試用戶,我們會發(fā)現(xiàn)該用戶只能連接數(shù)據(jù)庫,并不能對數(shù)據(jù)庫進行任何其他操作。所以下面是第二道門,建立數(shù)據(jù)庫用戶,以便用戶可以訪問數(shù)據(jù)庫,對數(shù)據(jù)庫進行操作。我們在建立數(shù)據(jù)庫用戶時,其實就是映射登錄用戶,所以在一般情況下,我們的登錄名和數(shù)據(jù)庫用戶名是一致的。操作方法:第一種:打開“SSMS—SQL Server實例—具體的數(shù)據(jù)庫—安全性—數(shù)據(jù)庫用戶”;第二種:直接在以前建立過的登錄用戶上映射數(shù)據(jù)庫就可以了。最后一道門是在具體的數(shù)據(jù)庫對象(比如表)上授予具體的權限,三種權限:授予、回收、拒絕。這里不再詳細接受三種權限的區(qū)別。前面提了一下安全配置的一些基本概念了,下面在給大家介紹一下,如何通過T-SQL語句來實現(xiàn)帳戶的創(chuàng)建。因為在客戶端連接到SQL Server服務器時,有兩種身份驗證:windows身份驗證或者使用SQL身份驗證,所以在使用帳戶時,也可以使用兩種類型的帳戶,在這里我們要注意一個問題,前面提及過連接SQL需要三道門,那我們就需要建立帳戶,當我們的環(huán)境是工作組時,如果使用windows身份驗證,比如創(chuàng)建了一個用戶zhangsan,那就要求要連接的客戶端也建立同樣的帳戶,并且密碼要求一樣,否則無法連接,下面是一些具體的例子:
1.   windows身份驗證:
Sp_grantlogin ‘login’
例子:允許sky域用戶user1及sqlusers組連接SQL服務:
允許本地組Users連接SQL服務
sp_grantlogin ‘sky\user1’
sp_grantlogin ‘test\sqlusers’
sp_grantlogin ‘BUILTIN\users’
go
 
 
Sp_denylogin ‘login’
 例子:
–         禁止sky域用戶user1及sqlusers組連接SQL服務:
–         禁止本地組Users連接SQL服務
    sp_denylogin ‘sky\user1’
    sp_denylogin ‘sky\sqlusers’
    sp_denylogin ‘BUILTIN\users’
    go
刪除登錄標識:
Sp_revokelogin ‘login’
例子:
從sysxlogins系統(tǒng)表中刪除user1及sqlusers
   sp_revokelogin ‘sky\user1’
   sp_revokelogin ‘sky\sqlusers’
   go
創(chuàng)建SQL登錄標識:
Exec  Sp_addlogin ‘login’
  ‘password’
  ‘database’
  ‘language’
  ‘sid’
  ‘encryption_option’
舉例:Exec Sp_addlogin test1
Exec Sp_addlogin test2, password, northwind
      修改登錄標識:
Exec Sp_password ‘oldpsw’,’newpsw’,’login’
Exec Sp_defaultdb ‘login’,’database’
Exec Sp_defaultlanguage  ‘login’,’language
刪除SQL登錄標識:
exec sp_droplogin ‘login’
2.   數(shù)據(jù)庫角色:
創(chuàng)建和刪除自定義角色:
Sp_addrole  ‘role’, ‘owner’
–   Role為創(chuàng)建的角色
–   Owner為角色的擁有者,默認為dbo
Sp_droprole ‘role’
Use northwind
Go
Sp_addrole ‘sales’, ‘dbo’
Go
Sp_addrole ‘manager’
Go
Sp_droprole ‘manager’
Go
為固定服務器角色添加刪除成員:
Sp_addrole  ‘role’, ‘owner’
–   Role為創(chuàng)建的角色
–   Owner為角色的擁有者,默認為dbo
Sp_droprole ‘role’
為數(shù)據(jù)庫角色添加刪除成員:
Sp_addrolemember ‘role’, ‘a(chǎn)ccount’
Sp_droprolemember ‘role’, ‘a(chǎn)ccount’
–   Role為固定或自定義數(shù)據(jù)庫角色
–   Account為SQL登錄標識或NT帳號
管理數(shù)據(jù)庫用戶:
Sp_grantdbaccess ‘login’, ‘name_in_db’
Sp_revokedbaccess ‘name_in_db’
–   Login為登錄標識
–   Name_in_db為在數(shù)據(jù)庫里的用戶帳號,默認為同名
 
3.   權限授予、拒絕、回收
將northwind的訂單表的select許可授予所有用戶:
Use northwind
Go
Grant select
        on 訂單
        to public
go
將sales表的數(shù)據(jù)修改許可授予自定義角色salesmanger:
Grant insert,update,delete
        on sales
        to salesmanger
Go
允許用戶user1查看publishers表的所有內(nèi)容,但只允許修改pub_id列:
Grant select,update{pub_id}
        on publishers
        to user1
Go