共用方式為


Azure Cosmos DB for MongoDB 虛擬核心中的資料庫安全性概觀

適用於: MongoDB 虛擬核心

本文討論 Azure Cosmos DB for MongoDB 虛擬核心 所提供的資料庫安全性最佳做法和重要功能,協助您防止、偵測和因應資料庫缺口。

Azure Cosmos DB for MongoDB 虛擬核心安全性的新功能

大部分 Azure 區域內 Azure Cosmos DB for MongoDB 虛擬核心中所儲存的文件和備份現在可以使用待用加密。 這些區域內的新舊客戶都會自動套用加密靜止功能。 不需要設定任何項目。 您可以獲得與之前相同的出色延遲、輸送量、可用性和功能,並擁有以下好處:知道資料在待用加密下仍舊安全無虞。 Azure Cosmos DB for MongoDB 虛擬核心叢集中所儲存的資料會使用服務受控金鑰,以透過 Microsoft 所管理的金鑰來自動進行縝密的加密。

如何保護我的資料庫

資料安全性是您、客戶和資料庫提供者之間共同的責任。 根據您選擇的資料庫提供者而定,您承擔的責任也有所不同。 如果您選擇內部部署解決方案,您需要負責從端點保護到硬體實體安全性的一切事項,這並不容易。 如果您選擇 PaaS 雲端資料庫提供者,例如 Azure Cosmos DB,您關切的領域會大幅縮小。 下圖取自 Microsoft 的雲端運算共同責任 (英文) 技術白皮書,顯示您的責任如何藉助於 PaaS 提供者 (例如 Azure Cosmos DB) 而減輕。

客戶和資料庫提供者責任的螢幕快照。

上圖顯示高階雲端安全性元件,但對於您的資料庫解決方案,您需要特別關注哪些項目? 還有,您如何比較不同的解決方案?

我們建議採用下列需求檢查清單來比較資料庫系統︰

  • 網路安全性和防火牆設定
  • 使用者驗證和細微的使用者控制
  • 能夠將資料複寫到世界各地以防區域性失敗
  • 從一個資料中心容錯移轉至另一個資料中心的能力
  • 在資料中心內的區域資料複寫
  • 自動資料備份
  • 從備份中還原已刪除的資料
  • 保護並隔離敏感性資料
  • 監視攻擊
  • 回應攻擊
  • 能夠異地隔離資料以遵守資料控管限制
  • 實際保護受保護資料中心內的伺服器
  • 認證

雖然看似明顯,但最新的大規模資料庫缺口提醒我們注意以下這些簡單但很重要的需求︰

  • 修補伺服器以保持最新狀態
  • 預設為 HTTPS/TLS 加密
  • 使用強式密碼的系統管理帳戶

Azure Cosmos DB 如何保護我的資料庫

Azure Cosmos DB for MongoDB 虛擬核心可順暢地滿足所有安全性需求。

讓我們詳細探究每一個。

安全性需求 Azure Cosmos DB 的安全性方法
網路安全性 透過 成熟的 Private Link 技術 實作的私人存取可讓您為 Azure VNet 中的資源提供叢集的存取權。 公用存取可讓您將叢集開啟至一組已定義的公用IP位址。 私人和公用存取可以隨時合併和啟用或停用。

默認設定:預設會建立適用於 MongoDB 的 Azure Cosmos DB 虛擬核心叢集,預設會鎖定。 若要提供叢集的存取權,應更新網路設定,以在叢集建立期間或之後啟用叢集的私人和/或公用存取。

私人存取:啟用私人存取時,可以建立私人端點,從 Azure 虛擬網路記憶體取私人叢集。 私人端點會在指定的 VNet 子網中建立。 完成後,叢集可以使用所有 Azure 虛擬網路功能 ,包括本機和全域虛擬網路對等互連、私人內部部署環境的存取、網路流量的篩選和路由,以及其他。

公用存取:使用IP防火牆是保護資料庫的第一層保護。 Azure Cosmos DB for MongoDB 虛擬核心支援原則驅動的 IP 型存取控制,以提供輸入防火牆支援。 IP 型存取控制與傳統資料庫系統所使用的防火牆規則類似。 不過,它們會進行擴充,因此 Azure Cosmos DB for MongoDB 虛擬核心叢集只能從核准的一組機器或雲端服務進行存取。 Azure Cosmos DB for MongoDB 虛擬核心會封鎖此允許清單之外的機器所發出的所有要求。 因此,核准的機器和雲端服務發出的要求必須完成驗證程序,才能獲得資源的存取控制。
區域複寫 即使在單一區域內,適用於 MongoDB 的 Azure Cosmos DB 虛擬核心也會在記憶體層級復寫數據,以透明的方式維護每個實體分區的 3 個同步複本。

