你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

不可变 Blob 数据的法定保留

法定保留是一种临时不可变策略,可用于法律调查目的或常规保护策略。 法定保留以“一次写入,多次读取 (WORM)”的格式来存储 Blob 数据,直到将其显式清除为止。 法定保留生效时,Blob 可以创建和读取,但不能修改或删除。 如果数据必须保持为 WORM 状态的时间是未知的,请使用法定保留。

有关 Blob 存储不可变性策略的详细信息,请参阅使用不可变存储来存储业务关键型 Blob 数据

可在以下任一范围配置法定保留策略:

  • 版本级策略:可以对单个 Blob 版本级别配置法定保留,以便对敏感数据进行精细化管理。
  • 容器级策略:在容器级配置的法定保留适用于该容器中的所有 Blob。 无法为单个 Blob 配置其自己的不可变策略。

版本级策略范围

若要为 Blob 版本配置法定保留,必须先对存储帐户或父容器启用版本级不可变性。 启用后,不能禁用版本级不可变性。 有关详细信息,请参阅启用版本级不可变性支持

为存储帐户或容器启用版本级不可变性后,将无法再在容器级设置法定保留。 必须将法定保留应用于单个 Blob 版本。 可以为当前版本或以前的 Blob 版本配置法定保留。

版本级法定保留策略要求为存储帐户启用 Blob 版本控制。 若要了解如何启用 blob 版本控制,请参阅启用和管理 blob 版本控制。 请记住,启用版本控制可能会影响计费。 有关详细信息,请参阅 Blob 版本控制中的“定价和计费”部分。

若要详细了解如何启用版本级法定保留,请参阅配置或清除法定保留

容器级范围

容器的法定保留适用于容器中的所有对象。 清除法定保留后,客户端可以再次在容器中写入和删除对象,除非该容器还启用了基于时间的保留策略。

将法定保留应用于容器时,所有现有 Blob 将在 30 秒内转为不可变 WORM 状态。 上传到受策略保护的该容器的所有新 Blob 也会转为不可变状态。 所有 Blob 处于不可变状态后,不允许在不可变容器中执行覆盖或删除操作。 在具有分层命名空间的帐户中,无法重命名 Blob 或将其移到其他目录。

若要了解如何配置具有容器级作用域的法定保留,请参阅配置或清除法定保留

容器级法定保留必须与一个或多个用作标识符字符串的用户定义的字母数字标记相关联。 例如,标记可以包含事例 ID 或事件名称。

审核日志

每个具有有效法定保留的容器都提供一个策略审核日志。 该日志包含用户 ID、命令类型、时间戳和法定保留标记。 审核日志将根据 SEC 17a-4(f) 法规准则保留与策略生存期相同的时间。

Azure 活动日志提供有关所有管理服务活动的更全面日志。 Azure 资源日志保留有关数据操作的信息。 由用户负责根据法规要求或其他要求永久存储这些日志。

限制

以下限制适用于容器级法定保留:

  • 对于存储帐户,使用法定保留设置的最大容器数为 10,000。
  • 对于某个容器而言,最大法定保留标记数为 10。
  • 法定保留标记的最小长度为三个字母数字字符。 最大长度为 23 个字母数字字符。
  • 对于容器而言,将根据策略的持续时间最多保留 10 个法定保留策略审核日志。

允许受保护的追加 Blob 写入

追加 Blob 由数据块组成,并针对审核和日志记录方案所需的数据追加操作进行了优化。 按照设计,追加 Blob 只允许将新块添加到 Blob 末尾。 无论是否不可变,基本上都不允许修改或删除追加 Blob 中的现有块。 若要详细了解追加 Blob,请参阅关于追加 Blob

使用 AllowProtectedAppendWritesAll 属性设置,你可以将新块写入到追加 Blob,同时维持不可变性保护与合规性。 如果已启用此设置,则可以直接在受策略保护的容器中创建追加 Blob,然后使用“追加块”操作继续将新数据块添加到追加 Blob 的末尾。 只能添加新块,而不能修改或删除任何现有块。 启用此设置不影响块 Blob 或页 Blob 的不可变性行为。

注意

此属性仅适用于容器级策略。 此属性不适用于版本级策略。

此设置还增加了将新块写入块 Blob 的功能。 Blob 存储 API 不提供方便应用程序直接执行此操作的方法。 但是,应用程序可以使用 Data Lake Storage Gen2 API 中提供的追加和刷新方法来实现此目的。 另外,此属性使 Microsoft 应用程序(如 Azure 数据工厂)能够使用内部 API 来追加数据块。 如果工作负荷依赖于这些工具中的任何一种,则可以使用此属性来避免在这些工具尝试将数据追加到 Blob 时可能出现的错误。

后续步骤