随着新的不可变存储功能的发布,blob特性在特定的保留期间内将是不可以擦除和修改的。该特性从今年6月份开始进行预览使用,现在,微软宣布它在所有公开Azure region中正式发布。
微软添加对不可变存储的支持,以便于帮助客户遵循像SEC 17a-4(f)、CFTC 1.31©-(d)和FINRA这样的行业标准。另外,客户将会在Azure Blob Service上面得到最大程度的数据保护,没有用户和管理员能够修改或删除数据。不可变存储的特性还允许客户存储对诉讼、刑事调查等方面至关重要的敏感信息,在所需的时间内这些数据会处于防篡改的状态。
按照发布声明,不可变存储包含如下的功能:
- 支持基于时间的保留策略:用户可以为存储数据设置在一定时间间隔内不可变的策略。
- 支持合法持有策略:如果保留时间间隔未知的话,用户可以为存储数据添加合法持有( legal hold)标签,这种不可变性会一直持续到合法持有标签被清理掉。
- 支持所有的Blob tier:一次写入多次读取(Write-Once-Read-Many,WORM)策略独立于Azure Blob Storage tier,将会应用到所有tier,包括hot、cool和archive tier,这样的话客户就能将他们的工作负载存储在成本最优的tier上,同时还能保证数据的不可变性。
- Blob容器级别的配置:Azure Storage Blob的不可变存储功能允许用户在容器级别配置基于时间的保留策略和合法持有标签。通过简单的容器级别的配置,用户就可以创建基于时间的保留策略、锁定策略、扩展保留间隔、设置合法持有标签、清理合法持有标签等等。这个策略能够应用到容器中所有的Blob上,不管是已有的,还是新建的Blob均是如此。
用户可以在新建General Purpose V2 Storage或Blob Storage账号或者通过Azure Portal、Azure CLI 2.0或PowerShell新增容器时,启动不可变存储功能。当使用Portal时,用户能够在不可变blob下添加基于合法持有或保留间隔的策略。随后,如果有固定的保留阶段,用户可以为策略添加锁,或者为合法持有添加标签。
对于开发者来说,目前有多个支持不可变存储的库。这些库是.net客户端库(7.2.0-preview及以后版本)、node.js客户端版本(4.0.0及以后版本、Python客户端库(2.0.0及以后版本)和Java客户端库。另外,按照发布声明,CLI 2.0的预览版支持和PowerShell(4.4.0-preview版本)的支持很快就会发布,后者提供了产品级的支持。开发人员还可以直接使用2017-11-09及以后版本的Storage Services REST API。
随着不可变存储功能的添加,Azure Storage的特性集继之前的archiving特性之后得到了进一步的扩展。HubStor是微软的合作伙伴,他们在Azure Storage Service之上为企业提供服务,帮助这些企业管理和保护其任务关键性的非结构化数据。他们之前提供了对archiving的支持,现在又提供了对不可变存储的支持。随着对不可变存储功能的支持,他们的客户能够从更安全的数据状态中获益。HubStor的产品管理VP Brad Janes在关于该特性的一篇MENAFN文章中说到:
将微软Azure Blob的不可变存储与HubStor结合是云交付转换的很棒样例,因为相对于内建的以硬件为中心的方式,这种交付WORM存储的方式更便利和更廉价。
不可变数据的定价和可变数据是相同的,因此使用不可变存储并不会产生额外的费用。关于定价方面的更多信息,参见Azure Storage Pricing页面。