SQL Server权限管理课件_第1页
SQL Server权限管理课件_第2页
SQL Server权限管理课件_第3页
SQL Server权限管理课件_第4页
SQL Server权限管理课件_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1

SQLServer許可權管理2SQLServer2000安全模式SQLServer2000的安全性管理是建立在認證(authentication)和訪問許可(permission)兩者機制上的。認證是指來確定登錄SQLServer的用戶的登錄帳號和密碼是否正確,以此來驗證其是否具有連接SQLServer的許可權。但是通過認證階段並不代表能夠訪問SQLServer

中的數據,用戶只有在獲取訪問資料庫的許可權之後,才能夠對伺服器上的資料庫進行許可權許可下的各種操作(主要是針對資料庫對象如表、視圖、存儲過程等),這種用戶訪問資料庫許可權的設置是通過用戶帳號來實現的。同時在SQLServer中,角色作為用戶組的代替物大大地簡化了安全性管理。所以在SQLServer的安全模型中包括以下幾部分:SQLServer登錄、資料庫用戶、許可權、角色

3SQLServer2000登錄認證安全帳戶認證是用來確認登錄SQLServer的用戶的登錄帳號和密碼的正確性,由此來驗證其是否具有連接SQLServer的許可權。SQLServer2000提供了兩種確認用戶的認證模式:Windows身份驗證模式混合模式4Windows身份驗證SQLServer資料庫系統通常運行在WindowsNT/2000伺服器平臺上,而NT作為網路操作系統,本身就具備管理登錄、驗證用戶合法性的能力,因此Windows身份驗證模式正是利用了這一用戶安全性和帳號管理的機制,允許SQLServer也可以使用NT/2000的用戶名和口令。在這種模式下,用戶只需要通過WindowsNT/2000的認證,就可以連接到SQLServer,而SQLServer本身也就不需要管理一套登錄數據。當SQLServer實例在windows98/Me版上運行時,windows身份驗證模式不可用。5SQLServer身份驗證在該認證模式下,用戶在連接SQLServer時必須提供登錄名和登錄密碼。這些登錄資訊存儲在系統表syslogins

中,與NT的登錄帳號無關,SQLServer

自己執行認證處理。如果輸入的登錄資訊與系統表syslogins中的某條記錄相匹配,則表明登錄成功。提供SQLServer身份驗證是為了向後相容性,同時也因為windows98上不支持windows身份驗證模式。6Windows身份驗證的優點WINDOWS

認證模式比起SQLServer

認證模式來有許多優點,原因在於WNDOWS認證模式集成了NT或WINDOWS2000的安全系統,並且NT

安全管理具有眾多特徵,如安全合法性、口令加密、對密碼最小長度進行限制等。所以當用戶試圖登錄到SQLServer時,它從NT或WNDOWS2000的網路安全屬性中獲取登錄用戶的帳號與密碼,並使用NT或WINDWOS2000

驗證帳號和密碼的機制來檢驗登錄的合法性,從而提高了SQLServer的安全性。在WINDOWSNT中使用了用戶組,所以當使用WINDOWS

認證時,我們總是把用戶歸入一定的NT用戶組,以便當在SQLServer中對NT用戶組進行資料庫訪問許可權設置時,能夠把這種許可權設置傳遞給單一用戶。而且當新增加一個登錄用戶時,也總把它歸入某一NT用戶組。這種方法可以使用戶更為方便地加入到系統中,並消除了逐一為每一個用戶進行資料庫訪問許可權設置而帶來的不必要的工作量。7混合認證模式在混合認證模式下,WINDOWS

認證和SQLServer

認證這兩種認證模式都是可用的。NT的用戶既可以使用NT

認證,也可以使用SQLServer

