Azure 存储数据保护、备份和恢复的最佳做法

本文提供了Azure 存储数据保护和备份选项、自助恢复方案以及Microsoft辅助恢复可能性。

数据保护、备份和恢复选项

Azure 存储数据保护是指以下策略:

  • 保护存储帐户及其中的数据不被删除或修改。
  • 删除或修改数据后还原数据。

本部分介绍可用的数据保护、备份和恢复选项。 有关详细信息,请参阅 数据备份和保护选项

数据保护和备份选项

以下部分介绍数据保护方案和建议的保护选项:

方案 1:存储帐户保护

启用 Azure 资源管理器 (ARM) 锁以锁定所有存储帐户并阻止删除存储帐户。 有关 ARM 锁的详细信息,请参阅将 Azure 资源管理器锁应用到存储帐户

优点和限制:

  • 防止存储帐户被删除或配置被更改。
  • 无法防止帐户中的容器或 blob 被删除或覆盖。
  • 它支持 Azure Data Lake Storage(ADLS) Gen 2。

方案 2:Blob 容器保护

  • 在容器上启用不可变策略来保护业务关键型文档,例如满足法律或法规合规性要求。

    优点和限制:

    • 防止容器及其 blob 被删除和覆盖。
    • 当合法保留或锁定的基于时间的保留策略生效时,存储帐户也会受到保护,无法删除。 未设置任何永久性策略的容器不会受到防删除的保护。
    • 它支持预览版中的 ADLS Gen 2。

    有关容器上的不可变策略的详细信息,请参阅 存储具有不可变存储的业务关键 Blob 数据。

  • 启用容器软删除以在指定时间间隔内还原已删除的容器。

    优点和限制:

    • 删除的容器及其内容在保留期内可以被还原。 最小保留间隔的最佳做法是七天。
    • 只有容器级操作(如“删除容器”)才能还原。 如果删除了容器中的单个 blob,则无法通过容器软删除来还原该容器中的单个 blob。
    • 它支持 ADLS Gen 2。

    有关容器软删除的详细信息,请参阅 容器的软删除。

方案 3:Blob 文件保护

  • 在 Blob 版本上启用不可变策略,以防止在所控制的时间间隔中删除 Blob 版本。

    优点和限制:

    • 防止删除 blob 版本和覆盖其元数据。 每个覆盖操作都会创建一个新版本。
    • 如果至少有一个容器启用了版本级不可变性,存储帐户也会受到保护,无法删除。
    • 如果容器中至少存在一个 blob,则容器删除将失败。
    • 它不适用于 ADLS Gen2。

    有关 Blob 版本的不可变策略的详细信息,请参阅 存储具有不可变存储的业务关键 Blob 数据。

  • 启用 blob 软删除以在指定时间间隔内还原已删除的 Blob 或 Blob 版本。

    好处:

    • 在保留期内可以还原已删除的 blob 或 blob 版本。 最小保留间隔的最佳做法是七天。
    • 它支持 ADLS Gen 2。

    有关 Blob 软删除的详细信息,请参阅 Blob 的软删除。

  • 启用 Blob 快照以在给定的时间点手动保存 Blob 的状态。

    优点和限制:

    • 如果 blob 被覆盖,则可以从快照还原 blob。 但是,如果删除 Blob,也会删除快照。
    • 它支持预览版中的 ADLS Gen 2。

    有关 Blob 快照的详细信息,请参阅 Blob 快照

  • 启用 Blob 版本控制以在覆盖 Blob 之前版本中自动保存 blob 的状态。

    优点和限制:

    • 每个 blob 写入操作都会创建一个新版本。 如果删除或覆盖当前版本,则可以从以前的版本还原 blob 的当前版本。
    • 它不适用于 ADLS Gen2。

    有关 Blob 版本控制的详细信息,请参阅 Blob 版本控制

  • 启用时间点还原,将一组块 Blob 还原到以前的时间点。

    优点和限制:

    • 可以将一组块 blob 还原为过去特定时间点的状态。
    • 只能还原在块 blob 上执行的操作。
    • 对容器、页 blob 或追加 blob 执行的任何操作都不会还原。
    • 它不适用于 ADLS Gen2。

    有关时间点还原的详细信息,请参阅 块 Blob 的时间点还原。

  • 通过Azure 存储对象复制或 AzCopy 或Azure 数据工厂等工具将数据复制到第二个帐户。

    优点和限制:

    • 如果主要帐户以任何方式泄露,则可以从第二个存储帐户中还原数据。
    • 支持 AzCopy 和 Azure 数据工厂。
    • 不支持对象复制。