已啟用HA的叢集在每個主要和待命實體分區配對之間有另一層複寫。 高可用性複寫是同步的,且在故障轉移時提供零數據遺失,因此保證單一區域設定的每月可用性 SLA 為 99.99%。
全域複寫 適用於 MongoDB 的 Azure Cosmos DB 虛擬核心提供 跨區域複 寫,可讓您將數據復寫到另一個 Azure 區域。 全球複寫可讓您擴大到全球規模,確保存取世界各地資料時的低延遲性。 在安全性內容中,全域復寫可確保數據保護,以防止不常發生區域性中斷。 使用跨區域複本叢集時,您的數據複本一律存在於另一個區域中。 另一個區域中的複本與高可用性結合,可為多重區域設定提供99.995%的每月可用性 SLA。
資料庫隔離 適用於 MongoDB 的 Azure Cosmos DB 虛擬核心資料庫會裝載在自己的專用資源上。 這表示每個叢集都會取得自己的專用節點,稱為實體分區,或多分區設定中的一些節點。 每個實體分區都有自己的計算和遠端記憶體連結。 叢集之間不會共用基礎結構,為您的資料庫提供額外的實體和邏輯隔離層。
自動化叢集備份 Azure Cosmos DB for MongoDB 虛擬核心叢集的備份會在叢集建立時啟用、完全自動化且無法停用。 還原 會提供至 35 天備份保留期間內的任何時間戳。
還原 已刪除 的數據 自動在線備份可用來從事件后最多7天意外刪除的叢集復原數據。
HTTPS/SSL/TLS 加密 所有與適用於 MongoDB 的 Azure Cosmos DB 虛擬核心叢集的網路通訊都會加密。 只接受透過 MongoDB 用戶端的連線,而且一律會強制執行加密。 每當將數據寫入 Azure Cosmos DB for MongoDB 虛擬核心時,您的數據就會在傳輸中加密。 數據加密支援最多 1.3 的 TLS 層級(包含)。
待用加密 適用於 MongoDB 的 Azure Cosmos DB 虛擬核心數據,包括所有備份,都會在磁碟上加密,包括暫存盤。 此服務使用包含在 Azure 儲存體加密機制中的 AES 256 位元加密,且金鑰是由系統管理。 系統會一律啟用儲存體加密,且無法停用。
監視攻擊 藉由使用稽核記錄和活動記錄,您可以監視資料庫的正常和異常活動。 您可以檢視曾在您資源上執行的作業。 此資料包括誰起始作業、作業何時發生、作業的狀態等等。
回應攻擊 一旦您連絡 Azure 支援 報告潛在攻擊,就會啟動五個步驟的事件回應程式。 五步驟程序的目標是恢復正常服務安全性和作業。 五步驟程序會在偵測到問題並展開調查之後盡快恢復服務。

深入瞭解 雲端中的共同責任。
受保護的設施 適用於 MongoDB 的 Azure Cosmos DB 虛擬核心中的數據會儲存在 Azure 受保護的數據中心。

請參閱 Microsoft 全球資料中心以深入了解
修補的伺服器 適用於 MongoDB 的 Azure Cosmos DB 虛擬核心不需要管理自動為您完成的軟體更新和修補程式叢集。
使用強式密碼的系統管理帳戶 很難相信我們需要提到這個需求,但是與一些競爭者不同,Azure Cosmos DB for MongoDB 虛擬核心中的系統管理帳戶一定會有密碼。 密碼長度至少應為8個字元,包括英文大寫和小寫字母、數位和非英數位元。

預設已內建透過 TLS 祕密型驗證的安全性。
次要帳戶 如需更細微的存取 次要用戶帳戶 ,可以在具有叢集資料庫的讀寫或只讀許可權的叢集上建立。
安全性和資料保護認證 如需最新認證清單,請參閱 Azure 合規性以及具有所有 Azure 認證的最新 Azure 合規性文件 (包括 Azure Cosmos DB)。

下列螢幕擷取畫面顯示如何使用稽核記錄和活動記錄來監視您的帳戶:Azure Cosmos DB 的活動記錄螢幕快照。

網路安全性選項

本節概述您可以針對叢集所設定的各種網路安全性選項。 您可以在叢集上結合公用和私人存取選項。 您可以隨時變更網路組態設定。

不允許存取

如果未在叢集佈建期間分別針對公用或私人存取建立防火牆規則或私人端點,則沒有Access 是新建立叢集的預設選項。 在此情況下,無論在 Azure 內部或外部,任何電腦都無法連線至資料庫節點。

具有防火牆的公用 IP 存取

[公用存取] 選項中,公用IP位址會指派給叢集,而叢集的存取權則受到防火牆的保護。 如果未在叢集的其中一個防火牆規則中指定公用IP位址,防火牆會拒絕來自該IP位址的要求,而且不會連線到資料庫。

私人存取

私人存取選項中,會為叢集建立私人端點。 此私人端點會與 Azure 虛擬網路 (VNet) 和該 VNet 內的子網相關聯。 私人端點可讓相關聯虛擬網路和對等互連虛擬網路上的主機存取適用於 MongoDB 虛擬核心叢集的 Azure Cosmos DB。

防火牆概觀

適用於 MongoDB 的 Azure Cosmos DB 虛擬核心會使用叢集層級防火牆來防止您叢集的所有存取,直到您指定哪些電腦 (IP 位址) 具有許可權為止。 防火牆會根據每個要求的來源 IP 位址來授與叢集存取權。 若要設定防火牆,您可以 建立防火牆規則 ,以指定可接受的IP位址範圍。

防火牆規則可讓用戶端存取叢集和其內的所有資料庫。 您可以使用 Azure 入口網站 或以程序設計方式使用 Azure CLI 之類的 Azure 工具來設定叢集層級防火牆規則。

防火牆預設會封鎖叢集的所有存取。 若要從另一部計算機開始使用叢集,您必須指定一或多個叢集層級防火牆規則,以啟用叢集的存取權。 使用防火牆規則,來指定允許從網際網路存取的 IP 位址範圍。 防火牆規則不會影響 Azure 入口網站本身的存取。 來自因特網和 Azure 的連線嘗試必須先通過防火牆,才能連線到您的資料庫。