Применение Insights безопасности и спуфинга
Это может быть глупым вопросом, но безопасно ли понимание клиентских приложений от подделки? Microsoft просит вас добавить немного JavaScript на вашу HTML-страницу, которая требует записи, и часть этого содержит жестко закодированный инструментальный ключ (а не реальный ключ ниже!):
instrumentationKey: "3D486E8C-BDEF-43AB-B27A-9D3F9D42EC14"
Похоже, между Url и ключом нет никаких других отношений или какого-либо механизма, предотвращающего подделку этой ключевой клиентской стороны (т. Е. Случайное генерирование ключа с разными номерами и отправка страницы).
Это не вызовет какого-либо ущерба, но это будет раздражать получателя неверных данных мониторинга, что вполне может быть тем, что кто-то хочет сделать "потому что может".
Я что-то упустил из виду, почему это невозможно?
3 ответа
Хотя это не совсем дубликат, я считаю, что ответ почти такой же, как этот:
Как Google Analytics предотвращает подделку трафика
ИИ не знает, как и где вы используете свой ключ, так как они узнают, какой трафик является законным, а какой нет?
Это абсолютно верно, что любой может записать вводящие в заблуждение или мусор данные в чью-либо учетную запись AI, если они знают ключ инструментария. Это также верно для большинства других веб-аналитических систем: запрос на регистрацию информации отправляется без проверки подлинности, и любой, обладающий достаточными навыками, может эмулировать действительные пользовательские данные. Тот факт, что AI имеет встроенный на странице инструментальный ключ, не облегчает, потому что любой, кто использует инструмент мониторинга веб-трафика, такой как Fiddler, может перехватывать и эмулировать запросы, даже если инструментальный ключ не был встроен в страницу. Если вы подозреваете, что злонамеренный пользователь намеренно регистрирует вводящие в заблуждение данные с использованием вашего ключа AI, вам следует проявлять осторожность и проверять, имеют ли данные смысл перед принятием ваших деловых решений, например, исходя из того, сколько пользователей получили данные и за какой период времени и соответствует ли ваш просмотр данных на стороне клиента данным запросов на стороне сервера.
+1 к ответу Алекса. К вашему сведению, это официальный ответ от Azure Monitor: мой инструментальный ключ виден в источнике моей веб-страницы .
TL;DR:
- Да, данные можно исказить, но нельзя украсть
- Это обычная практика
- Чтобы смягчить последствия, вы можете настроить два отдельных ресурса аналитики приложений: один для клиента, другой для сервера.
- Чтобы решить эту проблему, вы настраиваете собственный API и перенаправляете данные телеметрии в аналитику приложений.