数据恢复选项

以下部分介绍数据恢复方案和可能的恢复选项:

启用数据保护和备份选项,可以恢复数据。

方案 1:存储帐户恢复

指从Azure 门户恢复已删除的存储帐户。

方案 2:Blob 容器恢复

  • 恢复软删除的容器及其内容。

    恢复要求:

    • 已启用容器软删除。
    • 容器软删除保留期尚未过期。

    有关详细信息,请参阅 “启用和管理容器的软删除”。

  • 从第二个存储帐户恢复。

    恢复要求:所有容器和 Blob 操作都已复制到第二个存储帐户。

方案 3:Blob 文件恢复

  • 通过 Blob 版本控制将 Blob 恢复到以前的版本。

    恢复要求:

    • 已启用 Blob 版本控制。
    • Blob 具有一个或多个以前的版本。

    有关详细信息,请参阅 “启用和管理 Blob 版本控制”。

    ADLS 工作负荷当前不支持此选项。

    恢复过程:

    1. 从Azure 门户转到受影响的 blob。

    2. 选择要恢复的 Blob 的省略号(...)。

    3. 选择“ 查看版本”。

    4. 选择从中还原所需的版本。

    5. 选择“ 生成当前版本”。

  • 通过 blob 软删除恢复 Blob。

    恢复要求:

    • 已启用 Blob 软删除。
    • 软删除保留间隔尚未过期。

    有关详细信息,请参阅 管理和还原软删除的 Blob。

  • 通过时间点恢复一组块 Blob。

    恢复要求:

    • 已启用时间点还原。
    • 还原点位于保留间隔内。
    • 存储帐户未泄露或损坏。

    有关详细信息,请参阅 对块 Blob 数据执行时间点还原。

  • 通过快照恢复 Blob。

    恢复要求:Blob 具有一个或多个快照。 有关详细信息,请参阅 在 .NET 中创建和管理 Blob 快照。

    恢复过程:

    1. 从Azure 门户转到受影响的 blob。

    2. 选择要恢复的 Blob 的省略号(...)。

    3. 选择“ 查看快照”。

    4. 选择从中还原所需的快照。

    5. 选择“提升”。

Azure RBAC 最佳做法

避免意外删除帐户的另一种最佳做法是限制有权通过基于角色的访问控制 (Azure RBAC) 删除帐户的用户数量。

下面是一些建议的方法:

  • 仅授予用户所需的访问权限。
  • 限制订阅所有者的数量。
  • 使用 Microsoft Entra Privileged Identity Management。
  • 将角色分配给组而不是用户。
  • 使用唯一角色 ID 而不是角色名称分配角色。

有关详细信息,请参阅 Azure RBAC 的最佳做法

不支持的存储恢复

Microsoft不支持以下存储恢复方案:

  • 不支持Azure 存储队列恢复。
  • 不支持Azure 存储表项恢复,而支持删除的表恢复。 有关详细信息,请参阅 支持的存储恢复
  • 不支持在不启用 Blob 文件保护的情况下恢复 Azure Blob 文件,但支持已删除的容器恢复。 有关详细信息,请参阅 支持的存储恢复

支持的存储恢复

本部分介绍满足一些先决条件时支持的存储恢复方案:

Microsoft正在尽一切努力恢复数据,但不能保证可以还原的数据量。

方案 1:存储帐户恢复(ARM 存储帐户恢复)

先决条件:

  • 存储帐户在过去 14 天内删除。
  • 存储帐户是使用 Azure 资源管理器部署模型创建的。
  • 删除原始帐户后,尚未创建同名的新存储帐户。
  • 必须为恢复存储帐户的用户分配一个 Azure RBAC 角色,该角色提供 Microsoft.Storage/storageAccounts/write 权限。 有关提供此权限的内置 Azure RBAC 角色的信息,请参阅 Azure 内置角色
  • 确保已删除存储帐户的资源组存在。 如果删除了资源组,则必须手动重新创建它。
  • [仅适用于特定情况]如果已删除的存储帐户使用客户管理的密钥与 Azure 密钥库,并且密钥保管库也已删除,则必须在还原存储帐户之前还原密钥保管库。 有关详细信息,请参阅 Azure 密钥保管库恢复概述

