Я разрабатываю мультитенантное приложение на Azure.Приложение собирает данные из IOT Hub и суммирует данные устройства по арендатору.Я хочу, чтобы каждый арендатор мог просматривать сводки своих устройств.
Для сбора данных об устройстве из IOT Hub у меня есть функция, которая получает данные об устройстве, суммирует их и сохраняет в таблице Azure, гдеPartionKey = tenantId и RowKey = DeviceId.
Чтобы позволить арендаторам просматривать сводные данные об их устройствах, у меня есть функция Azure, запускаемая по протоколу HTTP GET, с маршрутом, указанным в виде: https: //.azurewebsites.net/api/tenant/{tenantId} / deviceSummary TenantId, конечно, связан с входным параметром функции.
В функции, которую я запрашиваю в таблице Azure, где PartionKey = tenantId.
Очевидно, что мне нужно запретить использование арендаторамифункция Get для доступа к данным других арендаторов.Т.е. как-то проверить маршрут арендатора.
Первой идеей было создать функциональную клавишу для каждого арендатора, используя tenantId в качестве имени ключа.Затем при обработке запроса я получаю переданный ключ и с помощью API KeyStore проверяю, соответствует ли ключ (код) в запросе ключу, соответствующему tenantId в маршруте.
моя (невежественная) идея, как это сделать.Что такое «правильный» путь?