0

我注意到使用 Azure IoT 集线器,设备可以使用由设备主键或辅助键组成的连接字符串进行连接: HostName=<host_name>;DeviceId=<device_id>;SharedAccessKey=<primary_key or secondary key>

或者可以连接由生成的 SAS 令牌组成的连接字符串,形式为: HostName=<host_name>;DeviceId=<device_id>;SharedAccessSignature=SharedAccessSignature sr=<device_endpoint>&sig=<generated_token>&se=1453107988

在第一种形式中,对称密钥由设备持有,在第二种形式中,IoT 中心拥有设备的对称密钥。

所以,我的问题是我什么时候应该使用哪种形式?为什么?

4

1 回答 1

1

两者确实都可以使用。

我建议使用 SAS 令牌。看到它可能是一个临时令牌,或者它只有有限的权利。

我你看看 azure storage 你看到的原理是一样的。如果你给用户一个 sas-token 只对一个文件有效一段时间,他/她不会造成太大的伤害。另一方面,如果您给用户一个主键并且他/她可以访问存储名称,那么用户很容易删除存储帐户上的所有内容。

这也是一篇有趣的文章,您可以在其中找到有关 sas 令牌的更多信息以及更深入的解释:http: //blogs.msdn.com/b/servicebus/archive/2015/02/02/event-hub-publisher-政策行动.aspx

于 2016-01-18T12:52:20.753 回答