---數據庫的安全管理
--登錄:
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
注:"--"可看成說明或者注釋文本