Geolocalização e manipulação de endereço IP
Este artigo explica como a pesquisa de geolocalização e o tratamento de endereços IP funcionam no Application Insights.
Comportamento padrão
Por padrão, os endereços IP são coletados temporariamente, mas não são armazenados.
Quando a telemetria é enviada ao Azure, o endereço IP é usado para fazer uma pesquisa de geolocalização. O resultado é usado para preencher os campos client_City
, client_StateOrProvince
e client_CountryOrRegion
. Em seguida, o endereço é descartado e 0.0.0.0
gravado no campo client_IP
.
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 cabeçalho
X-Forwarded-For
não está definido. Quando a lista de endereço IP de entrada tiver mais de um item, o último endereço IP será usado para preencher os 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 interrompe nenhum requisito de conformidade ou regulamentos locais.
Para saber mais sobre o tratamento de dados pessoais, consulte Diretrizes 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 essa propriedade incluem:
Modelo de 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ê precisa modificar o comportamento de um só único recurso de Application Insights, use o portal do Azure.
Acesse o recurso Application Insights e, em seguida, selecione Automação>Exportar modelo.
Selecione Implantar.
Selecione Editar modelo.
Observação
Se você enfrentar o erro mostrado na captura de tela anterior, poderá resolvê-lo. Ele informa: "O grupo de recursos está em um local sem suporte por um ou mais recursos no modelo. Escolha um grupo de recursos diferente." Selecione temporariamente um grupo de recursos diferente na lista suspensa e, em seguida, selecione mais uma vez 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
. Selecione Salvar.Selecione Examinar + criar>Criar.
Observação
Se você vir "Sua implantação falhou", verifique os detalhes da implantação para aquela com o tipo
microsoft.insights/components
e verifique o status. Se essa for bem-sucedida, as alterações feitas emDisableIpMasking
foram implantadas.Depois que a implantação for concluída, 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 dados de endereço IP e quiser confirmar que
"DisableIpMasking": true
está 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 Azure Resource Manager, a propriedade não existirá.
API REST
O conteúdo da API REST a seguir 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 Update-AzApplicationInsights
do PowerShell pode desabilitar o mascaramento de IP com o parâmetro DisableIPMasking
.
Update-AzApplicationInsights -Name "aiName" -ResourceGroupName "rgName" -DisableIPMasking:$true
Para obter mais informações sobre o cmdlet Update-AzApplicationInsights
, consulte Update-AzApplicationInsights
Próximas etapas
- Saiba mais sobre a coleta de dados pessoais no Azure Monitor.
- Saiba como definir o IP do usuário usando o OpenTelemetry.