成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

管理Azure SQL數據庫的授權安全性

云計算 數據庫運維
本文深入介紹了一些支持細粒度控制數據訪問的Azure SQL數據庫授權方法,它們最多可以深入到控制各個數據庫對象和語句類型。

在規劃微軟Azure SQL Database部署時,一定要考慮所有需要在深度防御策略中實現的安全措施。我們已經在前面一篇文章中詳細介紹了實現基于防火墻的保護措施的一個方面。此外,我們還概括介紹了這個平臺即服務(PaaS)產品中內置的驗證、授權與加密特性。現在是時候更深入了解一些支持細粒度控制數據訪問的授權方法了,它們最多可以深入到控制各個數據庫對象和語句類型。

[[130627]]

在很大程度上,Azure SQLDatabase集成的驗證與授權機制基于成熟SQL Server實例所使用的相同原則,它既可以部署在內部網絡,也可以部署在Azure IaaS虛擬機上。然而,它們之間有一些值得注意的重要區別。在驗證方面,最重要的一點是缺少Windows集成身份驗證的支持。實際上,在每次建立SQL Database連接時,用戶都必須明確指定他們的登錄身份。這種方式與傳統SQL Server身份驗證方式相同,即便如此,還有一個重要的小問題。具體地說就是密碼重置,它會在本地使用場景中觸發自動重新驗證,從而導致會話中斷,即要求中斷當前會話,并且在重新連接之后才能繼續使用Azure SQL Database。(選擇采用這種方式的原因是為了消除自動重新連接可能對性能造成的負面影響,這對于基于云的服務而言尤為重要。)

從授權角度看,Azure SQLDatabase實現了方法更適合用在服務器層次上。最明顯的原因是,現在不能使用權限最高的sa登錄帳號和相應的sysadmin SQL服務器角色(以及所有其他固定的服務器角色)。相反,在管理一個托管各個SQL Database的邏輯SQL Server(包括表示一個數據庫管理單元的Azure平臺結構)時,必須用到主數據庫中預定義的兩個角色,其中包括:

  • loginmanager -分配了足夠創建和管理登錄帳號的權限(而不是securityadmin固定服務器角色)
  • dbmanager -分配了創建和管理數據庫的權限(而不是dbcreator固定服務角色)

這個區別體現在服務級安全性的管理方式上,它可以避免管理員過分依賴于Object Explorer of the SQL Server Management Studio中Security文件夾的圖形界面,迫使他們在連接主數據庫時執行相應的T-SQL語句。(雖然SQL ServerManagement Studio會通過將連接自動重定向主數據庫并在查詢窗口自動生成SQL登錄模板來實現透明的登錄過程)。

用戶數據庫角色與傳統SQL Server實現的已有角色相對應,并且包含以下角色:

  • db_accessadmin分配了用于創建和管理數據庫用戶的權限。
  • db_backupoperator分配了用于備份數據庫的權限。
  • db_datareader分配了用于從所有數據庫表和視圖讀取數據的權限。
  • db_datawriter分配了用于向所有數據庫表和視圖寫入數據的權限。
  • db_ddladmin分配了用于在數據庫創建和管理對象的權限。
  • db_denydatareader拒絕從數據庫任何一個表和視圖讀取數據的權限。
  • db_denydatawriter拒絕向數據庫任何一個表和視圖寫入數據的權限。
  • db_owner分配了用于執行所有數據庫配置和管理的權限。
  • db_securityadmin分配了用于管理數據庫角色成員和權限的權限。

如果想要進一步細分訪問權限,那么可以選擇使用模式級和對象級安全性,這就像數據庫角色一樣,與管理員熟悉的本地數據庫管理完全相同。具體地,你可以使用GRANT、REVOKE和DENY T-SQL語句控制每一個模式、對象實例或語句層次的權限。一定要記住,DENY優先級高于顯式分配或基于角色的權限。

