如何生成要在我的JavaScript文件中使用的Azure表授权令牌

时间:2018-11-12 22:16:36

标签: javascript azure azure-storage azure-table-storage

我想从Javascript文件调用我的Azure存储表。

要求- 1.密钥中没有时间到期。 2.仅读取权限

我不希望使用SAS令牌,因为它是基于时间的,因此我需要生成访问密钥或可以通过这种有限的只读访问权限传递给JS API的东西。

但是在我的Azure仪表板中工作时,我似乎无法弄清楚。在表格下,我可以看到访问键和连接字符串。我还可以通过只读权限为我的表生成访问策略。

不确定如何将两者结合...

1 个答案:

答案 0 :(得分:1)

如果解决方案需要满足这两个要求,我认为这是不可能的。

访问策略仅提供对服务器端服务级SAS的附加控制,它也是基于时间的,它将到期。

如果您的案件涉及 Blob Queue 存储,则可以使用RBAC满足您的要求,注册一个AD App,并将其添加为{ {1}}角色在容器或队列的Reader中,并使用AD App生成访问令牌。即使这样,访问令牌也将过期,但是AD App对Blob或队列的许可也不会过期,您只需要在必要时用代码再次生成令牌即可。如果您想绝对永久,我想您现在可以使用存储密钥。

对于存储,目前不支持 RBAC ,我发现了一个反馈here,可以对其进行投票。也许将来会支持,直到那时,您可以参考上面的步骤,逻辑应该相似。

修改

以上答案是对永久永久性(如您所说的,密钥中没有时间到期)的要求,前提是您可以接受非常远的到期时间,例如@Jerry提到,只是具体说明很长一段时间的到期时间,例如3000-11-13,我认为它会很好地工作。