【发布时间】:2019-02-08 16:58:36
【问题描述】:
创建和删除 blob 数据都很容易。有一些方法可以防止意外数据丢失,例如:
- 资源锁定以防止意外删除存储帐户
- Azure RBAC 限制对帐户/密钥的访问。
- Soft delete 从意外删除的 blob 中恢复。
这已经是一个很好的包,但感觉好像有一个薄弱环节。 AFAIK,blob 容器缺乏帐户/blob 的安全性。
考虑到容器是用于 blob 枚举和批量删除的好单元,这很糟糕。
如何防止意外/恶意删除容器并降低数据丢失的风险?
我考虑过的..
想法 1: 将所有数据的副本同步到另一个存储帐户 - 但这会带来同步复杂性(增量副本?)和显着的成本增加。
想法 2: 锁定密钥并迫使每个人都使用仔细限定范围的 SAS 密钥,但是对于数十个 SAS 令牌及其续订来说,这很麻烦,+ 有时实际上需要删除容器并授权。感觉复杂到可以破解。反正我更喜欢安全的。
想法 3: 以某种方式撤消删除? 根据Delete Container documentation,容器数据并没有立即消失:
删除容器操作将指定的容器标记为删除。容器和其中包含的任何 blob 稍后会在垃圾回收期间被删除。
但是,没有关于存储帐户垃圾收集何时/如何工作或是否/如何/多久可以恢复容器数据的信息。
我错过了任何更好的选择吗?
【问题讨论】:
标签: azure backup azure-storage azure-blob-storage