tft每日頭條

 > 科技

 > 一文看懂SQLServer數據庫角色與權限管理

一文看懂SQLServer數據庫角色與權限管理

科技 更新时间:2024-12-03 00:51:46
概述

老系統還有10幾台SQLServer數據庫,最近需要對這些sqlserver的權限方面做一些梳理,這裡先簡單介紹下sqlserver角色與權限管理方面的内容。


sqlserver安全實現策略

安全性是所有數據庫管理系統的一個重要特征。理解安全性問題是理解數據庫管理系統安全性機制的前提。

1、當用戶登錄數據庫系統時,如何确保隻有合法的用戶才能登錄到系統中?

這是一個最基本的安全性問題,也是數據庫管理系統提供的基本功能。

在Microsoft SQL Server 2008系統中,通過身份驗證模式和主體解決這個問題。

1)身份驗證模式

Microsoft SQL Server 2008系統提供了兩種身份驗證模式:Windows身份驗證模式和混合模式。

Windows身份驗證模式:

在該模式中,用戶通過Windows用戶賬戶連接SQL Server時,使用Windows操作系統中的賬戶名和密碼。

混合模式:

在混合模式中,當客戶端連接到服務器時,既可能采取Windows身份驗證,也可能采取SQL Server身份驗證。

主體是可以請求系統資源的個體或組合過程。例如,數據庫用戶是一種主體,可以按照自己的權限在數據庫中執行操作和使用相應的數據。

2)主體

主體是可以請求系統資源的個體或組合過程。例如,數據庫用戶是一種主體,可以按照自己的權限在數據庫中執行操作和使用相應的數據。

Microsoft SQL Server 2008系統有多種不同的主體,不同主體之間的關系是典型的層次結構關系,位于不同層次上的主體其在系統中影響的範圍也不同。位于層次比較高的主體,其作用範圍比較大;位于層次比較低的主體,其作用範圍比較小。

一文看懂SQLServer數據庫角色與權限管理(一文看懂SQLServer數據庫角色與權限管理)1

2、當用戶登錄到系統中,可以執行哪些操作、使用哪些對象和資源?

在Microsoft SQL Server 2008系統中,通過安全對象和權限設置來解決這個問題。

一文看懂SQLServer數據庫角色與權限管理(一文看懂SQLServer數據庫角色與權限管理)2

3、數據庫中的對象由誰所有?

如果是由用戶所有,那麼當用戶被删除時,其所擁有的對象怎麼辦,難道數據庫對象可以成為沒有所有者的“孤兒”嗎?

在Microsoft SQL Server 2008系統中,這個問題是通過用戶和架構分離來解決的。

一文看懂SQLServer數據庫角色與權限管理(一文看懂SQLServer數據庫角色與權限管理)3


安全機制5個等級

客戶機安全機制

網絡傳輸的安全機制

實例級别安全機制

數據庫級别安全機制

對象級别安全機制

一文看懂SQLServer數據庫角色與權限管理(一文看懂SQLServer數據庫角色與權限管理)4


角色

1、固定服務器角色

固定服務器角色是服務器級别的主體,它們的作用範圍是整個服務器。固定服務器角色已經具備了執行指定操作的權限,可以把其他登錄名作為成員添加到固定服務器角色中,這樣該登錄名可以繼承固定服務器角色的權限。

下面按照從最低級别的角色(bulkadmin)到最高級别的角色(sysadmin)的順序進行描述:

Bulkadmin:這個服務器角色的成員可以運行BULK INSERT語句。這條語句允許從文本文件中将數據導入到SQL Server 2008數據庫中,為需要執行大容量插入到數據庫的域賬戶而設計。 Dbcreator:這個服務器角色的成員可以創建、更改、删除和還原任何數據庫。這不僅是适合助理DBA的角色,也可能是适合開發人員的角色。 Diskadmin:這個服務器角色用于管理磁盤文件,比如鏡像數據庫和添加備份設備。它适合助理DBA。 Processadmin:SQL Server 2008能夠多任務化,也就是說可以通過執行多個進程做多個事件。例如,SQL Server 2008可以生成一個進程用于向高速緩存寫數據,同時生成另一個進程用于從高速緩存中讀取數據。這個角色的成員可以結束(在SQL Server 2008中稱為删除)進程。 Securityadmin:這個服務器角色的成員将管理登錄名及其屬性。他們可以授權、拒絕和撤銷服務器級權限。也可以授權、拒絕和撤銷數據庫級權限。另外,它們可以重置SQL Server 2008登錄名的密碼。 Serveradmin:這個服務器角色的成員可以更改服務器範圍的配置選項和關閉服務器。例如SQL Server 2008可以使用多大内存或監視通過網絡發送多少信息,或者關閉服務器,這個角色可以減輕管理員的一些管理負擔。 Setupadmin:為需要管理鍊接服務器和控制啟動的存儲過程的用戶而設計。這個角色的成員能添加到setupadmin,能增加、删除和配置鍊接服務器,并能控制啟動過程。 Sysadmin:這個服務器角色的成員有權在SQL Server 2008中執行任何任務。 Public:有兩大特點,第一,初始狀态時沒有權限;第二,所有的數據庫用戶都是它的成員。

2、數據庫角色

這裡主要包括三種類型的數據庫角色:

固定數據庫角色:微軟提供的作為系統一部分的角色; 用戶定義的标準數據庫角色:你自己定義的角色,将Windows用戶以一組自定義的權限分組; 應用程序角色:用來授予應用程序專門的權限,而非授予用戶組或者單獨用戶。

這裡主要介紹幾個固定數據庫角色

一文看懂SQLServer數據庫角色與權限管理(一文看懂SQLServer數據庫角色與權限管理)5


權限

1、常用的權限

一文看懂SQLServer數據庫角色與權限管理(一文看懂SQLServer數據庫角色與權限管理)6

2、操作權限

權限分為3種狀态:授予、拒絕、撤銷,可以使用如下的語句來修改權限的狀态。

授予權限(GRANT):授予權限以執行相關的操作。通過角色,所有該角色的成員繼承此權限。

撤銷權限(REVOKE):撤銷授予的權限,但不會顯示阻止用戶或角色執行操作。用戶或角色仍然能繼承其他角色的GRANT權限。

拒絕權限(DENY):顯式拒絕執行操作的權限,并阻止用戶或角色繼承權限,該語句優先于其他授予的權限。


後面會梳理下Oracle和mysql的一些權限及怎麼去管理方面,感興趣的朋友可以關注一下~

一文看懂SQLServer數據庫角色與權限管理(一文看懂SQLServer數據庫角色與權限管理)7

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved