Gestion de la géolocalisation et des adresses IP
Cet article explique comment fonctionnent la recherche de géolocalisation et la gestion des adresses IP dans Application Insights.
Comportement par défaut
Par défaut, les adresses IP sont collectées temporairement, mais elles ne sont pas stockées.
Lorsque la télémétrie est envoyée à Azure, l’adresse IP est utilisée dans une recherche de géolocalisation. Le résultat est utilisé pour remplir les champs client_City
, client_StateOrProvince
et client_CountryOrRegion
. L’adresse est alors ignorée et 0.0.0.0
est écrit dans le champ client_IP
.
Les types de télémétrie sont les suivants :
- Télémétrie de navigateur : Application Insights collecte l’adresse IP de l’expéditeur. Le point de terminaison d’ingestion calcule l’adresse IP.
- Télémétrie de serveur : le module de télémétrie d’Application Insights collecte temporairement l’adresse IP du client quand l’en-tête
X-Forwarded-For
n’est pas défini. Quand la liste d’adresses IP entrantes contient plusieurs éléments, la dernière adresse IP est utilisée pour renseigner les champs de géolocalisation.
Ce comportement a été conçu pour éviter la collecte inutile de données personnelles et d’informations sur la localisation de l’adresse IP.
Lorsque les adresses IP ne sont pas collectées, les attributs de ville et autres attributs de géolocalisation ne sont pas non plus collectés.
Stockage des données d’adresse IP
Avertissement
Valeur par défaut et notre recommandation est de ne pas collecter les adresses IP. Si vous passez outre ce comportement, vérifiez que la collecte n’enfreint pas les exigences de conformité ni la réglementation locale.
Pour plus d’informations sur la gestion des données personnelles, consultez Conseils sur les données personnelles.
Pour activer la collecte et le stockage d’adresses IP, la propriété DisableIpMasking
du composant Application Insights doit être définie sur true
.
Les options permettant de définir cette propriété sont les suivantes :
Modèle 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
}
}
Portail
Si vous devez modifier le comportement d’une seule ressource Application Insights, utilisez le Portail Azure.
Accédez à votre ressource Application Insights, puis sélectionnez Automatisation>Exporter le modèle.
Sélectionnez Déployer.
Sélectionnez Modifier un modèle.
Notes
Si vous rencontrez l’erreur illustrée dans la capture d’écran précédente, vous pouvez la résoudre. Elle indique que le groupe de ressources se trouve dans un emplacement non pris en charge par une ou plusieurs ressources dans le modèle. Veuillez choisir un groupe de ressources différent. Sélectionnez temporairement un autre groupe de ressources dans la liste déroulante, puis sélectionnez à nouveau votre groupe de ressources d’origine.
Dans le modèle JSON, recherchez
properties
dansresources
. Ajoutez une virgule au dernier champ JSON, puis insérez la nouvelle ligne suivante :"DisableIpMasking": true
. Ensuite, sélectionnez Enregistrer.Sélectionnez Vérifier + créer>Créer.
Notes
Si vous voyez le message « Votre déploiement a échoué », consultez les détails de votre déploiement pour trouver celui avec le type
microsoft.insights/components
et vérifiez son état. S’il réussit, les modifications apportées àDisableIpMasking
ont été déployées.Une fois le déploiement terminé, les nouvelles données de télémétrie sont enregistrées.
Si vous sélectionnez et modifiez à nouveau le modèle, vous voyez uniquement le modèle par défaut sans la propriété nouvellement ajoutée. Si vous ne voyez pas les données d’adresse IP et souhaitez confirmer que
"DisableIpMasking": true
est défini, exécutez les commandes PowerShell suivantes :# 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
La liste des propriétés est retournée en tant que résultat. L’une des propriétés doit être lue
DisableIpMasking: true
. Si vous exécutez ces commandes PowerShell avant de déployer la nouvelle propriété avec Azure Resource Manager, celle-ci n’existe pas.
API REST
La charge utile de l’API REST suivante apporte les mêmes modifications :
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
L’applet de commande PowerShell Update-AzApplicationInsights
peut désactiver le masquage des adresses IP avec le paramètre DisableIPMasking
.
Update-AzApplicationInsights -Name "aiName" -ResourceGroupName "rgName" -DisableIPMasking:$true
Pour plus d’informations sur l’applet de commande Update-AzApplicationInsights
, consultez Update-AzApplicationInsights
Étapes suivantes
- En savoir plus sur la collecte de données personnelles dans Azure Monitor.
- Découvrez comment définir l’adresse IP utilisateur avec OpenTelemetry.