我们有一个需求,我们需要允许潜在的许多用户向Azure队列服务添加一条消息。使用共享访问签名,我们可以允许用户在有限的时间内向队列添加消息。但是,是否也可以将我们生成的每个SAS令牌限制为最多1条消息?或者,潜在的恶意用户是否可以在SAS令牌生存期内向队列中插入无限数量的消息?
发布于 2013-06-05 17:24:43
,但是是否也可以将每个我们生成的SAS令牌限制为最多1条消息?
不幸的是没有。令牌在发出的时间段内有效,发送的消息的唯一限制是存储队列限制。
,或者潜在的恶意用户是否可以在SAS令牌生存期内向队列中插入无限数量的消息?
是。这是一个有效的方案。
从今天起,如果您想要对队列进行这种粒度控制(谁发送了什么/何时发送了什么/发送了多少),您必须自己控制流量。
更新
对于表则不同-您可以将SAS标记限制为特定的PartitionKey 和特定的RowKey,从而有效地使SAS只能处理一个表行!
查看docs。参数有spk (start Part.Key)、srk (Start RowKey)、epk (End Part.Key)、erk (End RowKey)。
使用Table和Table SAS,您可以限制单个用户可以发送的数据!但是,限制数据量或请求数量的唯一方法是自己控制它,或者对SAS生存期做出艰难的决定。
https://stackoverflow.com/questions/16934714
复制相似问题