描述安全功能

已完成

Azure Database for MySQL 灵活服务器提供多种功能,旨在保护和确保数据和操作安全。 我们来了解一下这些功能。

网络

Azure Database for MySQL–灵活服务器提供可靠的防火墙设置,以保护用于公共访问的数据库连接以及 Azure 虚拟网络 (VNet)。 MySQL 灵活服务器连接有三个设置:公共访问、专用访问和专用链接。 在所有情况下,连接仍必须向服务器进行身份验证。

公共访问提供了一个可由允许列表中的 IP 地址范围通过 Internet 访问的可公开解析 DNS 地址。 默认情况下,不允许任何 IP 地址。 可以在创建期间或之后添加 IP 地址。 还可以允许从任何 Azure IP 地址(包括其他区域中的其他客户订阅)进行访问。

专用访问使用委托子网托管 MySQL 灵活服务器,并提供可从其 VNet 或对等互连 VNet 中解析的 DNS 地址。 这会仅锁定对虚拟网络基础结构的数据库访问权限。 可以设置网络安全组 (NSG) 防火墙规则,以更准确地筛选网络流量。 可以使用专用访问从同一 VNet、使用对等互连的其他 VNet、甚至使用 ExpressRoute 或 VPN 连接从本地安全地连接到 MySQL 灵活服务器。

专用链接提供 VNet 子网中的专用 IP 地址终结点,用于直接连接到 MySQL 灵活服务器。 Azure 专用链接实质上是通过 IP 地址(像任何其他 VNet 资源一样)将 Azure 服务引入专用 VNet 中。 可以创建多个专用终结点,例如每个连接应用程序或 Azure PaaS 资源一个。 专用链接与 NSG 防火墙规则相结合,可以精细控制哪些服务可以访问数据库。

Microsoft Defender for Cloud

Microsoft Defender for Cloud 会监视数据库是否执行异常和可能有害的活动。 Defender for Cloud 作为加载项计划提供,用于解决潜在威胁,而无需生成或管理安全监视。 除了 AWS Aurora 和 RDS 上的 MySQL 外,Defender for Cloud 还在 Azure Database for MySQL - 灵活服务器上具有多云可用性。 Defender for Cloud 还支持 PostgreSQL 和 MariaDB。

Defender for Cloud 会检测数据库威胁,例如:

  • 暴力攻击:登录失败数异常高,以及在多次失败后成功登录。
  • 异常登录模式:如果用户在两个月内首次登录。
  • 异常登录位置:如果用户从异常的 Azure 数据库或其他云提供商或标记为可疑的 IP 登录。

Defender for Cloud 会通过电子邮件将检测警报发送到 Azure 门户和电子邮件。 警报包括:

  • 可疑活动的详细信息。
  • 关联的 MITRE ATT&CK(对抗策略、技术和常见知识)。
  • 调查和缓解攻击的建议。
  • 使用 Microsoft Sentinel 调查的更多选项。

身份验证

Azure Database for MySQL 提供两种身份验证模式: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 管理员和 Microsoft MySQL 的 Entra Admins 如何创建和管理 Azure Database for MySQL 灵活服务器的关系图。

当用户或应用程序尝试使用 Microsoft Entra 标识连接到 MySQL 灵活服务器时,会颁发令牌以允许登录。 该标识通过其唯一 Microsoft Entra 用户 ID(而不是其名称或其他属性)与数据库用户关联。

数据加密

MySQL 灵活服务器加密传输中的数据。 默认情况下,服务器需要使用传输层安全性 (TLS) 1.2 进行连接,并使用弃用的 TLS 1.0 和 1.1 协议拒绝未加密的连接或连接。 你可以禁用加密连接(可能是旧版应用程序不支持加密),或允许 1.2 之前的版本,或使用 TLS 1.3,也就是新应用程序开发的建议设置。

默认情况下,Azure Database for MySQL 灵活服务器使用对称 AES 256 位数据加密密钥 (DEK) 加密静态数据(包括在运行查询时创建的备份和临时文件)。 使用客户管理的密钥 (CMK),可以通过加密服务的 DEK 来创建自己的密钥 (BYOK) 来添加另一层加密。

BYOK 提供对数据加密和密钥生命周期的完全控制:创建、上传、轮换和删除。 通过管理密钥生命周期,你可以将密钥轮换与公司策略保持一致,并使安全团队、DBA 和系统管理员职责分离。

启用 CMK 需要将数据库链接到用户分配的托管标识 (UMI),然后指定存储在 Azure 密钥保管库中的密钥才能使用。 如果创建服务器的副本,该副本将加密,还可以将托管标识和密钥添加到现有副本。