Обработка геолокации и IP-адресов
В этой статье объясняется, как работает поиск геолокации и обработка IP-адресов в Application Insights.
Поведение по умолчанию
По умолчанию IP-адреса временно собираются, но не хранятся.
При отправке телеметрии в Azure IP-адрес используется в поиске географического расположения. Результат используется для заполнения полей client_City
и client_StateOrProvince
client_CountryOrRegion
. Затем адрес удаляется, а 0.0.0.0
записывается в поле client_IP
.
Типы данных телеметрии
- Данные телеметрии браузера: Application Insights собирает IP-адрес отправителя. Конечная точка приема вычисляет IP-адрес.
- Данные телеметрии сервера. Модуль телеметрии Application Insights временно собирает IP-адрес клиента, если
X-Forwarded-For
заголовок не задан. Если входящий список IP-адресов содержит несколько элементов, последний IP-адрес используется для заполнения полей географического расположения.
Это поведение позволяет избежать ненужных сбор данных персональных данных и сведений о расположении IP-адресов.
Если IP-адреса не собираются, город и другие атрибуты географического расположения также не собираются.
Хранение данных IP-адресов
Предупреждение
По умолчанию и наша рекомендация заключается в том, чтобы не собирать IP-адреса. Если вы переопределите это поведение, убедитесь, что коллекция не нарушает какие-либо требования соответствия или локальные правила.
Дополнительные сведения об обработке персональных данных см. в руководстве по персональным данным.
Чтобы включить сбор и хранение IP-адресов, свойству DisableIpMasking
компонента Application Insights необходимо присвоить значение true
.
Параметры для задания этого свойства:
Шаблон ARM
{
"id": "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/microsoft.insights/components/<resource-name>",
"name": "<resource-name>",
"type": "microsoft.insights/components",
"location": "westcentralus",
"tags": {
},
"kind": "web",
"properties": {
"Application_Type": "web",
"Flow_Type": "Redfield",
"Request_Source": "IbizaAIExtension",
// ...
"DisableIpMasking": true
}
}
Портал
Если необходимо изменить поведение только для одного ресурса Application Insights, используйте портал Azure.
Перейдите к ресурсу Application Insights и выберите шаблон экспорта службы автоматизации>.
Выберите Развернуть.
Выберите Редактировать шаблон.
Примечание.
При возникновении ошибки, показанной на предыдущем снимке экрана, ее можно устранить. В нем указано: "Группа ресурсов находится в расположении, которое не поддерживается одним или несколькими ресурсами в шаблоне. Выберите другую группу ресурсов", ее можно устранить. В этом случае временно выберите из раскрывающегося списка другую группу ресурсов, а затем повторно выберите исходную группу ресурсов.
В шаблоне JSON найдите
properties
внутриresources
. Добавьте запятую в последнее поле JSON, а затем добавьте следующую новую строку:"DisableIpMasking": true
Затем выберите Сохранить.Выберите Просмотреть и создать>Создать.
Примечание.
При появлении окна "Сбой развертывания" просмотрите сведения о развертывании, относящиеся к типу
microsoft.insights/components
, и проверьте состояние. Если эта операция выполнена успешно, значит, изменения, внесенные вDisableIpMasking
, были развернуты.После завершения развертывания будут записаны новые данные телеметрии.
При повторном выборе и изменении шаблона только шаблон по умолчанию без только что добавленного свойства. Если вы не видите данные IP-адреса и хотите убедиться, что свойство
"DisableIpMasking": true
задано, выполните следующие команды PowerShell.# Replace `Fabrikam-dev` with the appropriate resource and resource group name. # If you aren't using Azure Cloud Shell, you need to connect to your Azure account # Connect-AzAccount $AppInsights = Get-AzResource -Name 'Fabrikam-dev' -ResourceType 'microsoft.insights/components' -ResourceGroupName 'Fabrikam-dev' $AppInsights.Properties
В результате будет возвращен список свойств. Одним из свойств должно быть
DisableIpMasking: true
. Если перед развертыванием нового свойства с помощью Azure Resource Manager выполните команды PowerShell, это свойство не существует.
REST API
Следующие полезные данные REST API делают те же изменения:
PATCH https://management.azure.com/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/microsoft.insights/components/<resource-name>?api-version=2018-05-01-preview HTTP/1.1
Host: management.azure.com
Authorization: AUTH_TOKEN
Content-Type: application/json
Content-Length: 54
{
"location": "<resource location>",
"kind": "web",
"properties": {
"Application_Type": "web",
"DisableIpMasking": true
}
}
PowerShell
Командлет PowerShell Update-AzApplicationInsights
может отключить маскирование IP-адресов с DisableIPMasking
помощью параметра.
Update-AzApplicationInsights -Name "aiName" -ResourceGroupName "rgName" -DisableIPMasking:$true
Дополнительные сведения о командлете Update-AzApplicationInsights
см. в разделе Update-AzApplicationInsights
Следующие шаги
- Дополнительные сведения о сборе персональных данных в Azure Monitor.
- Узнайте, как задать IP-адрес пользователя с помощью OpenTelemetry.