Azure Cosmos DB 中的安全性考慮
資料安全性是您、客戶和資料庫提供者之間共同的責任。 根據您選擇的資料庫提供者而定,您承擔的責任也有所不同。 如果您選擇內部部署解決方案,您需要負責從端點保護到硬體實體安全性的一切事項,這並不容易。 如果您選擇平台即服務 (PaaS) 雲端資料庫提供者,例如 Azure Cosmos DB,您關切的領域會大幅縮小。
如需詳細資訊,請參閱 雲端中的共同責任。
檢查清單
我們建議採用下列需求檢查清單來比較資料庫系統︰
- 網路安全性和防火牆設定
- 使用者驗證和細微的使用者控制
- 能夠將資料複寫到世界各地以防區域性失敗
- 從一個資料中心容錯移轉至另一個資料中心的能力
- 在資料中心內的區域資料複寫
- 自動資料備份
- 從備份中還原已刪除的資料
- 保護及隔離敏感數據的能力
- 監視攻擊
- 攻擊的內建回應
- 能夠異地隔離資料以遵守資料控管限制
- 實際保護受保護資料中心內的伺服器
- 認證
雖然看似明顯,但最新的大規模資料庫缺口提醒我們注意以下這些簡單但很重要的需求:
- 修補伺服器以保持最新狀態
- 預設為 HTTPS/TLS 加密
- 使用強式密碼的系統管理帳戶
Azure Cosmos DB 如何保護我的資料庫?
根據預設,Azure Cosmos DB 會使用服務與 Azure 內建的許多功能來保護資料庫。
安全性需求 | Azure Cosmos DB 的安全性方法 |
---|---|
網路安全性 | 使用 IP 防火牆是保護資料庫的第一道防線。 Azure Cosmos DB 支援原則驅動的 IP 型存取控制,以提供輸入防火牆支援。 IP 型存取控制與傳統資料庫系統所使用的防火牆規則類似。 不過,它們會進行擴充,因此 Azure Cosmos DB 資料庫帳戶虛擬核心叢集只能從核准的一組機器或雲端服務進行存取。 若要深入了解,請參閱 Azure Cosmos DB 防火牆支援。 使用 Azure Cosmos DB,您可以啟用特定的 IP 位址 (168.61.48.0)、IP 範圍 (168.61.48.0/8),以及 IP 和範圍的組合。 Azure Cosmos DB 會封鎖此允許清單之外的機器發出的所有要求。 因此,核准的機器和雲端服務發出的要求必須完成驗證程序,才能獲得資源的存取控制。 您可以使用虛擬網路服務標籤來達成網路隔離,並讓一般的網際網路無法存取 Azure Cosmos DB 資源。 建立安全性規則時,請以服務標籤取代特定的 IP 位址。 在規則的正確來源或目的地欄位中指定服務標籤名稱 (例如 AzureCosmosDB ),即可允許或拒絕對應服務的流量。 |
授權 | Azure Cosmos DB 使用雜湊式訊息驗證碼 (HMAC) 來進行授權。 每個要求都透過祕密帳戶金鑰的雜湊處理,而後續的 base-64 編碼雜湊會隨著每次呼叫 Azure Cosmos DB 一起傳送。 為了驗證要求,Azure Cosmos DB 會使用正確的祕密金鑰和屬性產生雜湊,然後比較此值與要求中的值。 如果這兩個值相符,即會成功授權作業,並處理要求。 如果兩者不相符,則發生授權失敗,且要求遭到拒絕。 您可以使用主鍵,允許更細緻地存取文件等資源。 若要深入了解,請參閱安全存取 Azure Cosmos DB 資源中的資料。 |
使用者和權限 | 透過使用帳戶的主要金鑰,建立每個資料庫的使用者資源和權限資源。 資源權杖與資料庫中的權限相關聯,將決定使用者是否能夠存取 (讀寫、唯讀或無法存取) 資料庫中的應用程式資源。 應用程式資源包括容器、檔、附件、預存程式、觸發程式和使用者定義函式(UDF)。 然後,驗證期間會使用資源權杖來允許或拒絕存取資源。 若要深入了解,請參閱安全存取 Azure Cosmos DB 資源中的資料。 |
Azure Directory 整合 (角色型存取控制) | 您也可以在 Azure 入口網站中,藉由使用存取控制 (IAM) 來提供或限制 Azure Cosmos DB 帳戶、資料庫、容器和供應項目 (輸送量) 的存取權。 IAM 提供角色型存取控制,並與 Active Directory 整合。 您可以針對個人和群組使用內建角色或自訂角色。 |
全域複寫 | Azure Cosmos DB 提供現成的全域散發,您只需用現成方式,就能將資料複寫至 Azure 的任何一個全球資料中心。 全球複寫可讓您擴大到全球規模,確保存取世界各地資料時的低延遲性。 在安全性方面,全域複寫可確保資料不受區域性失敗影響。 若要深入了解,請參閱將資料分散到全球。 |
區域性容錯移轉 | 如果您在多個數據中心複寫您的數據,如果區域數據中心離線,Azure Cosmos DB 會自動變換您的作業。 您可以使用已複寫資料的區域,建立容錯移轉區域的優先順序清單。 若要深入了解,請參閱 Azure Cosmos DB 的區域性容錯移轉。 |
區域複寫 | 即使在單一資料中心內,Azure Cosmos DB 也會自動複寫資料來達到高可用性,還可讓您選擇一致性層級。 此復寫可保證所有單一區域帳戶和所有多重區域帳戶的 99.99% 可用性服務等級協定 (SLA), 且在所有多重區域資料庫帳戶上讀取可用性為 99.999%。 |
自動線上備份 | Azure Cosmos DB 資料庫會定期備份並儲存至異地備援存放區。 若要深入了解,請參閱使用 Azure Cosmos DB 進行自動線上備份及還原。 |
還原已刪除的資料 | 您可以使用自動線上備份來復原事件後最多 30 天意外刪除的數據。 若要深入了解,請參閱使用 Azure Cosmos DB 進行自動線上備份及還原。 |
保護並隔離敏感性資料 | 新功能中所列的區域中的所有資料均已加密靜止。 個人資料和其他機密資料可隔離至特定容器來進行讀寫,或限制為只對特定使用者提供唯讀存取權。 |
監視攻擊 | 您可以使用稽核記錄和活動記錄,以監視帳戶的正常和異常活動。 您可以檢視曾在您資源上執行的作業。 此資料包括誰起始作業、作業何時發生、作業的狀態等等。 |
回應攻擊 | 在您連絡 Azure 支援 報告潛在攻擊之後,就會開始五個步驟的事件回應程式。 目標是恢復正常服務安全性和作業。 程序會在偵測到問題並展開調查之後盡快恢復服務。 若要深入了解,請參閱雲端的 Microsoft Azure 安全性回應。 |
異地隔離 | Azure Cosmos DB 可確保主權區域 (例如,德國、中國和美國政府) 的資料控管。 |
受保護的設施 | Azure Cosmos DB 中的資料儲存在 Azure 受保護資料中心內的固態硬碟上。 若要深入了解,請參閱 Microsoft 全球資料中心。 |
HTTPS 和 TLS 加密 | Azure Cosmos DB 的所有連線都支援 HTTPS。 Azure Cosmos DB 支援高達 1.2 的傳輸層安全性 (TLS) 層級(包含)。 伺服器端可能會強制執行最低 TLS 層級。 若要這麼做,請參閱自助式指南 Azure Cosmos DB 中的自助式最低 TLS 版本強制執行。 |
待用加密 | 所有儲存至 Azure Cosmos DB 的資料都會進行待用加密。 若要深入了解,請參閱 Azure Cosmos DB 待用加密。 |
修補的伺服器 | Azure Cosmos DB 會以受控資料庫的形式自動修補和管理伺服器,而不需要手動維護工作。 |
使用強式密碼的系統管理帳戶 | 在 Azure Cosmos DB 中不可能存在沒有密碼的系統管理帳戶。 依預設已內建透過 TLS 和 HMAC 密碼型驗證的安全性。 |
安全性和資料保護認證 | 如需最新認證清單,請參閱 Azure 合規性以及具有所有 Azure 認證的最新 Azure 合規性文件,包括 Azure Cosmos DB。 |