确保 Azure Database for MySQL 的安全

Azure Database for MySQL是一种完全托管的关系数据库服务,可提供高可用性、自动备份和可缩放的 MySQL 兼容的数据库托管。 对灵活服务器部署环境进行安全加固,有助于保护敏感数据、减少身份和网络暴露风险,并满足合规要求。

本文提供了一些安全建议,帮助保护 Azure Database for MySQL 的部署。

本文中的安全建议实施零信任原则:“显式验证”、“使用最低特权访问”和“假设违规”。 有关全面的零信任指南,请参阅 零信任指南中心。

网络安全

网络安全控制有助于限制客户端访问Azure Database for MySQL灵活服务器实例的方式,并减少对公共 Internet 流量的暴露。

身份和访问管理

标识和访问控制有助于集中身份验证、减少凭据公开,并为Azure管理操作和数据库访问强制实施最低特权。

  • 使用Microsoft Entra身份验证进行数据库访问:为Azure Database for MySQL灵活服务器配置Microsoft Entra身份验证,以便用户和应用程序可以使用Microsoft Entra标识进行身份验证,而不是仅依赖于 MySQL 密码。 有关详细信息,请参阅Azure Database for MySQL 灵活服务器的 Microsoft Entra 身份验证。
  • 尽可能仅使用 Microsoft Entra 进行身份验证:在将用户和应用程序迁移到 Microsoft Entra 身份验证后,禁用 MySQL 本机身份验证,以减少对灵活服务器基于密码的访问路径。 有关详细信息,请参阅Azure Database for MySQL 灵活服务器的 Microsoft Entra 身份验证。
  • 将托管标识用于应用程序连接:使用具有Microsoft Entra身份验证的托管标识或服务主体,以便应用程序使用令牌而不是嵌入式数据库密码连接到Azure Database for MySQL。 有关详细信息,请参阅Azure Database for MySQL 灵活服务器的 Microsoft Entra 身份验证。
  • 分配最低特权数据库权限:为每个应用程序或管理功能创建专用 MySQL 用户或Microsoft Entra映射的数据库用户,并仅授予每个标识所需的架构、表和操作权限。 有关详细信息,请参阅在 Azure Database for MySQL 中创建用户。
  • 对 Azure Database for MySQL 管理员强制实施条件访问:对可通过 Azure 资源管理器 工具(如 Azure 门户、Azure CLI 和 Azure PowerShell)管理灵活服务器资源的身份应用要求进行多重身份验证的条件访问策略。 更多信息请参见“要求 Azure 管理多重身份验证”。

数据保护

默认情况下,Azure Database for MySQL使用服务管理的密钥加密静态数据。 通过以下控制,可以更好地控制加密、密钥管理和加密客户端连接。

  • 要求加密的客户端连接:请保持require_secure_transport处于启用状态,以便客户端与 Azure Database for MySQL 之间的连接使用 TLS 加密,并避免以明文形式传输数据库流量。 有关详细信息,请参阅Azure Database for MySQL中的传输层安全性(TLS)。
  • 对 MySQL 8.0 服务器强制使用 TLS 1.3:在确认客户端应用程序和驱动程序支持 TLS 1.3 后,将 Azure Database for MySQL 8.0 灵活服务器上的 tls_version 设置为 TLS 1.3。 有关详细信息,请参阅Azure Database for MySQL中的传输层安全性(TLS)。
  • 验证客户端中的服务器证书:配置客户端应用程序以验证服务器证书链并仅信任根证书颁发机构,因此例程中间 CA 或服务器证书轮换不会中断安全连接。 有关详细信息,请参阅Azure Database for MySQL中的传输层安全性(TLS)。
  • 使用客户管理的密钥进行密钥控制:当需要分离职责、客户控制的密钥生命周期管理或用于静态数据加密的更多合规性控制时,请使用存储在Azure 密钥保管库中的客户管理的密钥。 有关详细信息,请参阅 使用 Azure Database for MySQL 的客户托管密钥进行数据加密。
  • 保护客户管理的密钥依赖项:对存储客户管理的密钥的 密钥保管库 启用软删除和清除保护,将所需的密钥权限分配给服务器的用户分配托管标识,并监视密钥访问,因为密钥访问丢失会使灵活服务器实例无法访问。 有关详细信息,请参阅 使用 Azure Database for MySQL 的客户托管密钥进行数据加密。

日志记录和监控

日志记录和监视控制有助于检测可疑数据库活动、调查管理更改,并保留符合性的审核证据。

合规性和治理

合规性和治理控制有助于跨Azure Database for MySQL灵活服务器机群强制实施一致的安全配置,并防止生产资源意外或未经授权的更改。

  • 使用 Azure Policy 强制实施诊断日志记录:为诊断设置分配内置Azure Policy定义microsoft.dbformysql/flexibleservers,例如将日志路由到 Log Analytics、事件中心或存储的策略,以便一致地收集灵活的服务器审核数据。 有关详细信息,请参阅 Azure Policy 内置策略定义。
  • 将删除锁应用于生产服务器:将锁添加到CanNotDelete生产Azure Database for MySQL灵活服务器资源,以减少意外删除的风险,同时保留正常的操作更改。 有关详细信息,请参阅 锁定 Azure 资源来保护基础结构。
  • 标记数据库资源进行治理:将工作负载、环境、数据分类、所有者和成本中心等标记应用于Azure Database for MySQL灵活的服务器资源,以便策略分配、库存查询和成本评审可以区分生产和敏感的数据库工作负荷。 有关详细信息,请参阅使用标记对 Azure 资源和管理层次结构进行组织。

备份和恢复

备份和恢复控制可帮助你从意外删除、数据损坏、区域中断和有风险的更改操作中恢复。

后续步骤