保護機敏資料的幫手 – 再談 Azure SQL Database 動態資料遮罩

本文大綱如下: 說明 使用別名來建立遮罩 結論 參考資料 說明 上一篇我們談到使用 Azure SQL Database 動態資料遮罩可以幫助 DBA 或系統管理員,有效防止機敏資料洩漏給未經授權的人員,針對比較單純的情境,只需使用【資料表和資料行】的遮罩方式,就可以在用戶端直接查詢基礎資料表時,提供機敏資料的保護。 甚至是透過預存程序或內崁資料表值函數(inline table-valued function)回傳基礎資料表的內容時,也幾乎不需太多的程式修改成本,就可以防止資料直接外洩。 下圖示範透過預存程序及內崁資料表值函數來取得機敏資料,一樣會被動態資料遮罩功能所保護。 但現實環境當中,資訊系統的複雜度往往不會這麼單純,需要 JOIN 多個基礎資料表,或搭配子查詢及衍生資料表來組合出系統所需的結果集,都是很常見的狀況。 如果只用【資料表和資料行】的遮罩方式可能,在較複雜的情境下會顯得捉襟見肘。 假設我們針對 SalesLT.ProductCategory 資料表的Name資料行、SalesLT.Product 的 ProductID 和 Name 資料行建立遮罩規則(如上圖),在遇到下列 T-SQL 查詢時就會發生,應該被遮罩的 ProdID(原 SalesLT.Product 資料表的 ProductID 資料行)和 ProdName(原 SalesLT.Product 資料表的 Name 資料行)資料行並沒有如預期的被保護,如果這是重要的機敏資料,在這種狀況下則會全都露。 該怎麼防止這種狀況發生,Azure SQL Database 提供了另一種遮罩方式,詳見下一節的說明。 使用別名來建立遮罩 針對非基礎資料表的查詢,如衍生資料表或子查詢或是資料表函數回傳的結果,必須使用【別名】的遮罩方式才能有效防堵機敏資料外洩,在不修改現有應用程式中的查詢語法,將查詢結果集的欄位名稱填入【遮罩項目別名】,其餘遮罩功能則和【資料表和資料行】遮罩規則建立方式相同。 下圖示範在 Azure 入口網站中針對 ProdID 和 ProdName 資料行建立遮罩規則,針對別名 ProdID,以…

0

Azure SQL Database 資安講堂 – 認識資料列層級安全性

本文大綱如下: 說明 權限 限制 學習目標 建立 SQL Database 設定防火牆規則 實作資料列層級安全性 建立篩選述詞函式(Filter Predicate Function) 建立安全性原則(Security Policy) 測試資料列安全性原則 修改資料列層級安全性原則 參考資料 進階學習 說明 Microsoft Azure SQL Database V12 推出資料列層級安全性(Row-Level Security,RLS),為儲存在 SQL Database 裡的資料提供有別於以往的保護機制,要使用這項功能應用程式幾乎不需要過多的修改就可以相容於資料列層級安全性,直接享受資料列層級安全性所帶來的細緻存取控制特性,並且讓資料安全性邏輯集中於資料庫層級,管控資料的安全性可以交給資料庫來完成,應用程式只要像過去那樣連接資料庫並存取資料,藉由資料列層級安全性功能就可以達到資料隔絕的效果,有效避免應用程式開發時,可能因為疏忽而導致存取不該存取的資料。 截至本文撰寫為止,北歐和西歐地區的資料中心 Azure SQL Database V12 已經進入 GA 階段,其他地區除了東亞、東南亞及日本地區資料中心尚未公布 GA 時程外,將依照預定時程陸續於 2015 年 2 月初脫離預覽階段[1]。 權限 要使用資料列層級安全性功能,所需具備的權限如下: ALTER ANY SECURITY POLICY 的權限。 ALTER 結構描述的權限。 篩選述詞函式 SELECT…

0

在 Linux 環境下使用 PHP 存取 Azure SQL Database

代貼北科大劉建昌同學撰寫之技術文章。 隨著雲端應用的普及,企業或是個人在開發應用程式時,都可藉由雲端平台上的託管服務得到高可用性以及高擴展性。Microsoft Azure 提供相當多的雲端解決方案可供客戶選擇,最常應用到的就是雲端資料庫 Azure SQL Database。Linux 用戶常遇到一個共通的問題,如何在 Linux 上以 PHP 連線到 Azure SQL Database ? 若是開發者使用 Windows Server 作業系統做為開發平台時,能夠與Azure SQL Database 完美的結合,不需要經過任何複雜配置與調整,在 Windows Server 使用 PHP 等開源程式碼時,也可以透過微軟提供的 Driver 來進行連結,但若是以 Linux 做為開發平台時,情況會較為複雜。透過本文,將介紹如何利用 FreeTDS 在 Ubuntu 環境下 PHP 連接 Azure SQL Database。TDS 是 Microsoft SQL Server 資料傳輸所使用的封包格式,過去微軟 SQL Server 透過 DB Library API 提供 C 語言使用的…

