如何禁用Azure Blob存储的TLS 1.0以满足合规要求?
Azure Blob存储禁用TLS 1.0的解决方案
首先得明确一点:目前Azure Blob存储并不支持按容器维度单独禁用TLS 1.0——所有容器的TLS版本规则都是继承自存储账户的全局配置,没法给单个容器单独设置。不过针对你的场景,有几个可行的解决方案:
1. 升级存储账户的最低TLS版本
这是最直接的办法,把存储账户的最低要求TLS版本设为1.1或者1.2,这样所有访问该账户下Blob的请求都必须使用TLS 1.1及以上版本,从根源上阻断TLS 1.0的连接。
你可以通过几种方式操作:
- Azure门户:找到你的存储账户,进入「配置」选项卡,在「最低TLS版本」下拉框选择TLS 1.1或1.2保存即可。
- Azure CLI命令:
az storage account update --name <你的存储账户名> --resource-group <你的资源组名> --min-tls-version TLS1_2 - PowerShell命令:
Set-AzStorageAccount -ResourceGroupName <你的资源组名> -AccountName <你的存储账户名> -MinimumTlsVersion TLS1_2
⚠️ 注意:修改前一定要先做兼容性测试!确保你的移动应用、其他依赖该存储账户的服务都能正常使用TLS 1.1/1.2连接,不然直接生效可能会导致业务中断。
2. 给Blob存储加一层中间代理
如果你的移动应用暂时没法升级到支持高版本TLS(比如部分旧版本客户端),可以考虑在Blob存储前面加一层中间层,比如Azure App Service或者API网关:
- 中间层配置禁用TLS 1.0,只允许TLS 1.1+的连接;
- 移动应用通过中间层的API上传文件,再由中间层把文件转发到Blob存储;
- 同时可以给存储账户配置防火墙,只允许中间层的IP访问,避免Blob存储直接暴露在公网,进一步提升安全性。
3. 调整移动应用的客户端配置
确保移动应用的HTTP客户端强制使用TLS 1.1及以上版本:
- 比如Android用OkHttp的话,可以配置ConnectionSpec,只包含TLS_1_1和TLS_1_2;
- iOS可以通过Info.plist里的NSAppTransportSecurity设置NSMinimumTLSVersion为TLSv1.1或TLSv1.2;
- 这样即使存储账户允许旧版本TLS,客户端也只会发起安全的连接请求。
内容的提问来源于stack exchange,提问作者Maxim Alexeyev
相关产品推荐
相关产品推荐