建议:

  • 从现有存储帐户恢复存储帐户。
  • 通过支持票证恢复存储帐户。

有关详细信息,请参阅从Azure 门户恢复已删除的存储帐户。

方案 2:经典存储帐户恢复

先决条件:

  • 删除原始帐户后,尚未创建同名的新存储帐户。
  • 存储帐户已在过去 14 天内删除。

建议:

  • 寻求支持工程师的帮助来评估情况。

方案 3:容器恢复

先决条件:

  • 存储帐户复制在删除“容器”之前设置为异地冗余存储(GRS)、异地区域冗余存储(GZRS)、读取访问异地区域冗余存储(RAGZRS)或读取访问异地冗余存储(RA-GRS)。 不支持使用 LRS 的存储帐户来恢复已删除的容器。

建议:

  • 寻求支持工程师的帮助来评估情况。

方案 4:ADLS Gen 2 数据和文件系统恢复

先决条件:

  • 启用了分层命名空间(HNS)的存储帐户。
  • ADLS Gen2 文件或文件夹在三天内被删除。

建议:

  • 寻求支持工程师的帮助来评估情况。

方案 5:表恢复

先决条件:

  • 使用“DELETE 表”操作删除整个表,而无需修改表条目数据。

建议:

  • 寻求支持工程师的帮助来评估情况。

方案 6:磁盘恢复

先决条件:

  • 磁盘恢复的先决条件因几个因素而异。 例如,是否启用了软删除? 还是恢复磁盘引用托管磁盘或非托管磁盘?

建议:

  • 寻求支持工程师的帮助来评估情况。

从Azure 门户恢复已删除的存储帐户

最终用户可通过两种方式从Azure 门户恢复已删除的存储帐户:

从另一个存储帐户恢复已删除的存储帐户

若要从另一个存储帐户中恢复已删除的存储帐户,请按照以下步骤执行操作:

  1. 导航到Azure 门户中的存储帐户列表。

  2. 选择还原按钮以打开还原已删除的帐户窗格。

    显示“还原”按钮的屏幕截图。

  3. 从“订阅”下拉列表中选择要恢复的帐户的 订阅

    显示如何选择订阅的屏幕截图。

  4. 从下拉列表中,选择要恢复的帐户。 如果要恢复的存储帐户不在下拉列表中,则无法恢复。

  5. 选择还原按钮以恢复帐户。 门户会显示恢复正在进行的通知。

有关详细信息,请参阅从Azure 门户恢复已删除的帐户。

通过支持票证恢复存储帐户

  1. 在 Azure 门户中,导航到“帮助和支持”

  2. 选择“创建支持请求”。

  3. “问题说明 ”选项卡上的 “问题类型 ”字段中,选择“ 技术”。

  4. 在“订阅”字段中,选择包含已删除存储帐户的订阅。

  5. 在“服务”字段中,选择“存储帐户管理”

  6. 在“资源”字段中,选择任意存储帐户资源。 已删除的存储帐户不会显示在列表中。

  7. 添加问题的简短摘要。

  8. 在“问题类型”字段中,选择“删除和恢复”

  9. 在“问题子类型”字段中,选择“恢复已删除的存储帐户”

    以下屏幕截图显示了正在填写“ 问题说明 ”选项卡的示例:

    显示正在填写“问题说明”选项卡的示例的屏幕截图。

  10. 导航到 “建议的解决方案 ”选项卡,然后选择 “客户控制的存储帐户恢复”。

    客户控制的存储帐户恢复按钮的屏幕截图。

  11. 从下拉列表中,选择要恢复的帐户。 如果要恢复的存储帐户不在下拉列表中,则无法恢复。

    过去 14 天内已删除的存储帐户列表的屏幕截图。

  12. 选择“恢复以还原帐户。 门户会显示恢复正在进行的通知。

联系我们寻求帮助

如果你有任何疑问或需要帮助,请创建支持请求联系 Azure 社区支持。 你还可以将产品反馈提交到 Azure 反馈社区