程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server 數據庫的安全管理(登錄、角色、權限)

SQL Server 數據庫的安全管理(登錄、角色、權限)

編輯:關於SqlServer

---數據庫的安全管理



--登錄:
SQL Server數據庫服務器登錄的身份驗證模式:
1)Windows身份驗證
2)Windows和SQL Server混合驗證

 

--角色:
分類:
1)服務器角色。服務器角色是固定的服務器功能,用戶不能創建和修改服務器角色。可以將服務器的登錄賬號添加服務器角色中,使其具備服務器角色的權限。
2)數據庫角色。數據庫角色的作用對象是某一個數據庫,用來將登錄數據庫的用戶添加到數據庫角色中,使其具備數據庫角色的功能。
  --數據庫角色包括固定數據庫角色、標准數據庫角色和應用程序角色。
  ♦固定數據庫角色:是系統給出的,不能刪除,可以添加成員;
  ♦標准數據庫角色:可以創建、刪除、添加成員;
  ♦應用程序角色:是一種需要定制口令的特殊角色,可以刪除,不可以添加成員。

--權限:
概述:在SQL Server數據庫管理系統中,權限是指用戶對數據庫或數據表執行的操作。

分類:按對權限設置方法的不同,可以將權限分為隱含權限、對象權限和語句權限三種類型。

1)隱含權限
注:指由系統定義,不需要授權就擁有的權限。不需要被明確的授予,是特定服務器對象和數據庫對象的內置權限。數據庫的服務器、數據庫的所有者和數據庫對象的所有者都擁有隱含權限。

2)對象權限
注:指數據庫的所有者對數據庫對象所授予的“授予”、“禁止”或“撤銷”權限。包括是否允許用戶讀數據表或試圖執行select、update、delete或insert操作;是否允許用戶創建數據庫、創建表、執行存儲過程、備份數據庫等操作。

3)語句權限
注:指使用T-SQl語言中的數據庫定義語言對數據庫對象授予、禁止或撤銷權限。一般只能由數據庫所有者(dbo)和sa用戶使用語句權限。
  grant、deny和revoke命令分別表示授予、禁止和撤銷權限。

  ♦授予權限:
grant 操作命令 [on] 對象名 to 用戶名


例1:(將向“商品信息表”中添加數據的權限授予數據庫登錄用戶“db_user01”)
grant insert on 商品信息表 to db_user01
例2:(將修改“客戶信息表”的“聯系電話”字段和“郵箱”字段的權限授予用戶“db_user01”)
grant update (聯系電話,郵箱) on 客戶信息表 to db_user01

  ♦禁用權限:
注:禁用權限不僅禁止用戶或角色的某些權限,還禁止這些用戶或角色從其他角色繼承被禁止的權限。
deny 操作命令 [on] 對象名 to 用戶名


例:(禁止用戶“db_user01”對“客戶信息表”執行刪除操作)
deny delete table on 客戶信息表 to db_user01

  ♦撤銷權限
注:撤銷權限只刪除用戶或角色擁有的某些權限,並不禁止用戶或角色通過其他方式繼承已被撤銷的權限。
revoke 操作命令 [on] 對象名 from 用戶名


例:(撤銷用戶“db_user01”創建數據庫的權限)
revoke create database from db_user01

 


 注:"--"可看成說明或者注釋文本 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved