验证超过 12 个 Azure 事件中心发布者?
Authenticate more than 12 Azure Event Hub publishers?
我们目前正在开发一个云解决方案,需要 2000 多个客户端将事件(每秒 1-2 个)发布到事件中心。我们构建了一个原型,为每个客户端提供共享访问策略(授权规则),并创建一个带有 publisher policy as defined here
的 SAS 令牌
因此,我们可以通过检查 x-opt-publisher 系统 属性 来识别每个事件的发布者,并随时撤销每个客户端对事件中心的访问权限,而无需诉诸令牌过期和更新。
但是,我们最近了解到maximum amount of SAPs / Authorization rules is 12,所以这个解决方案最终是行不通的。
这个问题还有别的解决办法吗?我们的目标是:
- 避免必须使用令牌刷新,因为这需要向所有客户端添加代码。
- 能够在客户端受到损害、行为不当、由于错误导致故障或相关客户的合同终止的情况下立即撤销对事件中心的访问
- 避免必须使用前端服务对客户端进行身份验证,因为我们正在谈论大量的额外系统负载(每秒 5000 个请求)
- 避免使用 IoT 中心,因为成本远高于我们的解决方案,而且我们不需要所有这些功能
提前致谢
您不需要为每个设备或发布者创建专用的 SAS 策略。请注意,发布者只能拥有为自己签名的令牌,并且不能访问 SAS 策略密钥。
请随时查看发布商政策文件 here 了解更多详情。
我们目前正在开发一个云解决方案,需要 2000 多个客户端将事件(每秒 1-2 个)发布到事件中心。我们构建了一个原型,为每个客户端提供共享访问策略(授权规则),并创建一个带有 publisher policy as defined here
的 SAS 令牌因此,我们可以通过检查 x-opt-publisher 系统 属性 来识别每个事件的发布者,并随时撤销每个客户端对事件中心的访问权限,而无需诉诸令牌过期和更新。
但是,我们最近了解到maximum amount of SAPs / Authorization rules is 12,所以这个解决方案最终是行不通的。
这个问题还有别的解决办法吗?我们的目标是:
- 避免必须使用令牌刷新,因为这需要向所有客户端添加代码。
- 能够在客户端受到损害、行为不当、由于错误导致故障或相关客户的合同终止的情况下立即撤销对事件中心的访问
- 避免必须使用前端服务对客户端进行身份验证,因为我们正在谈论大量的额外系统负载(每秒 5000 个请求)
- 避免使用 IoT 中心,因为成本远高于我们的解决方案,而且我们不需要所有这些功能
提前致谢
您不需要为每个设备或发布者创建专用的 SAS 策略。请注意,发布者只能拥有为自己签名的令牌,并且不能访问 SAS 策略密钥。
请随时查看发布商政策文件 here 了解更多详情。