天天看點

SQL Serever學習11——資料庫的安全管理修改身份驗證模式資料庫使用者的建立和管理角色管理

公司管理軟體設計完成,但是日常工作繁忙,向上司提出增加幾個管理者,幫助管理和維護系統,上司同意了,但是要求一定要管理好這幾個管理者使用者,保證資料庫的安全。

修改身份驗證模式

資料庫驗證機制

sqlserver的三層安全模型:

  1. 需要登入到sqlserver系統,需要登入賬戶
  2. 需要通路某個資料庫,需要成為該資料庫的使用者
  3. 需要通路資料庫的表,需要資料庫管理者給自己授權,如增删改查等權限

2種身份驗證模式

Windows身份驗證

用于Windows平台的使用者,不需要提供密碼和Windows內建驗證,因為windows系統本身就有管理和驗證登入使用者的能力。

優點:

  • 使用者的管理交給windows系統管理,而資料庫管理者專注于資料庫庫管理
  • 可以利用windows的賬戶管理的功能,包括安全驗證,加密,稽核,密碼過期,最小密碼長度,賬戶鎖定等,不需要在sqlserver中另外建立一個登陸驗證機制

混合驗證

适用于各種平台作業系統,以及Internet使用者,使用sqlserver使用者名和密碼登陸資料庫伺服器,及時網絡上的客戶機沒有伺服器作業系統的賬戶也可以登陸并使用sqlserver資料庫,很友善。

設定混合驗證模式

在資料庫執行個體上右鍵,選擇屬性

SQL Serever學習11——資料庫的安全管理修改身份驗證模式資料庫使用者的建立和管理角色管理

選安全性标簽,選擇sqlserver和windows身份驗證模式,選擇僅限失敗的登入,确定。

SQL Serever學習11——資料庫的安全管理修改身份驗證模式資料庫使用者的建立和管理角色管理

建立系統登入使用者

這裡準備建立一個windows使用者和sqlserver使用者

建立windows登入使用者

打開安全性節點,右鍵登入名,選擇建立登入名

SQL Serever學習11——資料庫的安全管理修改身份驗證模式資料庫使用者的建立和管理角色管理

選擇正常,登入名必須是一個已經存在的windows賬戶,不确定這個賬戶是否存在可以通過右邊的搜尋來看,選擇windows身份驗證

預設資料庫為master(預設),然後确定。

SQL Serever學習11——資料庫的安全管理修改身份驗證模式資料庫使用者的建立和管理角色管理

建立sqlserver登入使用者

 第一步也是打開建立登入名視窗

SQL Serever學習11——資料庫的安全管理修改身份驗證模式資料庫使用者的建立和管理角色管理

然後登入名可以自定義SQLuser,選擇sqlserver身份驗證,密碼是SQLuser,去掉勾選的“強制實施密碼政策”,确定。

SQL Serever學習11——資料庫的安全管理修改身份驗證模式資料庫使用者的建立和管理角色管理

對于密碼設定需要說明一下子:

強制實施密碼政策:

