---資料庫的安全管理
--登入:
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
注:"--"可看成說明或者註釋文字