#azure #azure-application-insights
Вопрос:
Я хотел бы убедиться, что только определенные приложения могут отправлять данные на мой ресурс Application insights. Ситуация, которую я пытаюсь избежать, заключается в том, что, если у какого-либо разработчика или злоумышленника есть ключ инструментария, данные телеметрии с их компьютеров не отправляются на мой ресурс Application insights.
Более конкретно: у меня есть виртуальная машина Azure под управлением 3 IIS ASP.NET веб-приложения. Каждый отчитывается перед своим собственным соответствующим ресурсом приложений Inisights. В настоящее время, если разработчик развернет одно из этих приложений локально и укажет на тот же ресурс app insights, он примет данные и исказит данные метрики. Я хочу убедиться, что это невозможно.
Дополнительный контекст: я экспериментирую с агентом ApplicationInsights без кода, но в основном использую метод инструментария SDK вручную для ASP.NET.
Я рассмотрел метод изоляции сети, но это кажется огромным увеличением затрат, потому что с меня будет взиматься дополнительная плата за данные, проходящие через privatelink, в дополнение к сборам за данные от AppInsights.
В настоящее время любой пользователь общедоступного Интернета с ключом my instrumentation может отправлять данные на ресурс appinsights. Я хотел бы каким-то образом ограничить это определенной ролью приложения AD или виртуальной машиной.
Кто-нибудь может здесь помочь? Заранее спасибо.
Ответ №1:
Вы можете легко использовать пользовательский API в качестве прокси-сервера. Ваш браузер/клиент сможет отправлять данные в этот API, где вы сможете их фильтровать. Очевидно, что этот API сможет отправлять соответствующие данные телеметрии в ваше приложение Azure Insight.
Кроме того, вы можете обогатить свойства какой-либо подписью, чтобы определить, поступают ли ваши данные от ваших клиентов или нет.
Ответ №2:
Недавно мы выпустили поддержку проверки подлинности Azure AD для анализа приложений (https://docs.microsoft.com/en-us/azure/azure-monitor/app/azure-ad-authentication?tabs=net).
Вы можете назначить виртуальной машине либо назначенное пользователем, либо назначенное системой управляемое удостоверение и предоставить этому удостоверению права на прием телеметрии.
Кроме того, вы можете отключить локальную аутентификацию. Это заблокирует проглатывание только на основе ключа инструментария.