對使用者輸入的密碼格式進行要求,實施密碼複雜性政策時,新密碼需要符合以下原則:

  • 密碼不得包含全部或部分使用者賬戶名,部分賬戶名是3個以上2端使用空格(空格,制表符,回車),逗号(,),句點(.),連接配接符(-),下劃線(_)或數字元号(#)連接配接的字母數字
  • 密碼長度至少為8個字元
  • 密碼包含大寫字母(A-Z),小寫字母(a-z),數字(0-9),符号(!,$,#,%)中的3類
  • 密碼最長為128字元,使用的密碼應盡可能長,盡可能複雜

強制密碼過期:

密碼過期政策用于管理密碼的使用期限,在規定過期的時間節點,必須更換密碼,系統将提醒使用者進行該操作,并禁用帶有過期密碼的賬戶。

使用者在下次登入必須更換密碼:

這個就是和名字描述的一樣。現在,取消選中“強制實施密碼政策”複選框即可。

資料庫使用者的建立和管理

登入使用者隻能登入到sqlserver系統,通路資料庫,必須成為資料庫的使用者才可以。

如果沒有設定會提示沒有權限

SQL Serever學習11——資料庫的安全管理修改身份驗證模式資料庫使用者的建立和管理角色管理

 資料庫使用者

資料庫擁有自己的使用者,一個登陸使用者可以印射為多個資料庫使用者,資料庫有2個預設使用者:

  • dbo,就是Database Owner資料庫擁有者,資料庫的建立者,擁有資料庫的最高權限,不能被删除
  • guest,可以在除了master和tempdb之外的所有資料庫中添加,删除該使用者

預設情況下,建立的資料庫沒有guest賬戶

資料庫使用者權限

sqlserver中權限有3種:

  • 預設權限,使用者在成為固定伺服器,資料庫角色同時自動獲得的角色
  • 對象權限,在資料庫層次的通路和操作權限,比如選擇,更新,插入,删除表,列,視圖,更改,控制,引用,檢視定義,檢視跟蹤,接管所有權
  • 語句權限,create\alter\drop database,table,view,backup database

權限類型

有3種:

  • 授予,允許使用者具有操作權限
  • 具有授予權限,允許使用者将權限授予其他使用者
  • 拒絕,拒絕使用者操作權限

windows使用者和sqlserver使用者的設定方式是一樣的。

建立資料庫使用者

打開銷售管理資料庫的安全性節點,右鍵使用者,選擇建立使用者

SQL Serever學習11——資料庫的安全管理修改身份驗證模式資料庫使用者的建立和管理角色管理

輸入使用者名和登入名,确定

SQL Serever學習11——資料庫的安全管理修改身份驗證模式資料庫使用者的建立和管理角色管理

此時的使用者已經有了資料庫的登入權限,但是還沒有資料表的操作權限

SQL Serever學習11——資料庫的安全管理修改身份驗證模式資料庫使用者的建立和管理角色管理

設定使用者權限

 現在我們授予SQLuser使用者選擇,插入,更新的權限,并允許他将選擇權限授予其他使用者,但是拒絕他删除的權限

SQL Serever學習11——資料庫的安全管理修改身份驗證模式資料庫使用者的建立和管理角色管理
SQL Serever學習11——資料庫的安全管理修改身份驗證模式資料庫使用者的建立和管理角色管理
SQL Serever學習11——資料庫的安全管理修改身份驗證模式資料庫使用者的建立和管理角色管理
SQL Serever學習11——資料庫的安全管理修改身份驗證模式資料庫使用者的建立和管理角色管理
SQL Serever學習11——資料庫的安全管理修改身份驗證模式資料庫使用者的建立和管理角色管理

設定對象權限

上面是通過使用者來設定對象權限,現在我們通過對象來設定使用者權限。

SQL Serever學習11——資料庫的安全管理修改身份驗證模式資料庫使用者的建立和管理角色管理
SQL Serever學習11——資料庫的安全管理修改身份驗證模式資料庫使用者的建立和管理角色管理
SQL Serever學習11——資料庫的安全管理修改身份驗證模式資料庫使用者的建立和管理角色管理
SQL Serever學習11——資料庫的安全管理修改身份驗證模式資料庫使用者的建立和管理角色管理
SQL Serever學習11——資料庫的安全管理修改身份驗證模式資料庫使用者的建立和管理角色管理

權限的修改方法和設定方法一樣,不再贅述。

角色管理

 資料庫中很多使用者的類型和權限基本相同,可以引入角色統一管理這些類似的使用者。

角色設定對于比較複雜的資料庫系統很重要,可以友善的管理其中的各類使用者,如果資料庫使用者較少,則角色的作用不那麼突出。

角色

sqlserver可以通過角色統一管理資料庫或伺服器使用者權限,通過修改角色權限來修改所有加入角色的使用者的權限,友善。

sqlserver有2種角色:

  • 伺服器角色
  • 資料庫角色

用于登入伺服器級别的安全權限,有8種,不可添加或删除,隻能向角色添加使用者成員

  1. bulkadmin
  2. dbcreator
  3. diskadmin
  4. processadmin
  5. securityadmin
  6. serveradmin
  7. setupadmin
  8. sysadmin

 sa(sysadmin)和public的角色成員身份是不允許被修改的

SQL Serever學習11——資料庫的安全管理修改身份驗證模式資料庫使用者的建立和管理角色管理

 資料庫角色

其權限設定隻針對相應的資料庫,就是說同樣名稱資料庫角色,在不同的資料庫,權限是不同的。

使用者可以建立資料庫角色,并添加使用者

  1. db_owner
  2. db_accessadmin
  3. db_datareader
  4. db_datawriter
  5. db_ddladmin
  6. db_securityadmin
  7. db_backoperator
  8. db_denydatareader
  9. db_denydatawriter
  10. public
SQL Serever學習11——資料庫的安全管理修改身份驗證模式資料庫使用者的建立和管理角色管理

設定伺服器角色

将角色設定為sysadmin伺服器角色

SQL Serever學習11——資料庫的安全管理修改身份驗證模式資料庫使用者的建立和管理角色管理
SQL Serever學習11——資料庫的安全管理修改身份驗證模式資料庫使用者的建立和管理角色管理
SQL Serever學習11——資料庫的安全管理修改身份驗證模式資料庫使用者的建立和管理角色管理
SQL Serever學習11——資料庫的安全管理修改身份驗證模式資料庫使用者的建立和管理角色管理
SQL Serever學習11——資料庫的安全管理修改身份驗證模式資料庫使用者的建立和管理角色管理

設定資料庫角色

将銷售管理資料庫的使用者SQLuser設定為db_datawriter資料庫角色

SQL Serever學習11——資料庫的安全管理修改身份驗證模式資料庫使用者的建立和管理角色管理
SQL Serever學習11——資料庫的安全管理修改身份驗證模式資料庫使用者的建立和管理角色管理
SQL Serever學習11——資料庫的安全管理修改身份驗證模式資料庫使用者的建立和管理角色管理
SQL Serever學習11——資料庫的安全管理修改身份驗證模式資料庫使用者的建立和管理角色管理
SQL Serever學習11——資料庫的安全管理修改身份驗證模式資料庫使用者的建立和管理角色管理

建立資料庫角色

建立資料庫角色Urole,設定角色權限的基本架構為db_datawriter加上db_datareader,并将SQLuser添加到角色中

SQL Serever學習11——資料庫的安全管理修改身份驗證模式資料庫使用者的建立和管理角色管理
SQL Serever學習11——資料庫的安全管理修改身份驗證模式資料庫使用者的建立和管理角色管理

設定好之後可以看到Urole

SQL Serever學習11——資料庫的安全管理修改身份驗證模式資料庫使用者的建立和管理角色管理