要創建登錄帳號,你需要創建一個主數據庫連接會話,而創建用戶帳號需要直接連接目標數據庫。這一點非常重要,因為同一個會話無法切換數據庫上下文(原來通常可以通過執行語句USEdatabase T-SQL語句)——相反,你必須為每一個需要管理的數據庫建立獨立的會話。初始登錄帳號(也就是服務器級主登錄帳號)和主數據庫中相同名稱的用戶都是初始化SQL Server實例時自動創建的,無論是使用AzureManagement Portal、Azure PowerShell模塊還是執行相應的REST API初始化都是這樣。從授權角度看,這個登錄帳號是唯一的,因為它隱含就分配了loginmanager和dbmanager角色所關聯的權限(即便它實際上不是這些角色的成員)。此外,你可以用它連接同一個邏輯服務器的任何一個數據庫。

因此,你可以使用CREATE LOGIN T-SQL語句創建更多的登錄帳號(查詢主數據庫的sys.sql_logins視圖就可以列舉所有的登錄帳號)。要想使用這些帳號信息連接任何一個數據庫(包括主數據庫),必須先在該數據庫上創建一個相對應的用戶帳號。實際上,如果想要指定一個loginmanager或dbmanager角色的新成員,則需要先使用服務器級主登錄帳號登錄主數據庫,創建一個新的登錄帳號,然后再創建一個與此登錄帳號相關聯的用戶(使用CREATEUSER (...) FROM LOGIN T-SQL語句),最后再執行sp_addrolemember存儲過程。類似地,如果想讓這些登錄帳號可用于連接或管理任何一個用戶數據庫,則需要先連接該數據庫,在該數據庫上創建一個關聯的用戶帳號(同樣是使用 T-SQL語句),最后再執行sp_addrolemember存儲過程將新創建的用戶分配給一個或多個數據庫級角色。然而,如果dbmanager的成員需要連接他們自己創建的數據,則不受這個要求的限制,因為他們隱含已經關聯到dbo用戶帳號(這意味著它已經是db_owner角色的成員)。

這就是我們總結的Azure SQLDatabase數據保護管理方法,其重點是使用權限作為防御未授權訪問的額外措施。在后續文章中,我們將繼續介紹在云和混合環境中運行SQL Server的相關問題。

原文鏈接:http://www.searchdatabase.com.cn/showcontent_88437.htm
 

責任編輯:Ophira 來源: TechTarget中國
相關推薦

2012-01-05 09:45:31

微軟云數據庫SQL Azure

2015-07-28 13:57:52

2009-06-25 09:46:04

2010-12-23 14:45:57

SQL Server

2009-11-20 16:23:58

Oracle數據庫安全

2011-03-31 09:40:46

2011-03-25 09:46:16

Informix數據庫安全性安全審計

2010-04-29 15:33:12

Oracle數據庫

2011-02-28 10:57:56

2015-05-05 15:53:01

2021-07-21 15:05:06

數據庫數據庫安全技術

2009-04-13 10:06:58

Oracle安全管理

2011-08-09 16:52:24

2015-01-19 10:18:53

Azure SQL數據庫審計云安全

2010-07-01 15:50:18

SQL Server

2011-01-19 11:07:43

2010-05-07 17:56:10

Oracle數據庫安全

2011-03-22 14:35:23

Oracle數據庫安全措施

2012-05-17 15:22:17

2010-09-29 09:48:12

數據庫安全
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产欧美日韩一区二区三区在线 | 国产一区二区三区色淫影院 | 亚洲福利av | 亚洲精品字幕 | 涩涩视频在线观看免费 | 91久久精品一区二区三区 | 久久精品一级 | 91看片网| 国产一区二区精品在线 | 国产色 | 美女毛片免费看 | 在线观看一区 | 国产精品毛片一区二区在线看 | 中文字幕一区二区三区四区 | 亚洲h在线观看 | 欧美成人手机视频 | 久久久免费少妇高潮毛片 | 黄色av大片 | 青青久久av北条麻妃海外网 | 在线中文字幕av | 俺去俺来也www色官网cms | 中文字幕亚洲欧美 | 免费在线黄 | 国产精品久久久久久久久久免费看 | 色播99| 成人av免费| 欧美成人精品激情在线观看 | www在线视频 | 欧美a区 | 国产成人免费视频网站视频社区 | 91成人在线视频 | 91精品久久久久 | 久久精品色视频 | 色婷婷综合久久久中字幕精品久久 | 日韩精品在线免费观看 | 国产一区二区三区四区在线观看 | 美女国内精品自产拍在线播放 | 日本不卡一二三 | 欧美一级大黄 | 人人干人人干人人 | 国产99久久精品 |