0

Azure SQL Database V12 管理實戰

本文大綱如下: 說明 準備工作 建立 SQL Database 伺服器及資料庫 將 SQL Database 伺服器升級至最新版本 使用 SQL Server 2014 Management Studio 管理 SQL Database 資料庫屬性 資料表設計師 選取前 N 個資料列和編輯前 N 個資料列 資料表屬性 擴充可程式性所支援的功能 預存程序和函數 其他 使用 Visual Studio 2013 管理 SQL Database 參考資料 說明 Microsoft Azure 近期推出 SQL Database Update V12 預覽功能,強調使用者可以在 Azure 平台上使用幾近於本地端部署 SQL Server 的功能與使用者體驗,可以說是拉近雲端和地端使用 SQL Server…

0

保護機敏資料的幫手 – Azure SQL Database V12 動態資料遮罩

本文原始發布於「TechNet 台灣部落格」,大綱如下: 說明 學習目標 準備工作 使用 Azure 入口網站設定動態資料遮罩 使用預覽版入口網站設定動態資料遮罩 讓特定登入(Login)不受動態資料遮罩的限制 結論 說明 Microsoft Azure SQL Database v12 針對未經授權的使用者存取機敏資料時,提供動態資料遮罩(Dynamic Data Masking)功能來防止資料外洩,不論您使用的是 Basic、Standard 或是 Premium 服務層(Service tiers),都可以使用動態資料遮罩功能。 目前這項功能尚在預覽階段,概念上其實很單純,主要提供應用程式或查詢工具查詢 Azure SQL Database 時,針對機敏資料進行部分的遮蔽,以避免直接呈現給前端未經授權的使用者(如下圖)。 動態資料遮罩具備下列特性: 應用程式不需要過多的修改。 幾乎只需要修改連線字串就可以讓應用程式使用 SQL Database 的動態資料遮罩功能來隱藏機敏資料。 原則式安全性(policy-based security)。 您可以將位於 SQL Database 裡的資料表的資料行名稱,或查詢時所使用的別名(alias name)建立遮罩規則,以保護機敏資料不會直接外洩。 不須變更資料表結構描述(Table Schema)。 使用動態資料遮罩不須變更現有的資料表結構描述,因此不用擔心為了使用這項功能而需大費周章修改資料表的設計。 學習目標 使用 Azure 入口網站設定動態資料遮罩。 使用預覽版入口網站設定動態資料遮罩。 讓特定登入(Login)不受動態資料遮罩的限制。 準備工作 首先請利用 Azure…

0

Azure SQL Database V12 GA 版本正式在亞洲地區提供服務

