使用 Azure 门户对Azure Database for MySQL灵活服务器进行数据加密

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

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

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

加密类型

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

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

Azure 密钥保管库 访问的权限模型

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

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

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

先决条件

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

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

设置密钥操作的合适权限

  1. 在 密钥保管库 中,选择 “访问策略”,然后选择“ 创建”。

    Azure 门户中 密钥保管库 访问策略的屏幕截图。

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

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

  4. 选择“创建”。

配置客户管理的密钥

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

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

    数据加密页的屏幕截图。

  2. 在 数据加密中,在 “未分配标识”下,选择“ 更改标识”。

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

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

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

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

  5. 选择“保存”。

使用数据加密进行还原

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

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

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

    概述页的屏幕截图。

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

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

    更改标识页的屏幕截图。

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

使用存储在 密钥保管库 中的客户管理密钥对 Azure Database for MySQL 灵活服务器实例加密后,该服务器任何新创建的副本也都会被加密。

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

    “复制”页的屏幕截图。

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

    Important

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