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_StateOrProvince
i 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 true
wartość .
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.
Przejdź do zasobu usługi Application Insights, a następnie wybierz pozycję Szablon eksportu usługi Automation>.
Wybierz Wdróż.
Wybierz pozycję Edytuj szablon.
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.
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.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 wDisableIpMasking
programie zostały wdrożone.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: true
wartość . 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.