使用 Azure 门户对 Azure Database for MySQL 进行数据加密

本文介绍如何使用 Azure 门户为 Azure Database for MySQL 灵活服务器设置和管理静态数据加密。

在这篇文章中,你将学会如何:

  • 为 Azure Database for MySQL 设置数据加密。
  • 为数据库还原操作配置数据加密。
  • 为副本服务器配置数据加密。

加密类型

Azure Database for MySQL 支持两种主要类型的加密,以帮助保护数据。

  • 静态加密 可确保存储在数据库中的所有数据(包括备份和日志)通过加密磁盘来保护其不受未经授权的访问。
  • 传输中的加密 在客户端应用程序与 Azure Database for MySQL 中的传输层安全性(TLS)中涵盖的数据库服务器之间移动时会保护数据的安全。

Azure Key Vault 访问的权限模型

Azure Key Vault 访问配置现在支持两种类型的权限模型 - Azure 基于角色的访问控制保管库访问策略。 本文介绍如何使用保管库访问策略为 Azure Database for MySQL 配置数据加密。

可以选择使用 Azure RBAC 作为权限模型来授予对 Azure Key Vault 的访问权限。 为此,需要具有三个权限的内置角色或自定义角色,并使用密钥保管库中的访问控制(IAM)选项卡通过“角色分配”进行分配:

  • KeyVault/vaults/keys/加密/操作
  • KeyVault/vaults/keys/unwrap/action
  • KeyVault/vaults/keys/read。

先决条件

  • 拥有有效订阅的 Azure 帐户。

  • 如果没有 Azure 订阅,可在开始前创建一个 Azure 试用帐户

设置密钥操作的合适权限

  1. 在 Key Vault 中,选择 “访问策略”,然后选择“ 创建”。

    Azure 门户中 Key Vault 访问策略的屏幕截图。

  2. 在“权限”选项卡上,选择以下密钥权限:获取列出封装密钥解封密钥

  3. “主体 ”选项卡上,选择“用户分配的托管标识”。

    Azure 门户中“主体”选项卡的屏幕截图。

  4. 选择 创建

配置客户管理的密钥

若要设置客户管理的密钥,请执行以下步骤。

  1. 在门户中,导航到 Azure Database for MySQL 灵活服务器实例,然后在 “安全性 ”下选择 “数据加密”。

    数据加密页的屏幕截图。

  2. “数据加密 ”页上的 “未分配标识 ”下,选择“ 更改标识

  3. “选择用户分配的托管标识 ”对话框中,选择 demo-umi 该标识,然后选择“ 添加”。

    从分配的托管标识页中选择 demo-umi 的屏幕截图。

  4. 密钥选择方法 右侧, 选择密钥 并指定密钥保管库和密钥对,或选择 “输入密钥标识符”。

    向用户展示关键选择方法的截图。

  5. 选择“保存”

使用数据加密进行还原

若要在还原作中使用数据加密,请执行以下步骤。

  1. 在 Azure 门户中,导航到服务器的“概述”页,然后选择“ 还原”。

  2. 在“ 安全 ”选项卡上,指定标识和密钥。

    概述页的屏幕截图。

  3. 选择 “更改标识 ”,然后选择 “用户分配的托管标识 ”,然后选择“ 添加”

    若要选择密钥 ,可以选择 密钥保管库密钥对 或输入 密钥标识符

    更改标识页的屏幕截图。

对副本服务器使用数据加密

使用存储在 Key Vault 中的客户托管密钥加密 Azure Database for MySQL 灵活服务器实例后,服务器的任何新创建副本也会加密。

  1. 若要配置复制,请在 “设置” 下选择“ 复制 ”,然后选择“ 添加副本”。

    “复制”页的屏幕截图。

  2. 在“将副本服务器添加到 Azure Database for MySQL”对话框中,选择相应的 “计算 + 存储 ”选项,然后选择“ 确定”。

    “计算 + 存储”页的屏幕截图。

    重要

    尝试使用已具有副本的客户管理的密钥加密 Azure Database for MySQL 灵活服务器时,建议通过添加托管标识和密钥来配置一个或多个副本。