我有一个用于流式传输和下载视频的Rails应用程序。用户通过应用程序对自己进行身份验证,然后他可以从他被授予访问权限的视频列表中选择要查看的视频。
我使用AWS S3来存储视频。使用AWS SDK,我可以为某些视频生成URL并设置过期时间。这样,通过我的Rails应用程序,我可以决定某个用户是否可以访问视频,然后使用AWS SDK生成URL并在视图中呈现它(使用下载链接或通过媒体播放器)。
现在,我想迁移到Azure(地理原因),但我找不到一个很好的方法来管理我存储的blob的权限。同样,我希望通过我的Rails应用程序授予对视频的访问权限 - 无需在Microsoft平台上执行任何其他登录操作,也无需为每个用户生成永久Azure凭据。
我开始关注ACS,我认为这可能是我正在寻找的解决方案。但是,我无法找到关于如何通过azure-sdk-for-ruby gem管理ACS的任何指导。有人可以详细说明ACS或建议其他解决方案吗?
答案 0 :(得分:1)
您在上面描述的内容在AWS中称为Query String Authentication
。 Azure存储中的类似内容称为Shared Access Signature
。您可以在此处详细了解:http://msdn.microsoft.com/en-us/library/azure/ee395415.aspx。
您可以在此处找到Azure SDK for Ruby:https://github.com/Azure/azure-sdk-for-ruby/tree/master/lib/azure。请检查是否有用于在那里创建共享访问签名的功能。
如果没有,您始终可以使用Azure存储REST API创建签名。您可能会发现此链接对此有用:http://msdn.microsoft.com/en-us/library/azure/dn140256.aspx。