SqlServer設置特定用戶操做特定表(插入、刪除、更新、查詢 的權限設置)

@安全


1、需求場景:

在和其餘廠商對接的時候,常常會將某數據庫的某些表放開增刪改查(CRUD)的權限給對方,此時,就要新建個用戶,授予某數據庫的某些表CRUD的權限;還有的時候只需受權SELECT權限,其餘權限不能授予;架構

2、操做步驟:

演示所用數據庫版本:SQL Server Management Studio V17.8.1函數

一、登陸SSMS後選擇【安全性】,右鍵點擊【登陸名】,在彈出的右鍵菜單中選擇【新建登陸名】選項;

在這裏插入圖片描述

二、在【常規】選項卡中,建立登陸名,並設置默認數據庫;

在這裏插入圖片描述

三、在【用戶映射】選顯卡中,勾選數據庫,並設置【架構】;

在這裏插入圖片描述

四、對須要設置操做權限的表進行權限設置,【表】--【屬性】;

數據庫TestDB中已經有兩個表,分別爲User和Salary,如今對錶User進行權限設置,將Insert、update、delete、select的權限賦給用戶【zyl】;3d

表上右鍵選擇【屬性】,選擇【權限】選項卡:

在這裏插入圖片描述

點擊【搜索】,在彈出的框中點擊【瀏覽】,選擇須要設置的用戶;

在這裏插入圖片描述

在上面點擊【肯定】後,就能夠在【權限】選項卡中看到權限列表,選擇須要的權限點擊肯定便可;

在這裏插入圖片描述
在這裏插入圖片描述

當選中【選擇】和【引用】權限時,還能夠設置【列權限】;

在這裏插入圖片描述

五、使用【zyl】登陸數據庫,就只能看到User表了;

在這裏插入圖片描述
而且用戶【zyl】只能對錶User進行增刪改查,不能修改表結構;對象

3、注意事項

一、在權限列表中若是選擇了【設置】這項,那麼再設置【列權限】就沒有意義了,由於查詢已經不受限制了;

若是設置了【列權限】,沒有選擇【設置】權限,那麼select * 就會報錯;
在這裏插入圖片描述blog

二、除了對錶設置權限外,還能夠對視圖、函數等進行權限設置;

在數據庫的【安全性】-【用戶】-【zyl】-【屬性】-【安全對象】;
在這裏插入圖片描述圖片

相關文章
相關標籤/搜索