Geolocalização e tratamento de endereços IP
Este artigo explica como a pesquisa de geolocalização e o tratamento de endereços IP funcionam no Application Insights.
Comportamento predefinido
Por padrão, os endereços IP são coletados temporariamente, mas não armazenados.
Quando a telemetria é enviada para o Azure, o endereço IP é usado em uma pesquisa de geolocalização. O resultado é usado para preencher os campos client_City
, client_StateOrProvince
e client_CountryOrRegion
. O endereço é então descartado e 0.0.0.0
é escrito no client_IP
campo.
Os tipos de telemetria são:
- Telemetria do navegador: o Application Insights coleta o endereço IP do remetente. O ponto de extremidade de ingestão calcula o endereço IP.
- Telemetria do servidor: o módulo de telemetria do Application Insights coleta temporariamente o endereço IP do cliente quando o
X-Forwarded-For
cabeçalho não está definido. Quando a lista de endereços IP de entrada tem mais de um item, o último endereço IP é usado para preencher campos de geolocalização.
Esse comportamento é por design para ajudar a evitar a coleta desnecessária de dados pessoais e informações de localização de endereço IP.
Quando os endereços IP não são coletados, a cidade e outros atributos de geolocalização também não são coletados.
Armazenamento de dados de endereço IP
Aviso
O padrão e nossa recomendação é não coletar endereços IP. Se você substituir esse comportamento, verifique se a coleção não viola nenhum requisito de conformidade ou regulamentação local.
Para saber mais sobre o tratamento de dados pessoais, consulte Orientações para dados pessoais.
Para habilitar a coleta e o armazenamento de IP, a DisableIpMasking
propriedade do componente Application Insights deve ser definida como true
.
As opções para definir esta propriedade incluem:
Modelo 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
}
}
Portal
Se você precisar modificar o comportamento de apenas um único recurso do Application Insights, use o portal do Azure.
Vá para o recurso do Application Insights e selecione Modelo de exportação de automação>.
Selecione Implementar.
Selecione Editar modelo.
Nota
Se ocorrer o erro mostrado na captura de tela anterior, você pode resolvê-lo. Ele afirma: "O grupo de recursos está em um local que não é suportado por um ou mais recursos no modelo. Escolha um grupo de recursos diferente." Selecione temporariamente um grupo de recursos diferente na lista suspensa e selecione novamente o grupo de recursos original.
No modelo JSON, localize
properties
dentro deresources
. Adicione uma vírgula ao último campo JSON e, em seguida, adicione a seguinte nova linha:"DisableIpMasking": true
. Em seguida, selecione Guardar.Selecione Rever + criar>Criar.
Nota
Se você vir "Sua implantação falhou", examine os detalhes da implantação para encontrar aquele com o tipo
microsoft.insights/components
e verifique o status. Se esse for bem-sucedido, as alterações feitas foramDisableIpMasking
implantadas.Após a conclusão da implantação, novos dados de telemetria serão registrados.
Se você selecionar e editar o modelo novamente, somente o modelo padrão sem a propriedade recém-adicionada. Se você não estiver vendo os dados do endereço IP e quiser confirmar que está
"DisableIpMasking": true
definido, execute os seguintes comandos do 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
Uma lista de propriedades é retornada como resultado. Uma das propriedades deve ler
DisableIpMasking: true
. Se você executar os comandos do PowerShell antes de implantar a nova propriedade com o Gerenciador de Recursos do Azure, a propriedade não existirá.
API REST
A seguinte carga útil da API REST faz as mesmas modificações:
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
O cmdlet do PowerShell Update-AzApplicationInsights
pode desabilitar o mascaramento de IP com o DisableIPMasking
parâmetro.
Update-AzApplicationInsights -Name "aiName" -ResourceGroupName "rgName" -DisableIPMasking:$true
Para obter mais informações sobre o Update-AzApplicationInsights
cmdlet, consulte Update-AzApplicationInsights
Próximos passos
- Saiba mais sobre a recolha de dados pessoais no Azure Monitor.
- Saiba como definir o IP do usuário usando OpenTelemetry.