云數(shù)據(jù)安全:SQL Azure數(shù)據(jù)保護(hù)
將數(shù)據(jù)遷移到云是當(dāng)前討論的一大焦點(diǎn)。你可以在微軟的SQL Azure云數(shù)據(jù)庫中快速運(yùn)行一個(gè)SQL Server實(shí)例,并為一個(gè)新的事務(wù)性應(yīng)用程序或報(bào)表等數(shù)據(jù)分析應(yīng)用迅速加載數(shù)據(jù)。
但是,將數(shù)據(jù)遷移到SQL Azure或Amazon的EC2需要非常小心。保護(hù)SQL Server云中數(shù)據(jù)是非常重要的,因?yàn)槟悴幌M虿幌喔傻娜吮┞犊蛻魯?shù)據(jù)。
SQL Azure數(shù)據(jù)保護(hù)
Azure防火墻
首先要記得開始使用SQL Azure并不是向外界打開數(shù)據(jù)庫。默認(rèn)情況下,SQL Azure的數(shù)據(jù)庫只能由微軟的內(nèi)部Azure服務(wù)器訪問。為直接連接到SQL Azure的實(shí)例,配置你的SQL Azure防火墻以允許家中或辦公室的IP地址可以連接。在 Windows Azure的管理門戶進(jìn)行登錄,在訂閱標(biāo)簽下你應(yīng)該可以看到你的SQL Azure訂閱,如1圖所示。
圖1顯示了Windows Azure的訂閱和防火墻規(guī)則
選擇服務(wù)器 “fz9fnjspok”,從訂閱菜單中可以看到防火墻規(guī)則按鈕如圖1中的右側(cè)。點(diǎn)擊它,你可以查看和編輯SQL Azure實(shí)例的防火墻規(guī)則。
正如圖2所示,此例中只有兩項(xiàng)防火墻規(guī)則。 最佳實(shí)踐認(rèn)為你應(yīng)使用盡可能少的防火墻規(guī)則。如果以后您有活動(dòng)比如你在開會(huì)或度假需要添加規(guī)則,當(dāng)完成后再刪除它。這將有助于防止未經(jīng)授權(quán)的人闖入SQL Azure實(shí)例,停掉防火墻甚至很短的一段時(shí)間也是非常危險(xiǎn)的。
圖2 SQL Azure這個(gè)實(shí)例上的防火墻規(guī)則。
對(duì)象級(jí)權(quán)限
除了保護(hù)您的SQL Azure實(shí)例的防火墻,你也會(huì)希望他們遵循最佳實(shí)踐,即授予用戶或者登錄者最少的權(quán)限以足夠完成他們的工作。目前的客戶端工具不容易做到這一點(diǎn),當(dāng)連接到 SQL Azure的數(shù)據(jù)庫,SQL Server Management Studio中沒有修改權(quán)限的用戶界面。SQL Azure不支持?jǐn)?shù)據(jù)庫角色以及對(duì)象級(jí)權(quán)限,因此配置帳戶即應(yīng)用程序使用者以盡可能少的最低權(quán)限來連接SQL Azure數(shù)據(jù)庫。這使用戶無法訪問他們并不需要的對(duì)象,而這正是你在一個(gè)傳統(tǒng)的SQL Server數(shù)據(jù)庫實(shí)例中所做的。
SQL注入和Azure
由Azure托管的應(yīng)用程序正如一個(gè)傳統(tǒng)的Web應(yīng)用程序容易受到SQL注入攻擊。這樣被返回到最終用戶瀏覽器的這些數(shù)據(jù)是不應(yīng)該得到信任的,且所有數(shù)據(jù)庫調(diào)用應(yīng)是設(shè)置成參數(shù)化的(而不是在應(yīng)用程序內(nèi)做字符串連接)。如果您使用一個(gè)類似對(duì)象關(guān)系映射(ORM)的實(shí)體框架(EF)來編寫應(yīng)用程序代碼,ORM 將會(huì)為你參數(shù)化數(shù)據(jù)庫調(diào)用。不過,如果你不是使用ORM,應(yīng)用程序?qū)?shù)據(jù)庫調(diào)用的參數(shù)化必須
【編輯推薦】