0

给定 Azure 存储上的存储文件(blob、表或队列——无关紧要),是否可以允许所有人访问它,但仅基于权限?

例如,我有大量的图像存储,以及一个包含用户和授权的数据库。我希望用户 X 只能访问图像 Y 和 Z。因此,除非您提供某种临时安全令牌,否则 URL 通常无法访问。这怎么可能?我知道我可以从外部世界关闭存储,并且只允许通过检查这些内容的应用程序访问它,但这需要应用程序也在 Azure 上,并且本地应用程序将无法交付Azure 存储中的任何内容。

据我了解,大多数 CDN 都提供了这种能力,我当然希望 Azure 也为此提供解决方案!

伊塔马尔。

4

2 回答 2

1

我认为您无法实现这种级别的访问过滤。此 msdn 文章中描述了我知道的唯一方法

管理对容器和 Blob 的访问

这里是一个博客,描述了一小部分代码来实现它

在 Windows Azure 存储中使用容器级访问策略

我不确定这是否符合您的需要。如果我理解正确,我会这样做: 1. 在与角色匹配的容器中组织您的内容 2. 在您的本地应用程序中检查用户是否有权访问,如果是,则生成正确的 URL 以让他临时访问资源。

当然,这仅在用户必须通过中心点才能访问 blob 中的内容时才有效。如果他们为生成的链接添加书签,那么一旦过期日期就会失败。

祝你好运。

于 2010-01-05T00:08:34.807 回答
0

这实际上可以通过 Blob 存储来实现。考虑 (a) 类似于资源管理器的 UI,以及 (b) 用户已经过身份验证(可以使用访问控制服务,但不需要)。

类似资源管理器的 UI 可以公开适合经过身份验证的用户的资源。对这些资源的底层访问将以适合对象的粒度由共享访问签名控制 - 例如,限制仅查看文件夹中的一个文件或整个文件夹,或在文件夹中创建文件的能力等。 , 都可以表示。

这种类似于资源管理器的 UI,但需要访问为给定用户呈现正确文件的逻辑,同时还需要根据需要创建适当的共享访问签名。请注意,此逻辑不需要托管在 Azure 中,而只需要访问正确的存储密钥(从 Azure 门户)。

于 2011-10-06T21:33:34.900 回答