描述安全性功能

已完成

適用於 MySQL 的 Azure 資料庫 - 彈性伺服器提供數個功能,其設計目的在於防護和保護您的資料和作業。 讓我們查看每一個功能。

網路

適用於 MySQL 的 Azure 資料庫 - 彈性伺服器提供強固的防火牆設定以保護公用存取的資料庫連線及 Azure 虛擬網路 (VNet)。 MySQL 彈性伺服器連線有三個設定:公用存取、私人存取和私人連結。 在所有情況下,連線仍必須向伺服器進行驗證。

公用存取提供可公開解析的 DNS 位址,其可以透過 IP 位址範圍允許清單從網際網路進行存取。 根據預設,不允許任何 IP 位址。 您可以在建立期間或之後新增 IP 位址。 您也可以允許從任何 Azure IP 位址存取 (包含其他區域中的其他客戶訂用帳戶)。

私人存取使用委派的子網路以裝載 MySQL 彈性伺服器,並提供可從 VNet 或對等互連 VNet 解析的 DNS 位址。 這會將資料庫存取僅鎖定至虛擬網路基礎結構。 您可以設定網路安全性群組 (NSG) 防火牆規則以更精確篩選網路流量。 您可以使用私人存取以從相同 VNet、從使用對等互連的不同 VNet,甚至從使用 ExpressRoute 或 VPN 連線的內部部署,安全連線至 MySQL 彈性伺服器。

私人連結提供 VNet 子網路內的私人 IP 位址端點以直接連線至 MySQL 彈性伺服器。 Azure Private Link 基本上會透過 IP 位址將 Azure 服務連限制私人 VNet,如同其他 VNet 資源一樣。 您可以建立多個私人端點,例如每個連線應用程式或 Azure PaaS 資源有一個私人端點。 私人連結與 NSG 防火牆規則結合,可以讓您精細控制可存取資料庫的服務。

適用於雲端的 Microsoft Defender

適用於雲端的 Microsoft Defender 會監視您的資料庫是否有異常和潛在有害的活動。 適用於雲端的 Defender 會以附加元件方案形式提供,藉以解決潛在威脅,而不需要建置或管理安全性監視。 除了 AWS Aurora 和 RDS 上的 MySQL 之外,適用於雲端的 Defender 在適用於 MySQL 的 Azure 資料庫 - 彈性伺服器上有多雲端可用性。 適用於雲端的 Defender 也支援 PostgreSQL 和 MariaDB。

適用於雲端的 Defender 會偵測威脅,例如:

  • 暴力密碼破解攻擊:多次異常登入失敗,並在許多失敗後成功登入。
  • 不尋常的登入模式:如果使用者在超過兩個月後第一次登入。
  • 不尋常的登入位置:如果使用者從不尋常的 Azure 資料庫、其他雲端提供者或標示為可疑的 IP 登入。

適用於雲端的 Defender 會將偵測警示傳送至 Azure 入口網站,並透過電子郵件傳送。 警示包含:

  • 可疑活動的詳細資料。
  • 相關聯的 MITRE ATT&CK (入侵者戰術、技術和共有知識庫)。
  • 調查和緩解攻擊的建議。
  • 使用 Microsoft Sentinel 調查的更多選項。

驗證

適用於 MySQL 的 Azure 資料庫提供兩種驗證模式:MySQL 驗證 (使用者名稱/密碼) 和 Microsoft Entra ID 驗證。 您可以同時啟用兩種模式。

Microsoft Entra ID 驗證使用 Microsoft Entra ID 所提供的身分識別,向 MySQL 彈性伺服器啟用以身分識別為基礎的驗證。 這可集中管理資料庫和其他 Microsoft 服務的使用者。

依預設,MySQL 彈性伺服器會設定為僅使用 MySQL 驗證 (使用者名稱/密碼)。 您可以將此設定變更為僅使用 Microsoft Entra ID 驗證 (沒有資料庫使用者),或結合受控識別與 MySQL 驗證。

當您使用 Microsoft Entra ID 驗證,則有兩個系統管理員帳戶:原始 MySQL 系統管理員和 Microsoft Entra ID 系統管理員。 Microsoft Entra ID 系統管理員可以是使用者或使用者群組。 如果系統管理員是群組,則群組的任何成員都可以管理 Microsoft Entra ID 驗證。 系統管理員群組可以更輕鬆管理,因為這使您在 Microsoft Entra ID 中集中管理使用者,而不需要直接更新 MySQL 使用者或權限。 您僅可以設定一個 Microsoft Entra ID 系統管理員,無論是單一使用者或單一使用者群組都是如此。

下圖顯示管理驗證的兩種模式。

此圖顯示 MySQL 系統管理員和適用於 MySQL 的 Microsoft Entra 系統管理員如何建立使用者和管理適用於 MySQL 的 Azure 資料庫 - 彈性伺服器。

當使用者或應用程式嘗試使用 Microsoft Entra 身分識別連線至 MySQL 彈性伺服器時,系統會核發權杖以允許登入。 身分識別會透過唯一 Microsoft Entra 使用者識別碼與資料庫使用者相關聯,而不是透過其名稱或其他屬性。

資料加密

MySQL 彈性伺服器會加密傳輸中的資料。 依預設,伺服器需要使用傳輸層安全性(TLS) 1.2 進行連線,並使用已淘汰的 TLS 1.0 和 1.1 通訊協議來拒絕未加密的連線。 您可以停用加密的連線 (可能是舊版應用程式不支援加密),或允許 1.2 前的版本,或使用 TLS 1.3 (這是新應用程式開發的建議設定)。

依預設,適用於 MySQL 的 Azure 資料庫 - 彈性伺服器會使用對稱 AES 256 位元資料加密金鑰 (DEK) 加密待用資料 (包含執行查詢時建立的備份和暫時檔案)。 您可以透過客戶自控金鑰 (CMK) 以攜帶您自己的金鑰 (BYOK),透過加密服務 DEK 以新增另一層加密。

BYOK 可讓您完全控制資料加密和金鑰生命週期:建立、上傳、輪替到刪除。 管理金鑰生命週期可讓您將金鑰輪替與公司原則保持一致,並實現安全小組、DBA 和系統系統管理員的責任分離。

啟用 CMK 需要將資料庫連結至使用者指派的受控識別 (UMI) 並指定金鑰 (儲存在 Azure Key Vault 中),才能進行使用。 如果您建立伺服器的複本,則系統將加密該複本,而您也可以將受控識別和金鑰新增至現有複本。