你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure Database for PostgreSQL 灵活服务器实例管理的所有数据始终静态加密。 这些数据包括所有系统和用户数据库、服务器日志、预写日志段和备份。 加密是由底层存储通过 Azure 磁盘存储的服务器端加密处理的。
使用服务管理的密钥 (SMK) 或客户管理的密钥 (CMK) 进行静态加密
Azure Database for PostgreSQL 支持两种静态数据加密模式:服务托管密钥(SMK)和客户托管密钥(CMK)。 使用服务管理的密钥进行数据加密是 Azure Database for PostgreSQL 灵活服务器的默认模式。 在此模式下,该服务会自动管理用于加密数据的加密密钥。 无需执行任何作即可在此模式下启用或管理加密。
在“客户管理的密钥”模式下,可以自带加密密钥来加密数据。 此模式可让你更好地控制加密过程,但也要求你自己管理加密密钥。 必须部署自己的 Azure 密钥保管库 或 Azure 密钥保管库 托管硬件安全模块(HSM),并将其配置为存储 Azure Database for PostgreSQL 灵活服务器实例使用的加密密钥。
只能在创建服务器时选择此模式。 在服务器的生存期内,无法将其从一种模式更改为另一种模式。
为了实现数据的加密,Azure Database for PostgreSQL 对 静态数据使用 Azure 存储加密。 使用 CMK 时,客户负责提供密钥来加密和解密 Blob 存储和 Azure 文件存储服务中的数据。 这些密钥必须存储在 Azure 密钥保管库 或 Azure 密钥保管库 托管硬件安全模型 (HSM) 中。 有关详细信息,请参阅用于 Azure 存储加密的客户管理的密钥。
每种模式(SMK 或 CMK)提供的优势
使用 Azure Database for PostgreSQL 服务托管密钥 进行数据加密具有以下优势:
- 该服务会自动完全控制数据访问。
- 该服务会自动完全控制密钥的生命周期,包括轮换密钥。
- 你无需担心管理数据加密密钥。
- 基于服务托管密钥的数据加密不会对工作负载的性能产生负面影响。
- 它简化了加密密钥的管理(包括其定期轮换),以及用于访问这些密钥的标识的管理。
使用 Azure Database for PostgreSQL 的客户托管密钥 进行数据加密具有以下优势:
- 您完全控制数据访问。 可以删除密钥以使数据库不可访问。
- 你可以完全控制密钥的生命周期,包括按照公司策略的要求轮换密钥。
- 你可以在自己的 Azure 密钥保管库 实例中集中管理和组织所有加密密钥。
- 基于客户管理的密钥的数据加密不会对工作负载的性能产生负面影响。
- 可实现安全管理人员、数据库管理员和系统管理员之间的职责分离。
CMK 要求
使用客户管理的加密密钥时,相关责任将由您承担。 因此,你必须部署自己的 Azure 密钥保管库 或 Azure 密钥保管库 HSM。 必须生成或导入自己的密钥。 必须授予密钥保管库所需的权限,以确保您的 Azure Database for PostgreSQL 灵活服务器实例能够对密钥执行必要操作。 必须负责配置保留密钥的 Azure 密钥保管库 的所有网络方面,以便 Azure Database for PostgreSQL 灵活服务器实例可以访问密钥。 审核对密钥的访问权限也是你的责任。 最后,你负责轮换密钥,并在需要时更新 Azure Database for PostgreSQL 灵活服务器实例的配置,使其引用密钥的轮换版本。
为存储帐户配置客户管理的密钥时,Azure 存储使用关联密钥保管库或托管 HSM 中客户管理的密钥来包装帐户的根数据加密密钥 (DEK)。 根加密密钥的保护会更改,但是 Azure 存储帐户中的数据会保持加密状态。 你无需执行额外操作即可确保数据保持加密。 客户管理的密钥的保护会立即生效。
Azure 密钥保管库 是一种基于云的外部密钥管理系统。 它具有高可用性,并为 RSA 加密密钥提供可缩放的安全存储,根据需要由经过 FIPS 140 验证的硬件安全模块 (HSM) 提供支持。 它不允许直接访问存储的密钥,而是为已获授权的实体提供加密和解密服务。 密钥保管库 可以生成密钥并将其导入,或者接收从本地 HSM 设备传输的密钥。
下面是为 Azure Database for PostgreSQL 配置数据加密的要求列表:
- 对于单租户 CMK 配置,密钥保管库 和 Azure Database for PostgreSQL 灵活服务器实例必须属于同一个 Microsoft Entra 租户。 有关跨租户场景,请参阅 跨租户客户管理密钥。 之后若要移动 密钥保管库 资源,需要重新配置数据加密。
- 建议将 密钥保管库 的“已删除保管库的保留天数”配置设为 90 天。 如果已配置具有较低数量的现有 密钥保管库 实例,它仍应有效。 但是,如果想要修改此设置并增加该值,则需要创建新的 密钥保管库 实例。 创建实例后,无法修改此设置。
- 启用 密钥保管库 中的软删除功能,以便在意外删除密钥或 密钥保管库 实例时帮助防止数据丢失。 密钥保管库 会将软删除资源保留 90 天,除非用户在此期间恢复或清除这些资源。 “恢复”和“清除”操作均自带与 密钥保管库 RBAC 角色或访问策略权限关联的权限。 软删除功能默认处于打开状态。 如果在很久以前部署了 密钥保管库,它可能仍禁用了软删除。 在这种情况下,可以使用 Azure CLI 启用软删除。
- 启用清除保护,对已删除的保管库和保管库对象执行强制保留期。
- 通过以下方式授予 Azure Database for PostgreSQL 灵活服务器实例的用户分配的托管标识访问权限:
- 首选:应使用 RBAC 权限模型配置 Azure 密钥保管库,并应为托管标识分配 密钥保管库 加密服务加密用户角色。
- 旧版:如果为 Azure 密钥保管库 配置了访问策略权限模型,请向托管标识授予以下权限:
- get:检索 密钥保管库 中密钥的属性和公共部分。
- list:列出并循环访问 密钥保管库 中存储的密钥。
- wrapKey:加密数据加密密钥。
- unwrapKey:解密数据加密密钥。
- 用于加密数据加密密钥的密钥只能是非对称、RSA 或 RSA-HSM 密钥。 支持的密钥大小为 2048、3072 和 4096。 为了提高安全性,建议使用 4,096 位密钥。
- 密钥激活的日期和时间(如果已设置)必须是过去的日期和时间。 过期的日期和时间(如果已设置)必须在未来。
- 密钥必须处于“已启用”状态。
- 要将现有密钥导入 密钥保管库,请确保以受支持的文件格式(
.pfx、.byok或.backup)提供该密钥。
CMK 密钥版本更新
CMK 可以配置为手动密钥轮换和更新,或者自动密钥版本更新(在 密钥保管库 中进行手动或自动密钥轮换后)。
有关详细信息,请参阅在服务器预配期间使用客户管理的密钥配置数据加密。
重要
将密钥轮换到新版本时,必须保持旧密钥仍然可用,才能使重新加密成功。 虽然大多数重新加密过程应当会在 30 分钟内完成,但我们建议至少等待 2 小时,然后再禁用对旧密钥版本的访问权限。
手动密钥轮换和更新
使用手动密钥更新配置 CMK 时,必须在 密钥保管库 中手动或自动轮换密钥后,在 Azure Database for PostgreSQL 灵活服务器实例中手动更新密钥版本。 在更新旧密钥版本之前,服务器将继续使用旧密钥版本。 要预配此模式,你需要在 URI 中指定包含版本 GUID 的密钥 URI。 例如,https://<keyvault-name>.vault.azure.net/keys/<key-name>/<key-version>。 直到最近,这一直是唯一可用的选项。
每当手动轮换密钥或 AKV 基于密钥轮换策略自动轮换密钥时,必须更新 PostgreSQL 实例上的 CMK 属性。 这种方法对操作员来说容易出错,或者需要编写自定义脚本来处理密钥轮换,尤其是在使用 密钥保管库 的自动轮换功能时。
自动密钥版本更新
若要启用自动密钥版本更新,请使用无版本密钥 URI。 此方法无需在密钥轮换后更新 PostgreSQL 实例中的 CMK 版本属性。 PostgreSQL 会自动选取新的密钥版本,并重新加密数据加密密钥。 这大大简化了关键生命周期管理,尤其是在与密钥保管库自动调整结合使用时。
若要使用 Azure 资源管理器、Bicep、Terraform、Azure PowerShell 或 Azure CLI 实现,请省略密钥 URI 中的版本 GUID。
在门户中,选中复选框以引导 UI 在交互式选择期间和验证 URI 期间禁止显示版本 GUID。
Recommendations
使用客户管理的密钥进行数据加密时,请按照以下建议配置 密钥保管库:
- 为防止意外或未经授权删除此关键资源,请在 密钥保管库 上设置资源锁。
- 对所有加密密钥启用审核和报告功能。 密钥保管库 提供可以轻松注入到其他安全信息和事件管理 (SIEM) 工具的日志。 Azure Monitor 日志就是一项已集成的服务。
- 通过选择“禁用公共访问”和“允许受信任的 Microsoft 服务绕过此防火墙”来锁定 密钥保管库。
- 启用自动密钥版本更新。
注释
选择“禁用公共访问”和“允许受信任的 Microsoft 服务绕过此防火墙”后,尝试使用公共访问权限通过门户管理 密钥保管库 时,可能会收到如下错误:“已启用网络访问控制。 只有允许的网络才能访问此密钥保管库。”此错误不排除在客户管理的密钥设置期间提供密钥或在服务器操作期间从 密钥保管库 提取密钥的功能。
- 将客户管理的密钥副本保存在安全的位置,或将其托管到托管服务。
- 如果 密钥保管库 生成密钥,请在首次使用该密钥之前创建密钥备份。 只能将备份还原到 密钥保管库。
特殊注意事项
从 Azure 密钥保管库 意外撤消密钥访问
对 密钥保管库 具有足够访问权限的人员可能通过下列方式意外禁用服务器对密钥的访问:
- 取消分配 RBAC 角色“密钥保管库 加密服务加密用户”或从用于检索密钥保管库中的密钥的标识中撤消权限。
- 删除密钥。
- 删除 密钥保管库 实例。
- 更改 密钥保管库 防火墙规则。
- 在 Microsoft Entra ID 中删除服务器的托管标识。
监视保存在Azure 密钥保管库中的密钥
要监视数据库状态并在数据加密保护程序访问权限丢失时发出警报,请配置以下 Azure 功能:
- 资源健康状况:在与数据库的第一次连接遭到拒绝后,已失去对 CMK 数据访问权限的数据库将显示为“无法访问”。
- 活动日志:未能成功访问客户管理的 密钥保管库 实例中的 CMK 时,系统会将条目添加到活动日志中。 如果尽快为这些事件创建警报,则可恢复访问权限。
- 操作组:定义这些组,使其根据你的首选项接收通知和警报。
还原使用客户管理的密钥配置的服务器的备份
使用存储在 密钥保管库 中的客户托管密钥加密 Azure Database for PostgreSQL 灵活服务器实例后,还会加密任何新创建的服务器副本。 可以通过时点恢复 (PITR) 操作或只读副本新建此副本。
使用客户管理的密钥设置数据加密时,在还原备份或创建只读副本等操作期间,可以通过在主服务器以及还原服务器或副本服务器上执行以下步骤来避免出现问题:
- 启动还原过程或从主 Azure Database for PostgreSQL 灵活服务器实例创建只读副本的过程。
- 在还原服务器或副本服务器上,可以更改用于访问 密钥保管库 的客户管理的密钥和用户分配的托管标识。 确保在新创建的服务器中分配的标识对 密钥保管库 具有所需权限。
- 还原后不要撤销原始密钥。 目前,在将具有客户管理的密钥的服务器还原到另一台服务器后,我们不支持吊销密钥。
托管 HSM
硬件安全模块 (HSM) 是防篡改硬件设备,通过生成、保护和管理用于加密数据、解密数据、创建数字签名和创建数字证书的密钥来帮助保护加密过程。 HSM 经过测试、验证和认证,符合最高安全标准,包括 FIPS 140 和通用标准。
Azure 密钥保管库 托管的 HSM 是完全托管的、具备高度可用性的单租户、符合标准的云服务。 通过使用此服务,可以通过经 FIPS 140-3 验证的 HSM 来保护云应用程序的加密密钥。
在 Azure 门户中使用客户管理的密钥创建新的 Azure Database for PostgreSQL 灵活服务器实例时,可以选择 Azure 密钥保管库 托管 HSM 作为密钥存储,这是 Azure 密钥保管库 的替代方法。 用户定义的标识和权限方面的先决条件与 Azure 密钥保管库 相同(如本文前面所列)。 有关如何创建托管 HSM 实例、其与基于共享 密钥保管库 的证书存储相比的优点和差异以及如何将密钥导入到托管 HSM 的详细信息,请参阅“什么是 Azure 密钥保管库 托管 HSM?”。
无法访问客户管理的密钥的情形
使用 密钥保管库 中存储的客户管理的密钥配置数据加密时,服务器需要持续访问该密钥才能保持在线。 如果不是这种情况,服务器会将其状态更改为“不可访问”并开始拒绝所有连接。
服务器状态变为“无法访问”的一些可能原因包括:
| 原因 | 决议 |
|---|---|
| 服务器指向的任何加密密钥都配置了到期日期和时间,并且已达到该日期和时间。 | 你必须延长密钥的到期日期。 然后,你必须等待服务重新验证密钥,并自动将服务器状态转换为“就绪”。 只有当服务器回到“就绪”状态时,你才能将密钥轮换到较新版本或创建新密钥,并更新服务器,使其引用同一密钥的新版本或新密钥。 |
| 你轮换了密钥,但忘记了更新 Azure Database for PostgreSQL 灵活服务器的实例以使其指向新版本的密钥。 服务器指向的旧密钥过期,并使服务器状态转换为“无法访问”。 | 为了避免这种情况,每次轮换密钥时,请确保同时更新服务器实例,以指向新版本。 为此,请使用az postgres flexible-server update以下示例,说明“更改数据加密的密钥/标识”。无法在创建服务器后启用数据加密,这只会更新密钥/标识。” 如果想要使用 API 对其进行更新,可以调用该服务的服务器 - 更新终结点。 |
| 你删除了 密钥保管库 实例,Azure Database for PostgreSQL 灵活服务器实例无法访问密钥并变为“不可访问”状态。 | 恢复 密钥保管库 实例并等待服务运行密钥的定期重新验证,并自动将服务器状态转换为“就绪”。 |
| 你从 Microsoft Entra ID 中删除了用于检索 密钥保管库 中存储的任何加密密钥的托管标识。 | 恢复该标识,并等待服务运行密钥的定期重新验证并自动将服务器状态转换为“就绪”。 |
| 你的 密钥保管库 权限模型配置为使用基于角色的访问控制。 你从为检索任何密钥而配置的托管标识中移除了密钥保管库加密服务加密用户 RBAC 角色分配。 | 再次向该托管标识授予 RBAC 角色,并等待服务运行密钥的周期性重新验证,并自动将服务器状态转换为“就绪”。 另一种方法是将 密钥保管库 上的角色授予另一个托管标识,更新服务器,使其使用此其他托管标识来访问密钥。 |
| 你的 密钥保管库 权限模型配置为使用访问策略。 你从为检索任何密钥而配置的托管标识中撤销了 list、get、wrapKey 或 unwrapKey 访问策略。 | 再次向该托管标识授予 RBAC 角色,并等待服务运行密钥的周期性重新验证,并自动将服务器状态转换为“就绪”。 另一种方法是将 密钥保管库 上的所需访问策略授予另一个托管标识,更新服务器,使其使用此其他托管标识来访问密钥。 |
| 设置过于严格的 密钥保管库 防火墙规则,使 Azure Database for PostgreSQL 灵活服务器实例无法与 密钥保管库 通信以检索密钥。 | 配置 密钥保管库 防火墙时,请确保选择允许 受信任的Microsoft服务 的选项,以便 Azure Database for PostgreSQL 灵活服务器实例可以绕过防火墙。 |
注释
当密钥被禁用、删除、过期或无法访问时,通过该密钥加密数据的服务器将变为不可访问,如前所述。 在重新验证加密密钥之前,服务器状态不会再次更改为“就绪”。
通常情况下,在密钥被禁用、删除、过期或无法访问后,服务器将在 60 分钟内变得不可访问。 密钥可用后,服务器可能需要长达 60 分钟才能再次变为“就绪”状态。
恢复已删除的托管标识
如果用于访问 密钥保管库 中存储的加密密钥的用户分配的托管标识在 Microsoft Entra ID 中被删除,则应按照以下步骤进行恢复:
- 恢复标识或创建新的托管 Entra ID 标识。
- 如果创建了一个新标识,即使其名称与删除之前的名称完全相同,请更新 Azure Database for 灵活服务器实例属性,使其知道必须使用此新标识来访问加密密钥。
- 请确保此标识对 Azure 密钥保管库 (AKV) 中的密钥具有适当的操作权限。
- 等待大约一小时,直到服务器重新验证密钥。
重要
仅仅创建一个与已删除标识具有相同名称的新 Entra ID 标识,并不能恢复删除的托管标识。
使用客户管理的密钥和异地冗余业务连续性功能进行数据加密
Azure Database for PostgreSQL 支持高级 数据恢复 功能,例如 副本 和 异地冗余备份。 除了使用 CMK 进行数据加密的基本要求之外,以下是使用 CMK 设置数据加密的要求和这些功能:
- 需要在 密钥保管库 实例中创建异地冗余备份加密密钥,该实例必须存在于存储异地冗余备份的区域中。
- 用于支持已启用异地冗余备份的 CMK 服务器的 Azure 资源管理器 REST API 版本为“2022-11-01-preview”。 若要使用 Azure 资源管理器模板自动创建同时使用 CMK 加密和异地冗余备份功能的服务器,请使用此 API 版本。
- 不能使用相同的用户托管标识对主数据库的 密钥保管库 实例和保存异地冗余备份加密密钥的 密钥保管库 实例进行身份验证。 为了保持区域复原能力,我们建议在异地冗余备份所在的同一区域中创建用户托管标识。
- 如果在创建过程中将只读副本数据库设置为使用 CMK 加密,则其加密密钥需要位于只读副本数据库所在区域的 密钥保管库 实例中。 需要在同一区域中创建用于对此 密钥保管库 实例进行身份验证的用户分配的标识。
跨租户客户管理密钥 (CMK)(预览)
跨租户客户托管密钥使你能够使用存储在 密钥保管库 或托管 HSM 实例中的加密密钥,而该 密钥保管库 或托管 HSM 实例所属的 Microsoft Entra ID 与你的 Azure Database for PostgreSQL 灵活服务器实例所属的 Microsoft Entra ID 不同。 跨租户 CMK 设置需要在租户之间进行额外的配置和协调。 在跨租户方案中,Azure Database for PostgreSQL资源驻留在独立软件供应商(ISV)(称为服务提供商)管理的租户中。 用于加密Azure Database for PostgreSQL资源的密钥驻留在客户管理的不同租户中的密钥保管库中。
设置概述
在 ISV 租户上
在客户端租户上
创建 或使用现有的密钥保管库或托管 HSM 并向多租户应用程序授予密钥权限
创建新密钥,或使用现有的密钥
从 Azure 密钥保管库 或 Azure 托管 HSM 检索密钥 并记录 密钥标识符
在 ISV 租户上
至此,你在服务提供商的租户上配置了多租户应用程序。 此外,还在客户的租户上安装应用程序,并在客户的租户上配置了密钥保管库和密钥。 接下来,可以在服务提供商的租户上创建Azure Database for PostgreSQL实例,并使用客户的租户中的密钥配置客户管理的密钥。
使用客户管理的密钥创建Azure Database for PostgreSQL实例时,必须确保该实例有权访问客户使用的密钥。 在单租户场景中,你直接向 Azure Database for PostgreSQL 实例的用户管理的标识授予 Key Vault 访问权限。 在跨租户方案中,你不再依赖于直接访问密钥保管库,因为它位于客户管理的另一个租户中。 此约束是你创建跨租户应用程序并在应用程序内注册托管标识,以在前面的部分中授予其对客户密钥保管库的访问权限的原因。 此托管标识与跨租户应用程序 ID 结合使用,用于创建 Azure Database for PostgreSQL 实例的跨租户 CMK。
每当密钥保管库中提供了新版密钥时,Azure Database for PostgreSQL实例会自动选取新版本。
使用 Azure 门户
若要在 Azure 门户中为新Azure Database for PostgreSQL实例配置跨租户客户管理的密钥,请执行以下步骤:
在Azure Database for PostgreSQL创建资源中,选择 Azure 门户中的 Security 选项卡,然后选择 Customer 托管密钥。
将创建的用户分配的托管标识分配为用户分配的托管标识。
使用应用程序名称分配多租户应用程序。
在密钥选择方法中,使用从客户租户获取的客户密钥标识符输入密钥标识符。
使用Azure 资源管理器 JSON 模板和 REST API
使用以下特定参数部署 ARM 模板:
注释
如果要在某个Azure 资源管理器模板中重新创建此示例,请使用 apiVersion 或更高版本的 2025-03-15-privatepreview。
| 参数 | Description | 示例值 |
|---|---|---|
primaryKeyUri |
驻留在服务提供商密钥保管库中的客户管理的密钥标识符。 | https://my-vault.vault.azure.com/keys/my-key |
primaryUserAssignedIdentity |
指定应将托管标识分配给Azure Database for PostgreSQL实例的对象。 | "identity":{"type":"UserAssigned","userAssignedIdentities":{"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-identity":{}}} |
primaryFederatedIdentityClientId |
多租户 Microsoft Entra 应用程序的客户端 ID。 | application-client-id |
下面是配置了三个参数的 REST API 示例:
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}?api-version=2025-03-15-privatepreview
请求正文示例:
{
"location": "eastus2",
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/<subId>/resourceGroups/<rg>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<umi-name>": {}
}
},
"sku": {
"name": "Standard_D2s_v3",
"tier": "GeneralPurpose"
},
"properties": {
"createMode": "Create",
"version": "16",
"minorVersion": "5",
"storage": {
"storageSizeGB": 32
},
"network": {
"publicNetworkAccess": "Enabled"
},
"backup": {
"backupRetentionDays": 7,
"geoRedundantBackup": "Disabled"
},
"dataEncryption": {
"type": "AzureKeyVault",
"primaryUserAssignedIdentityId": "/subscriptions/<subId>/resourceGroups/<rg>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<umi-name>",
"primaryKeyUri": "https://<customer-keyvault>.vault.azure.net/keys/<key-name>/<key-version>",
"primaryFederatedIdentityClientId": "<application-client-id>"
}
}
}
下面是用于密钥轮换的 REST API 的示例。 PATCH 示例仅更新 CMK 密钥 URI 以轮换加密密钥,而无需重新创建服务器。
PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}?api-version=2025-03-15-privatepreview
请求正文(轮换密钥示例):
{
"properties": {
"dataEncryption": {
"type": "AzureKeyVault",
"primaryUserAssignedIdentityId": "/subscriptions/<subId>/resourceGroups/<rg>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<umi-name>",
"primaryKeyUri": "https://<customer-keyvault>.vault.azure.net/keys/<key-name>/<new-key-version>",
"primaryFederatedIdentityClientId": "<application-client-id>"
}
}
}
重要
即使仅更新 primaryKeyUri,也必须在请求正文中指定所有数据加密属性。 如果不提供请求正文中的 primaryFederatedIdentityClientId,则该请求将按非跨租户 CMK 配置处理。
跨租户客户管理密钥(CMK)预览版的限制
- Azure PowerShell或Azure CLI尚不支持此功能。
- 目前不支持创建具有异地冗余备份和启用长期保留备份操作的服务器。
- 预览版目前仅在以下区域受支持:
- 美国东部 2
- 美国西部 2
- 美国中部
- 澳大利亚东南部
- Australia East
- 北欧
客户管理密钥(CMK)的限制
以下是在 Azure Database for PostgreSQL 灵活服务器实例中配置客户托管密钥的当前限制:
- 只能在创建新服务器期间配置客户管理的密钥加密,而不能将其作为现有 Azure Database for PostgreSQL 灵活服务器实例的更新。 可以改为使用 CMK 加密将 PITR 备份还原到新服务器。
- 配置客户管理的密钥加密后,无法还原回系统托管密钥。 如果要还原,则必须将服务器还原为使用系统托管密钥配置数据加密的新服务器。
- Azure 密钥保管库 托管 HSM 实例或计划存储加密密钥的 Azure 密钥保管库 实例必须存在于要在其中创建 Azure Database 灵活服务器实例的同一区域中。