感謝北科大劉建昌同學協助翻譯微軟資料平台行銷主管 Tiffany Wissner  於 2015/2/24 發表的文章 Announcing latest version of Azure SQL Database now GA in Asia; improvements to disaster recovery objectives ( http://azure.microsoft.com/blog/2015/02/24/announcing-latest-version-of-azure-sql-database-now-ga-in-asia-improvements-to-disaster-recovery-objectives-2/ ) 正如先前 2015 年 1 月所宣布的,最新的 Azure SQL Database服務版本 (V12) 開始在歐洲與美國等地釋出正式版本 (general availability , GA)。我們現在很高興的宣布,這個服務版本也將在 Azure 亞洲資料中心登場。 除此之外,在這個最新版本之中,我們更提升了所有資料庫的災難復原時效目標 (disaster recovery objectives)。總之這些新的更新,使得 Azure SQL Database 成為了雲端關鍵性商業應用 (business-critical workloads) 以及本地端資料庫移植至雲端最便捷方式的首選。 最新版本的服務在亞洲上市 目前在亞洲釋出的 Azure…

0

Flavorus 透過 Microsoft Azure 建置售票系統,順利在 10 秒之內成功售出 150,000 張門票

感謝北科大劉建昌同學翻譯微軟公司 Azure 案例研究 Flavorus – Ticketing Company Scales to Sell 150,000 Tickets in 10 Seconds by Moving to Cloud Computing Solution http://www.microsoft.com/casestudies/Windows-Azure/Flavorus/Ticketing-Company-Scales-to-Sell-150-000-Tickets-in-10-Seconds-by-Moving-to-Cloud-Computing-Solution/4000011072,並將所提及之 Azure 相關服務修正為目前之正式名稱 Flavorus 透過雲端解決方案來建置售票系統,讓系統順利在 10 秒之內成功售出 150,000 張門票。 Flavorus 公司為美國一間知名的票務公司,透過自己的網站來販售演唱會、展覽、戲劇等活動的門票。 在 2011 年 1 月,Flavorus 公司負責了一個大型音樂祭的購票業務,為了要滿足購票可能湧入的大量流量,因此將票務系統從本地端自建機房移轉到雲端上。該公司建立了自己的 Jetstream 並且與 Microsoft Azure 結合,通過分區化 (sharding) 的技術,將售票流量平均分到不同的資料庫伺服器上。這個雲端解決方法經過了幾個月的開發與測試,在測試的過程中,Flavorus 成功地利用自己的Jetstream 結合 550 個 Microsoft Azure SQL Database,在 10 秒內將…

0

Azure SQL Database 的用戶端工具更新

本文章是翻譯微軟公司 Azure SQL Database 群組程式經理 Sanjay Nagamangalam 於 2014 年 12 月 22 日所發表的文章 http://azure.microsoft.com/blog/2014/12/22/client-tooling-updates-for-azure-sql-database/ 隨著 Azure SQL Database 最新預覽版本的發佈,我們也非常興奮地宣布讓主要的用戶端工具也支援 Azure SQL Database 這項服務。現在 SQL Server 2014 Management Studio (以下簡稱: SSMS) 這項工具將支援 Azure SQL database,包含最新版本的 SQL Database Update V12 (預覽版)。我們已經從橫跨產品面的改變,讓這些產品能夠在不同平台上面延伸相關的功能,像是我們已經試著從支援完整資料庫物件導覽功能 (例如:表單設計到匯入匯出功能等) 延伸到 Azure SQL Database。將這些功能特性導入到 SSMS 工具後,將能提供使用者或管理人員一種簡單又熟悉的環境,讓他們能夠輕鬆地管理雲端服務。 更多有關 SSMS 的細節資訊在這裡。 除此之外,隨著預覽版本的發表,我們也將 SQL Server database tooling…

0

多通路行銷應用程式開發架構指南

Microsoft Azure 上有相當多服務可以協助你開發堅固的網站,而針對面向一般消費者的行銷網站(其實適用於許多網站應用情境),Azure 團隊有一個建議的架構圖。 這篇文章就針對這份架構的建議來提供說明。 您也可以參考影片的說明: 流量管理與網站建置 你的客戶可能來自世界各地,或是你希望在多個資料中心做備援,為了要讓用戶的連線可以自動導向鄰近或是還可以正常存取的資料中心,這時你可以使用流量管理員(traffic manager)的服務,讓它設定指向不同資料中心的網站服務,然後將你的網域名稱設定在流量管理員上,接下來要到哪個資料中心就是流量管理員來負責處理,除了可以避免資料放在單一機房上會有服務中斷的疑慮之外,也有負載平衡的效果。 另一方面,Azure 網站服務除了可以自己使用 .NET、PHP、Python、Node.js、Java 來撰寫網站應用程式之外,也可以使用現成的架站工具(如:WordPress, Umbraco 等等)來快速建立網站,若網站需要串接身份驗證的功能,可以直接使用 Azure Active Directory 的服務,直接可以完成 AD、Microsoft、Facebook、Twitter、Google 的帳號身份驗證,不必自己撰寫這部份的程式。 由於是面對消費者的網站,有時候辦一些活動時可能需要臨時增加運算資源來應付暴增的流量,Azure 網站服務可以設定自動延展(Auto scale)的機制,視需要動態增減需要使用的運算資源數量;而若是要處理一些非同步的工作,則可以將這些非同步的工作放在 WebJobs 裡背景執行,方便處理一些非由使用者驅動的工作(如:處理客戶資料、寄送 Email 等)。 根據不同用途處理資料 如果要把使用者在網站上的行為記錄下來,做為日後分析的數據,那肯定是一種大數據(big data)的使用情境,這些資料可以使用 Azure HDInsight 來儲存,這個服務完全基於 Apache Hadoop 的技術架構,而運用 Azure 的雲端技術來提供服務,由於完全是採用 Hadoop 的技術架構,所有基於 Hadoop 架構做的資料處理、分析工具都可以直接使用。 而網站上的靜態檔案部份,不論是網站原本的靜態檔案(CSS、JavaScript、圖片)還是由使用者上傳到網站上的靜態檔案(個人圖片等),都可以運用 Azure 儲存體中的 Blob 儲存體服務來儲存,這些檔案都可以直接透過專屬的 URL 來存取,除了可以分散網站的流量之外,也可以降低網站對本機檔案系統的依賴,有效減輕延展網站的難度;同時,也可以運用 Azure 儲存體對於資料的可得性、易用性來保存檔案。 關聯式資料的部份,當然就可以直接選擇使用 Azure 上的…

1