【问题标题】:Grant permissions to access Azure blobs from my Rails application授予从我的 Rails 应用程序访问 Azure Blob 的权限
【发布时间】:2014-10-30 13:44:15
【问题描述】:

我有一个用于流式传输和下载视频的 Rails 应用程序。用户通过应用程序对自己进行身份验证,然后他可以从被授予访问权限的视频列表中选择要观看的视频。

我使用 AWS S3 来存储视频。使用 AWS 开发工具包,我可以为某些视频生成 URL 并设置过期时间。这样,我可以通过我的 Rails 应用程序决定某个用户是否可以访问视频,然后使用 AWS 开发工具包生成 URL 并将其呈现在视图中(通过下载链接或通过媒体播放器)。

现在,我想迁移到 Azure(地理原因),但我找不到管理对我存储的 blob 的权限的好方法。同样,我希望通过我的 Rails 应用程序授予对视频的访问权限——无需在 Microsoft 平台上进行任何额外的登录操作,也无需为每个用户生成永久 Azure 凭据。

我开始关注ACS,我认为这可能是我正在寻找的解决方案。但是,我找不到有关如何通过 azure-sdk-for-ruby gem 管理 ACS 的任何指导。有人可以详细说明 ACS 或提出其他解决方案吗?

【问题讨论】:

    标签: ruby-on-rails azure


    【解决方案1】:

    您在上面描述的内容在 AWS 中称为 Query String Authentication。 Azure 存储中类似的东西称为Shared Access Signature。您可以在此处阅读更多信息:http://msdn.microsoft.com/en-us/library/azure/ee395415.aspx

    您可以在此处找到适用于 Ruby 的 Azure SDK: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

    【讨论】:

    • 不幸的是,我在官方 Azure Ruby SDK 中找不到该功能。但是,似乎有一个包装共享访问签名的 Ruby gem:github.com/dmichael/azure-contrib 我会尝试使用它,谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-09
    • 1970-01-01
    • 1970-01-01
    • 2021-09-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多