如何解决如何确保用户仅从私有Blob Azure存储中看到与他有关的图像?
一些用户的图像存储在Azure BLOB中,该BLOB无法公开访问。在我们的方案中,我们将图片(用户的图片)上传到私有Blob,稍后需要在客户端(角度)显示。而且,用户只能看到与他相关的图像,而不能看到其他用户的图像。
我们可以在服务器端生成图像URL列表,但是当将其传递到客户端进行渲染时,自然会因为blob不公开而自然失败。
现在,由于所有访问该应用程序的用户都在组织内部,所以我相信AAD / SAS可以实现访问图像的授权。但是,与此同时,我无法理解如何确保或应用安全性,以使希望的用户X不能读取用户Y的图像?
解决方法
关于此问题,您可以使用以下建议来实现。
-
在数据库中存储用户信息及其图像信息(例如图像的azure blob容器名称,azure blob blob名称)。
-
当用户要访问图像时,请使用用户信息查询数据库以获取这些图像,
-
获取图像信息后,使用sdk创建sas令牌,然后将带有sas令牌的图像的blob网址返回给cliend。关于如何创建sas令牌,请参阅here。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。