Отключить геолокацию в Azure Application Insights - PullRequest
3 голосов
/ 25 апреля 2020

Я создаю проект с открытым исходным кодом, в котором я добавляю метрики с помощью Application Insights в настольное приложение. Я хотел бы сохранить конфиденциальность на переднем крае сбора данных, и поэтому стараюсь не собирать больше данных, чем это абсолютно необходимо, и вообще никакой личной информации вообще. Я, кажется, в целом преуспел в стирании данных, отправляемых на сервер, вот пример загрузки данных:

{"ver":1,"name":"Microsoft.ApplicationInsights.guid.Event","time":"2020-04-25T03:31:15.464+0200","sampleRate":100.0,"iKey":"guid","tags":{"ai.internal.nodeName":"aeb804e4-c649-4a9c-bd57-905c7e81abf3","ai.session.id":"aeb804e4-c649-4a9c-bd57-905c7e81abf3","ai.session.isNew":"true"},"data":{"baseType":"EventData","baseData":{"ver":2,"name":"application.startupMode","properties":{"mode":"help"}}}

Кроме ключа инструментовки, который я вычистил, это полные данные, которые я отправка, как вы можете видеть, ничего о пользователе вообще. Идентификатор сеанса сбрасывает каждый запуск программы. Тем не менее, геолокация, кажется, происходит в любом случае, и я могу видеть больше подробностей в Application Insights, чем я хочу, и это подробно до города. У меня недостаточно пользователей для анонимизации этого, поэтому, вероятно, каждый город является уникальным пользователем (даже, возможно, некоторые целые страны), и среди пользователей не будет достаточно дублирования, чтобы это было необратимым.

Image from the portal

Я удалил данные геолокации из этого изображения.

Поэтому я бы хотел, чтобы эти данные вообще не регистрировались или, по крайней мере, были недоступны мне. Возможно ли это сделать? Я бы даже согласился подделать данные, хотя я бы предпочел не настраивать прокси-сервер или что-то подобное.

1 Ответ

1 голос
/ 28 апреля 2020

это возможно, явно указав город / штат / страну. если какой-либо из них установлен во входящих событиях, то поиск GeoIP на основе IP-адреса не выполняется.

см. спецификацию связи , соответствующие части здесь:

[Description("The IP address of the client device. IPv4 and IPv6 are supported. Information in the location context fields is always about the end user. When telemetry is sent from a service, the location context is about the user that initiated the operation in the service.")]
[MaxStringLength("46")]
200: string      LocationIp = "ai.location.ip";

[Description("The country of the client device. If any of Country, Province, or City is specified, those values will be preferred over geolocation of the IP address field. Information in the location context fields is always about the end user. When telemetry is sent from a service, the location context is about the user that initiated the operation in the service.")]
[MaxStringLength("256")]
201: string      LocationCountry = "ai.location.country";

[Description("The province/state of the client device. If any of Country, Province, or City is specified, those values will be preferred over geolocation of the IP address field. Information in the location context fields is always about the end user. When telemetry is sent from a service, the location context is about the user that initiated the operation in the service.")]
[MaxStringLength("256")]
202: string      LocationProvince = "ai.location.province";

[Description("The city of the client device. If any of Country, Province, or City is specified, those values will be preferred over geolocation of the IP address field. Information in the location context fields is always about the end user. When telemetry is sent from a service, the location context is about the user that initiated the operation in the service.")]
[MaxStringLength("256")]
203: string      LocationCity = "ai.location.city";

Я не уверен на 100%, как установить их в Java sdk, но я знаю, что это поддерживает бэкэнд (так как я долгое время добавлял его go)

гипотетически вы можете просто установить context.country в строку "Unknown" или что-то еще, чтобы все остальные поля не были сгенерированы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...