gpt4 book ai didi

azure - 如何防止 Blob 容器被删除?

转载 作者:行者123 更新时间:2023-12-02 22:52:32 25 4
gpt4 key购买 nike

创建和删除 Blob 数据都很容易。有多种方法可以防止意外数据丢失,例如:

  • 资源锁定以防止存储帐户被意外删除
  • Azure RBAC 用于限制对帐户/ key 的访问。
  • Soft delete从意外的 blob 删除中恢复。

这已经是一个很好的包,但感觉有一个薄弱环节。 AFAIK,blob 容器缺乏帐户/blob 的安全性。

考虑到容器是用于 blob 枚举和批量删除的良好单位,但这很糟糕。

如何防止容器被意外/恶意删除并降低数据丢失的风险?

我考虑过的..

想法 1:将所有数据的副本同步到另一个存储帐户 - 但这会带来同步复杂性(增量复制?)和显着的成本增加。

想法 2: 锁定 key 并强制每个人都在仔细范围内的 SAS key 上工作,但这对于数十个 SAS token 及其续订来说很麻烦,+有时实际上需要删除容器并授权。感觉复杂到足以打破。无论如何,我更喜欢安全。

想法 3: 以某种方式撤消删除?根据Delete Container documentation ,容器数据并没有立即消失:

The Delete Container operation marks the specified container for deletion. The container and any blobs contained within it are later deleted during garbage collection.

不过,没有关于存储帐户垃圾收集何时/如何工作,或者容器数据是否/如何/多长时间可以恢复的信息。

我错过了任何更好的选择吗?

最佳答案

更新:

这类似于 Blob 级保护,允许从意外删除中恢复。作为需要采取的额外措施,下面的原始答案仍然具有相关性。

<小时/>

没有单一的 Elixir ..回顾一下可以做什么:

预防措施

  • 务必应用存储帐户级别保护(资源锁定)。
  • 务必将帐户/容器删除权限限制为仅真正需要的调用者。
  • 务必将容器标记为 Leased for infinity .

如果可能,将托管服务身份与 RBAC 结合使用,或者使用 SAS(和访问策略)委派具有有限权限的访问权限。这首先减少了可能发生意外/恶意删除的参与者和场景。

租约不能防止恶意删除,但更清楚地声明“不删除”意图,并且需要额外的步骤来删除租约行为,例如附加一层“您确定吗?”问题。

恢复措施

据我所知,当整个容器已被删除时,不存在内置恢复工具。

  • 务必实现定期备份解决方案以进行灾难恢复。
  • 如果您没有自己的备份,请考虑立即联系 Azure 支持人员。

与所有备份解决方案一样,备份到不同安全上下文的位置和/或离线备份,以避免在同一事件中丢失备份。一些 Blob 容器备份实现技巧:

如果您没有可供恢复的备份,那么 MS 仍然可以恢复该容器(如果您足够幸运且速度足够快)。根据Delete Container documentation容器数据不会立即消失:

The Delete Container operation marks the specified container for deletion. The container and any blobs contained within it are later deleted during garbage collection.

关于azure - 如何防止 Blob 容器被删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52153080/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com