Udostępnij za pośrednictwem


Obsługa geolokalizacji i adresów IP

W tym artykule wyjaśniono, jak działa wyszukiwanie geolokalizacji i obsługa adresów IP w usłudze Application Insights.

Zachowanie domyślne

Domyślnie adresy IP są tymczasowo zbierane, ale nie są przechowywane.

Gdy dane telemetryczne są wysyłane na platformę Azure, adres IP jest używany w wyszukiwaniu geolokalizacji. Wynik jest używany do wypełniania pól client_City, client_StateOrProvincei client_CountryOrRegion. Adres zostanie następnie odrzucony i 0.0.0.0 zostanie zapisany w client_IP polu.

Typy telemetrii to:

  • Telemetria przeglądarki: usługa Application Insights zbiera adres IP nadawcy. Punkt końcowy pozyskiwania oblicza adres IP.
  • Telemetria serwera: moduł telemetrii usługi Application Insights tymczasowo zbiera adres IP klienta, gdy X-Forwarded-For nagłówek nie jest ustawiony. Gdy lista przychodzących adresów IP zawiera więcej niż jeden element, ostatni adres IP jest używany do wypełniania pól geolokalizacji.

Takie zachowanie jest zaprojektowane w celu uniknięcia niepotrzebnego zbierania danych osobowych i informacji o lokalizacji adresów IP.

Gdy adresy IP nie są zbierane, miasto i inne atrybuty geolokalizacji również nie są zbierane.

Przechowywanie danych adresów IP

Ostrzeżenie

Wartością domyślną i naszym zaleceniem jest brak zbierania adresów IP. Jeśli to zachowanie zostanie zastąpione, sprawdź, czy kolekcja nie przerywa żadnych wymagań dotyczących zgodności ani lokalnych przepisów.

Aby dowiedzieć się więcej na temat obsługi danych osobowych, zobacz Wskazówki dotyczące danych osobowych.

Aby włączyć zbieranie i przechowywanie adresów IP, DisableIpMasking właściwość składnika usługi Application Insights musi być ustawiona na truewartość .

Opcje ustawiania tej właściwości obejmują:

Szablon 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

Jeśli musisz zmodyfikować zachowanie tylko dla pojedynczego zasobu usługi Application Insights, użyj witryny Azure Portal.

  1. Przejdź do zasobu usługi Application Insights, a następnie wybierz pozycję Szablon eksportu usługi Automation>.

  2. Wybierz Wdróż.

    Zrzut ekranu przedstawiający przycisk Wdróż.

  3. Wybierz pozycję Edytuj szablon.

    Zrzut ekranu przedstawiający przycisk Edytuj wraz z ostrzeżeniem dotyczącym grupy zasobów.

    Uwaga

    Jeśli wystąpi błąd pokazany na poprzednim zrzucie ekranu, możesz go rozwiązać. Stwierdza: "Grupa zasobów znajduje się w lokalizacji, która nie jest obsługiwana przez co najmniej jeden zasób w szablonie. Wybierz inną grupę zasobów". Tymczasowo wybierz inną grupę zasobów z listy rozwijanej, a następnie ponownie wybierz oryginalną grupę zasobów.

  4. W szablonie JSON znajdź element w pliku properties resources. Dodaj przecinek do ostatniego pola JSON, a następnie dodaj następujący nowy wiersz: "DisableIpMasking": true. Następnie wybierz opcję Zapisz.

    Zrzut ekranu przedstawiający dodanie przecinka i nowego wiersza po właściwości źródła żądania.

  5. Wybierz pozycję Przeglądanie + tworzenie>Utwórz.

    Uwaga

    Jeśli zobaczysz komunikat "Wdrożenie nie powiodło się", przejrzyj szczegóły wdrożenia z typem microsoft.insights/components i sprawdź stan. Jeśli to powiedzie się, zmiany wprowadzone w DisableIpMasking programie zostały wdrożone.

  6. Po zakończeniu wdrażania zostaną zarejestrowane nowe dane telemetryczne.

    Jeśli ponownie wybierzesz i zmodyfikujesz szablon, tylko szablon domyślny bez nowo dodanej właściwości. Jeśli nie widzisz danych adresu IP i chcesz potwierdzić, że "DisableIpMasking": true jest ustawiona, uruchom następujące polecenia programu 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
    

    W wyniku zostanie zwrócona lista właściwości. Jedna z właściwości powinna odczytać DisableIpMasking: truewartość . Jeśli uruchomisz polecenia programu PowerShell przed wdrożeniem nowej właściwości za pomocą usługi Azure Resource Manager, właściwość nie istnieje.

Interfejs API REST

Następujący ładunek interfejsu API REST wprowadza te same modyfikacje:

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

Polecenie cmdlet programu PowerShell Update-AzApplicationInsights może wyłączyć maskowanie adresów IP za pomocą parametru DisableIPMasking .

Update-AzApplicationInsights -Name "aiName" -ResourceGroupName "rgName" -DisableIPMasking:$true

Aby uzyskać więcej informacji na Update-AzApplicationInsights temat polecenia cmdlet, zobacz Update-AzApplicationInsights

Następne kroki

  • Dowiedz się więcej o zbieraniu danych osobowych w usłudze Azure Monitor.
  • Dowiedz się, jak ustawić adres IP użytkownika przy użyciu biblioteki OpenTelemetry.