如何配置Azure Storage Blob策略,仅允许无加密或V2_0客户端加密的Blob上传?
解决方案:限制Azure Blob存储仅允许未加密或V2.0客户端加密的Blob上传
目前Azure Storage没有直接内置的策略来基于客户端加密版本过滤上传操作,但可以通过以下两种方式实现你的需求:
自定义Azure Policy
创建自定义策略规则,检查Blob的加密代理协议版本(properties.encryptionAgent.protocolVersion):- 允许上传的场景:该字段不存在(未加密Blob)或等于
2.0(V2_0客户端加密) - 阻止上传的场景:该字段等于
1.0(V1_0客户端加密)
你可以通过Azure门户或ARM模板创建这类自定义Policy并分配到目标存储账户,违反规则的上传请求会被直接拒绝。
- 允许上传的场景:该字段不存在(未加密Blob)或等于
Event Grid + Azure Function 联动
配置Azure Event Grid监听Blob存储的BlobCreated事件,当有新Blob上传时触发Azure Function:- 在Function中读取Blob的加密元数据,判断是否为V1_0版本
- 如果是V1_0版本,自动删除该Blob并记录日志或发送通知
这种方式属于事后拦截,适合无法通过Policy直接限制的场景。
注意:客户端加密的Blob会自动携带加密版本相关的元数据,无需手动添加,上述方案依赖这些自动生成的元数据进行判断。
内容的提问来源于stack exchange,提问作者d1no
相关产品推荐
相关产品推荐

