Если в строке подключения устройства-концентратора Azure IoT используется симметричный ключ или токен SAS
Я заметил, что с концентратором IoT Azure устройство может подключаться либо с использованием строки подключения, которая состоит из первичного или вторичного ключа устройства в форме:
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 владеет симметричным ключом устройства.
Итак, мой вопрос, когда я должен использовать какую форму? и почему?
1 ответ
Оба действительно могут быть использованы.
Я бы предложил токен SAS. Видеть это может быть временным токеном, или он будет иметь только ограниченное количество прав.
Если вы посмотрите на лазурное хранилище, вы увидите те же принципы. Если вы дадите пользователю sas-токен, действительный только для одного файла в течение определенного времени, он не сможет причинить много вреда. С другой стороны, если вы дадите пользователю первичный ключ и он / она получит доступ к имени хранилища, пользователю будет очень легко удалить все данные из учетной записи хранилища.
Также это интересная статья, где вы можете найти больше информации о токенах sas с более глубоким объяснением: http://blogs.msdn.com/b/servicebus/archive/2015/02/02/event-hub-publisher-policy-in-action.aspx