如何防止删除blob容器?

问题描述 投票:2回答:1

创建和删除blob数据很容易。有一些方法可以防止意外数据丢失,例如:

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

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

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

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

What I've considered..

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

想法2:锁定密钥并强制每个人都使用精心设计的SAS密钥,但这对于几十个SAS令牌及其续订非常麻烦,有时候容器删除实际上是必需和授权的。感觉复杂到足以打破。无论如何,我更喜欢安全。

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

Delete Container操作标记指定的容器以进行删除。容器及其中包含的任何blob稍后在垃圾回收期间被删除。

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

我错过了哪些更好的选择?

azure backup azure-storage azure-storage-blobs
1个回答
1
投票

您可以考虑使用为容器提供的访问策略的替代选项。您可以使用SAS进行访问,并使用Access策略添加其他层,该策略为您提供容器级策略。在那里,您可以提供不包含删除选项的Access:

enter image description here这更多的是预防方面

Rbac也是保护容器访问的好方法。

当谈到从dataloss恢复时,这些是官方的建议:

块blob。创建每个块blob的时间点快照。有关更多信息,请参阅创建Blob的快照。对于每个快照,您只需支付自上次快照状态以来存储blob内差异所需的存储空间。快照取决于它们所基于的原始blob是否存在,因此建议对另一个blob甚至另一个存储帐户进行复制操作。这可确保正确保护备份数据免遭意外删除。您可以使用AzCopy或Azure PowerShell将Blob复制到另一个存储帐户。

文件。使用共享快照,或使用AzCopy或PowerShell将文件复制到另一个存储帐户。

表。使用AzCopy将表数据导出到另一个区域中的另一个存储帐户。更多可以找到here

© www.soinside.com 2019 - 2024. All rights reserved.