我的应用程序将上传的用户数据存储到我的Azure blob存储帐户,例如照片等。 blob以关系数据库中相应行的主键命名;例如/tenants/12/users/456/photos/1563445
。是否可以混淆或加密Azure blob名称?
这些文件可以被匿名,未经身份验证的用户访问,但我不想公开主键值(为了防止“顺序访问”攻击,或者为了让我的竞争对手知道我的服务是多么受欢迎)。
当前我的blob存储容器是私人的,所有的blob请求通过我的web应用程序进行代理。为了减少服务器负载,我想直接公开blob,但这意味着将原始Blob名称暴露给最终用户,这会泄露未加密的数据库主键值。
我知道我可以阻止使用共享访问签名来访问blob,但是我不需要那种安全性 - 我只是想混淆blob名称 - 比如通过简单的对称加密。
有什么办法可以使用“纯粹的Azure”方法实现这一点,并直接暴露blob存储,或者我必须使用我自己的代理?
当您上传文件以散列文件名并在数据库中保留引用时,是否有机会? – CtrlDot
我没有理由不使用SAS网址。不需要这种安全级别与您的问题无关。 – Sentinel