Partager via


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.

  1. Accédez à votre ressource Application Insights, puis sélectionnez Automatisation>Exporter le modèle.

  2. Sélectionnez Déployer.

    Capture d’écran montrant le bouton Déployer.

  3. Sélectionnez Modifier un modèle.

    Capture d’écran montrant le bouton Modifier, ainsi qu’un avertissement sur le groupe de ressources.

    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.

  4. Dans le modèle JSON, recherchez properties dans resources. Ajoutez une virgule au dernier champ JSON, puis insérez la nouvelle ligne suivante : "DisableIpMasking": true. Ensuite, sélectionnez Enregistrer.

    Capture d’écran montrant l’ajout d’une virgule et d’une nouvelle ligne après la propriété pour la source de la demande

  5. 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.

  6. 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