適用於 NoSQL 的 Azure Cosmos DB 是全域散發的多模型資料庫服務,專為任務關鍵性應用程式所設計。 雖然 Azure Cosmos DB 提供內建的安全性功能來保護您的數據,但請務必遵循最佳做法,進一步增強帳戶、數據和網路設定的安全性。
本文提供如何最佳保護適用於 NoSQL 部署的 Azure Cosmos DB 的指引。
網路安全性
停用公用網路存取並使用僅限私人端點:使用限制網路存取 Azure 委派虛擬網路的設定來部署適用於 NoSQL 的 Azure Cosmos DB。 帳戶會透過您設定的特定子網公開。 然後,針對連線到帳戶的服務,停用整個帳戶的公用網路存取,並使用專用的私人端點。 如需詳細資訊,請參閱 設定虛擬網路存取 和 設定私人端點的存取。
啟用網路隔離的網路安全性周邊:使用網路安全性周邊 (NSP) 來定義網路界限並將其與公用因特網存取隔離,以限制對 Azure Cosmos DB 帳戶的存取。 如需詳細資訊,請參閱 設定網路安全性邊界。
身分識別管理
使用受控識別從其他 Azure 服務存取您的帳戶:受控識別透過在 Microsoft Entra ID 中提供自動管理的識別來消除手動管理認證的需要。 使用受控識別從其他 Azure 服務安全地存取 Azure Cosmos DB,而不需要在程式碼中內嵌認證。 如需詳細資訊,請參閱 Azure 資源的受控識別。
使用 Azure 控制平面角色型訪問控制來管理帳戶資料庫和容器:套用 Azure 角色型訪問控制,以定義管理 Azure Cosmos DB 帳戶、資料庫和容器的精細許可權。 此控制項可確保只有授權的使用者或服務可以執行系統管理作業。 如需詳細資訊,請參閱授與控制平面存取權。
使用原生數據平面角色型訪問控制來查詢、建立及存取容器內的專案:實作數據平面角色型訪問控制,以強制執行查詢、建立及存取 Azure Cosmos DB 容器內專案的最低許可權存取權。 此控制件有助於保護您的資料作業。 如需詳細資訊,請參閱 授與數據平面存取權。
分隔用於資料和控制平面存取的 Azure 身分識別:針對控制平面和資料平面作業使用不同的 Azure 身分識別,以降低許可權提升的風險,並確保更好的存取控制。 此區隔可藉由限制每個身分識別的範圍來增強安全性。
運輸安全性
- 使用並強制執行 TLS 1.3 進行傳輸安全性:使用最新的密碼編譯通訊協議強制執行傳輸層安全性 (TLS) 1.3 來保護傳輸中的數據,確保加密更強且效能改善。 如需詳細資訊,請參閱 最低 TLS 強制執行。
資料加密
使用服務管理的金鑰或客戶管理的密鑰(CMK)加密靜態或傳輸中的數據:藉由加密靜態和傳輸中的敏感數據來保護它們。 為了簡單起見,請使用服務管理的密鑰或客戶管理的金鑰,以更充分掌控加密。 如需詳細資訊,請參閱 設定客戶管理的金鑰。
使用 Always Encrypted 來保護用戶端加密的數據:Always Encrypted 可確保在傳送至 Azure Cosmos DB 之前,先在用戶端加密敏感數據,以提供額外的安全性層。 如需詳細資訊,請參閱 Always Encrypted。