認證。8選擇身份驗證模式基於windows和SQLServer有兩種身份驗證模式可選:windows身份驗證模式和混合模式。若選擇windows身份驗證模式,則用戶只能使用windows身份驗證聯接到SQLServer;若選擇混合模式,則用戶既可以windows身份驗證連接到SQLServer,又可以使用SQLServer身份驗證連接到SQLServer。9利用企業管理器選擇身份驗證模式其主要過程如下:1.打開企業管理器,選擇伺服器組中希望設置身份驗證模式的伺服器。。2.在該伺服器上單擊右鍵,從快捷菜單中選擇“屬性”選項,打開SQLServer屬性對話框。3、在對話框中選擇“安全性”選項。3.在身份驗證區域中可以選擇要設置的認證模式:混合身份驗證模式和僅windows。同時可以選擇審核級別中的一個:10

無:表示禁用審核成功:表示只審核成功登錄嘗試。失敗:表示只審核失敗登錄嘗試。全部:表示既審核成功登錄嘗試又審核失敗登錄嘗試。5、單擊“確定”按鈕,則完成了身份驗證模式的選擇和設置。11創建和管理用戶登錄通過認證階段並不代表用戶能夠訪問SQLServer中的數據,同時他還必須通過許可確認。用戶只有在具有訪問資料庫的許可權之後,才能夠對伺服器上的資料庫進行許可權許可下的各種操作,這種用戶訪問資料庫許可權的設置是通過用戶帳號來實現的。12伺服器登錄帳號和用戶帳號管理1.SQLServer伺服器登錄管理SQLServer有三個默認的用戶登錄帳號:即sa、administrators\builtin和guest。2.用戶帳號管理131.利用企業管理器創建、管理SQLServer登錄帳號其具體執行步驟如下:(1)打開企業管理器,單擊需要登錄的伺服器左邊的“+”號,然後展開安全性檔夾。(2)用右鍵單擊“登錄”,從快捷菜單中選擇新建登錄(newlogin)選項,則出現SQLServer登錄屬性—新建登錄對話框,如圖1所示。(3)在名稱編輯框中輸入登錄名,在身份驗證選項欄中選擇新建的用戶帳號是WindowsNT認證模式,還是SQLServer認證模式。14(4)選擇伺服器角色標籤,圖2所示,在伺服器角色列表框中,列出了系統的固定伺服器角色。在該選項內選擇將分配給登錄帳戶的固定伺服器角色。(5)選擇資料庫訪問標籤,如圖3所示。上面的列表框列出了該帳號可以訪問的資料庫,單擊資料庫左邊的複選框,表示該用戶可以訪問相應的資料庫以及該帳號在資料庫中的用戶名。下麵是該用戶在資料庫中的角色。(6)設置完成後,單擊“確定”按鈕即可完成登錄帳號的創建。15圖1新建登錄帳號對話框16圖2伺服器角色對話框17圖3資料庫訪問對話框18使用SQLServer的創建登錄嚮導工具創建登錄帳號。其具體操作過程如下:圖4--圖1019圖4歡迎使用創建登錄嚮導對話框20圖5選擇身份驗證模式對話框21圖6選擇對用戶帳號的安全性設置對話框22圖7輸入登錄資訊對話框23圖8選擇安全性角色對話框24圖9選擇允許登錄帳號訪問的資料庫對話框25圖10完成創建登錄嚮導對話框26伺服器角色伺服器角色是指根據SQLServer的管理任務,以及這些任務相對的重要性等級來把具有SQLServer管理職能的用戶劃分為不同的用戶組,每一組所具有的管理SQLServer的許可權都是SQLServer內置的,即不能對其進行添加、修改和刪除,只能向其中加入用戶或者其他角色。27七種常用的固定伺服器角色系統管理員:擁有SQLServer所有的許可權許可。伺服器管理員:管理SQLServer伺服器端的設置。磁片管理員:管理磁片檔。進程管理員:管理SQLServer系統進程。安全管理員:管理和審核SQLServer系統登錄。安裝管理員:增加、刪除連接伺服器,建立資料庫複製以及管理擴展存儲過程。資料庫創建者:創建資料庫,並對數據庫進行修改。28資料庫角色資料庫角色是為某一用戶或某一組用戶授予不同級別的管理或訪問資料庫以及資料庫對象的許可權,這些許可權是資料庫專有的,並且還可以使一個用戶具有屬於同一資料庫的多個角色。SQLServer提供了兩種類型的資料庫角色:即固定的資料庫角色和用戶自定義的資料庫角色。29固定的資料庫角色public:維護全部默認許可。db_owner:資料庫的所有者,可以對所擁有的資料庫執行任何操作。db_accessadmin:可以增加或者刪除資料庫用戶、工作組和角色。(使用sp_grantdbaccess存儲過程)db_ddladmin:可以增加、刪除和修改資料庫中的任何對象。(使用creat、alter和drop語句)db_securityadmin:執行語句許可和對象許可。(使用grant、revoke和deny語句)db_backupoperator:可以備份和恢復資料庫。(使用DBCC、CheckPoint和Backup語句)30db_datareader:能且僅能對數據庫中的任何表執行select操作,從而讀取所有表的資訊。(有Select許可權)db_datawriter:能夠增加、修改和刪除表中的數據,但不能進行select操作。(可以對表或視圖使用insert、update和delete語句)db_denydatareader:不能讀取資料庫中任何表中的數據。db_denydatawriter:不能對數據庫中的任何表執行增加、修改和刪除數據操作。31可以使用sp_helpdbfixedrole系統存儲命令查看這9種固定資料庫角色。Public資料庫角色:是SqlServer中一個特殊的資料庫角色。它有如下特點:捕獲資料庫中用戶的所有默認許可權。無法將用戶、組或角色指派給它,因為默認情況下它們就屬於該角色。含在每個資料庫中,包括master、msdb、tempdb、model以及所有用戶數據庫中無法刪除。32使用企業管理器管理用戶登錄可以在企業管理器中,為數據庫角色添加/刪除一個或多個登錄。步驟:1、在企業管理器中,展開指定的伺服器以及指定的資料庫。2、展開該資料庫節點的下一級節點“角色”3、在需要添加登錄的資料庫角色上單擊滑鼠右鍵,然後從彈出菜單中選擇命令“屬性”。此時彈出“資料庫角色屬性”對話框,在該對話框中顯示了該資料庫角色所包含的所有登錄帳號。4、若希望將一個登錄從該資料庫角色中刪除,選中該登錄帳號,按“刪除”按鈕即可。若希望添加,則按“添加”按鈕。5、單擊“許可權”按鈕可以從彈出的窗口中查看該資料庫角色的所有權限。若該資料庫角色是自定義的資料庫角色,還可對這些許可權進行修改。6、單擊“確定”按鈕,結束。33使用系統存儲過程管理登錄帳戶sp_addrolemember:向資料庫角色中添加一個安全帳戶。語法為:sp_addrolemember角色,安全帳戶sp_droprolemember:從資料庫角色中刪除一個安全帳戶。語法為:sp_droprolemember角色,安全帳戶注意:只有sysadmin固定伺服器角色、db_owner和db_secruityadmin固定資料庫角色的成員才能執行sp_droprolemember。只有db_owner固定資料庫角色的成員才可以從固定資料庫角色中刪除用戶。34例:在資料庫角色db_ddladmin中添加一個安全帳戶Headquaters/adam:UsecompanyExecsp_addrolemember‘db_ddladmin’,’Headquaters\adam’例:刪除剛加入到伺服器角色db_ddladmin中的成員Headquaters/adamExecsp_dropaddrolemember‘db_ddladmin’,’Headquaters\adam’35使用系統存儲過程管理伺服器角色在SQLServer中,管理伺服器角色的存儲過程主要有兩個:sp_addsrvrolemember:在一個伺服器角色中添加一個登錄sp_dropsrvrolemember:從一個伺服器角色中取消一個登錄36系統存儲過程sp_addsrvrolemember可以將某一登錄帳號加入到伺服器角色中,使其成為該伺服器角色的成員。其語法形式如下:sp_addsrvrolemember‘登錄帳戶名’,‘角色’注意:sysadmin固定伺服器的成員可以將成員添加到任何固定伺服器角色。在將登錄添加到固定伺服器角色時,該登錄就會得到愈此固定伺服器角色相關的許可權。不能更改sa登錄的角色成員資格。37系統存儲過程sp_dropsrvrolemember可以將某一登錄者從某一伺服器角色中刪除,當該成員從伺服器角色中被刪除後,便不再具有該伺服器角色所設置的許可權。其語法形式如下:sp_dropsrvrolemember‘登錄帳戶名’,‘角色’38系統存儲過程sp_dropsrvrolemember可以將某一登錄者從某一伺服器角色中刪除,當該成員從伺服器角色中被刪除後,便不再具有該伺服器角色所設置的許可權。其語法形式如下:sp_dropsrvrolemember‘登錄帳戶名’,‘角色’注意:只有sysadmin才可以執行該存儲過程,從固定伺服器角色中刪除任意登錄。一個固定伺服器角色的成員可以刪除相同固定伺服器角色中的其他成員。如果某些許可權與某個伺服器角色相關,那麼從該伺服器角色中刪除一個登錄後,給登錄就不能再執行基於這些許可權的活動了。不能從任何固定伺服器中刪除sa登錄。39例:再伺服器角色serveradmin中添加一個登錄adamExecsp_addsrvrolememver‘adam’,’serveradmin’

