Мне было интересно для моего сценария, что было бы лучше. Насколько я понимаю, обычно требуется только 1 субъект-служба (SP) для каждого приложения. Поскольку я не нашел четкого ответа о своем сценарии, вот подробности.
Однако предположим следующее:
- у меня есть маленькое приложение. установлен у каждого клиента, который у меня есть (допустим, 100)
- Каждый клиент будет отправлять события в EventHub (только отправка).
- маленькое приложение использует учетные данные для подключения к моей службе, чтобы получить ключ для концентратора событий
- Моя служба подключается к Azure, и когда небольшое приложение запрашивает учетные данные EventHub, я отправляю обратно либо секрет, либо сертификат
Итак, в основном, я должен:
- управлять 1 SP на клиента?
- Создание/управление многими секретами/сертификатами для SP (скажем, по 1 на клиента)
- Из моего сервиса используйте сертификат 1 SP + 1 и используйте его для создания нового токена, который затем будет обслуживаться для моего маленькое приложение
- Отступите, насколько я понимаю, мы не можем аннулировать токен после того, как он используется, пока он не попытается повторно подключиться.
Примечание. Конечно, речь идет не о выполнении трех из них, а только об одном.
Я увидел следующее на https://docs.microsoft.com/en-us/azure/event-hubs/authorize-access-shared-access-signature:
Если вашему приложению необходимо предоставить доступ к ресурсам концентраторов событий на основе удостоверений пользователей или служб, оно должно реализовать службу маркеров безопасности, которая выдает маркеры SAS после аутентификации и проверки доступа.
так что я предполагаю, что вариант 3 - путь