例:刪除剛加入的成員。Execsp_dropsrvrolememver‘adam’,’serveradmin’可以使用系統存儲過程sp_srvrolepermisiion查看固定伺服器角色所擁有的許可權,語法為:sp_srvrolepermission固定伺服器角色例:sp_srvrolepermissionserveradmin40創建資料庫角色創建用戶定義的資料庫角色就是創建一組用戶,這些用戶具有相同的一組許可。如果一組用戶需要執行在SQLServer中指定的一組操作並且不存在對應的WindowsNT組,或者沒有管理WindowsNT用戶帳號的許可,就可以在資料庫中建立一個用戶自定義的資料庫角色。用戶自定義的資料庫角色有兩種類型:即標準角色和應用程式角色。41標準角色通過對用戶許可權等級的認定而將用戶劃分為不用的用戶組,使用戶總是相對於一個或多個角色,從而實現管理的安全性。應用程式角色是一種比較特殊的角色。當我們打算讓某些用戶只能通過特定的應用程式間接地存取資料庫中的數據而不是直接地存取資料庫數據時,就應該考慮使用應用程式角色。當某一用戶使用了應用程式角色時,他便放棄了已被賦予的所有資料庫專有許可權,他所擁有的只是應用程式角色被設置的角色。標準角色和應用程式角色42使用企業管理器管理資料庫角色在企業管理器中可以實現資料庫角色的創建、授權和刪除等操作。步驟如下:1、打開企業管理器,選中指定的資料庫2、選中該資料庫節點的下一級節點“角色”,單擊滑鼠右鍵,選擇“新建資料庫角色”3、在對話框“資料庫角色屬性-新建角色”中作如下操作:輸入名稱、選擇角色類型(標準角色,應用程式角色)、若選中的是標準角色,還可以單擊“添加”按鈕向該角色中添加用戶。4、單擊“確定”即可。43若要刪除一個資料庫角色,在企業管理器中選擇該角色,然後右擊滑鼠並選擇“刪除”即可。注意:不能刪除固定資料庫角色。44使用系統存儲過程管理資料庫角色sp_addrole:用來創建一個新的資料庫角色sp_addrole‘role’[,’owner’]其中,role是新的資料庫角色的名稱。Owner是新角色的所有者,默認值為dbo。Owner必須是當前資料庫中的某個用戶或角色。例:創建一個資料庫角色customersUsecompanyGoExecsp_addrole‘customers’在添加角色之後,可以使用sp_addrolemember添加安全帳戶,使其稱為該角色的成員。45sp_droprole:用於刪除一個資料庫角色sp_droprolerole例:刪除剛建立的customers資料庫角色Execsp_droprole‘customers’注意:只能刪除用戶自己創建的資料庫角色,不能刪除sqlserver中的固定資料庫角色。46許可權許可權用來指定授權用戶可以使用的資料庫對象和這些授權用戶可以對這些資料庫對象執行的操作。用戶在登錄到SQLServer之後,其用戶帳號所歸屬的NT組或角色所被賦予的許可(許可權)決定了該用戶能夠對哪些資料庫對象執行哪種操作以及能夠訪問、修改哪些數據。在每個資料庫中用戶的許可權獨立於用戶帳號和用戶在資料庫中的角色,每個資料庫都有自己獨立的許可權系統,在SQLServer中包括三種類型的許可:即對象許可權、語句許可權和暗示性許可權。47三種許可權類型1、對象許可權表示對特定的資料庫對象,即表、視圖、字段和存儲過程的操作許可,它決定了能對表、視圖等資料庫對象執行哪些操作。資料庫對象的所有者可以將對象許可權授予指定的資料庫用戶。對於表和視圖,所有者可以授予Insert、Update、Select和References許可權,或授予All許可權。用戶必須對表有Insert、Update、Select、Delete許可權,才能在Insert、Update、Select、Delete語句中指定該表。References許可權使得另一個表的所有者可以對你的表中的列應用他們表中的ReferenceForeignKey約束。482、語句許可權:對用於創建資料庫和數據庫中的對象(如表、視圖和存儲過程等)的T-SQL語句所擁有的許可權。語句許可權包括:CreateDatabase、CreateTable、CreateView、CreateRule、CreateProcedure、CreateFunction、CreateDefault、BackupDatabase、BackupLog3、暗示性許可權:指有SqlServer預定義的伺服器角色、資料庫的所有者和數據庫對象所有者所擁有的許可權。如:資料庫擁有者dbo可以在資料庫範圍內進行任何操作,資料庫對象的所有者可以對所擁有的對象執行一切活動。暗示性許可權不需要明確指定,也不能進行設置。49管理對象許可權某些資料庫中的用戶根據它們在資料庫中的角色被設定了某些缺省許可權。這樣的用戶有4類。一、系統管理員:可以創建和刪除資料庫,配置伺服器。二、資料庫屬主:可以創建和管理資料庫中的對象以及管理整個資料庫。三、對象屬主:可以在對象上進行授予、廢除和拒絕許可權的操作,而且可以刪除對象。四、除此以外的都屬於第四類。50許可權管理對象許可權可以由sysadmin伺服器角色、資料庫所有者或特定資料庫角色中的成員進行授予、拒絕和取消。管理對象許可權有兩種方法:企業管理器T-SQL51使用企業管理器管理對象許可權步驟:1、選擇資料庫節點2、選中需要查看或修改許可權的表,單擊滑鼠右鍵,選擇菜單命令“屬性”,打開“表屬性”對話框。3、在“表屬性”對話框中單擊“許可權”按鈕。4、若希望修改對某個資料庫對象的訪問權,可以單擊相應的方格,有如下三種形式:52V授予許可權:表示允許某個用戶或角色對一個對象執行某種操作。X禁止許可權:表示在不撤銷用戶訪問許可權的情況下,禁止某個用戶或角色對一個對象執行某種操作。空剝奪許可權:表示不允許某個用戶或角色對一個對象執行某種操作。535、還可以單擊一個特定的用戶或角色,然後單擊“列”按鈕,打開“列許可權”對話框,將許可權控制到字段的級別。6、單擊“確定”按鈕,結束設置。54使用T-SQL語句管理對象許可權可以使用Grant、deny、Revoke語句完成許可權的授予、禁止和剝奪。語法如下:grant許可權名稱[,…n]on表名|視圖

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论