分享方式:


地理位置和 IP 位址處理

本文說明地理位置查閱和 IP 位址處理如何在 Application Insights 中運作。

預設行為

根據預設,會暫時收集但不會儲存 IP 位址。

當遙測資料傳送至 Azure 時,IP 位址會用於地理位置查閱。 結果用於填入欄位 client_Cityclient_StateOrProvinceclient_CountryOrRegion。 接著會捨棄位址,並 0.0.0.0 寫入 client_IP 欄位。

遙測類型為:

  • 瀏覽器遙測:Application Insights 會收集傳送者的 IP 位址。 擷取端點會計算 IP 位址。
  • 伺服器遙測:當未設定 X-Forwarded-For 標頭時,Application Insights 遙測模組會暫時收集用戶端 IP 位址。 當傳入的 IP 位址清單有多個項目時,會使用最後一個 IP 位址來填入地理位置欄位。

此行為依設計是來協助避免收集不必要的個人資料和 IP 位址位置資訊。

若未收集 IP 位址,也不會收集城市和其他地理位置屬性。

IP 位址資料的儲存體

警告

預設值和我們的建議都是不收集 IP 位址。 如果您覆寫此行為,請確認集合不會破壞任何合規性需求或當地法規。

若要深入了解如何處理個人資料,請參閱個人資料的指引

若要啟用 IP 集合和儲存體, DisableIpMasking Application Insights 元件的屬性必須設定為 true

設定此屬性的選項包括:

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
       }
}

入口網站

如果您只需要修改單一 Application Insights 資源的行為,請使用 Azure 入口網站。

  1. 移至您的 Application Insights 資源,然後選取自動化>匯出範本

  2. 選取部署

    顯示 [部署] 按鈕的螢幕擷取畫面。

  3. 選取 [編輯範本]

    顯示 [編輯] 按鈕,以及資源群組相關警告的螢幕擷取畫面。

    注意

    如果您遇到前面螢幕擷取畫面中所顯示的錯誤,您可以加以解決。 其指出:資源群組所在的位置不受範本中一個或多個資源的支援。 請選擇不同的資源群組。」暫時從下拉式清單中選取不同的資源群組,然後重新選取原始資源群組。

  4. 在 JSON 範本中,properties在內部resources尋找。 將逗號新增至最後一個 JSON 欄位,然後新增下列的新行:"DisableIpMasking": true。 然後選取儲存

    顯示在要求來源屬性後面新增逗號與新行的螢幕擷取畫面。

  5. 選取 [檢閱 + 建立]>[建立]

    注意

    如果您看到「您的部署失敗」,請查看您的部署詳細資料,以瞭解類型 microsoft.insights/components 為的部署詳細資料,並檢查狀態。 如果成功,則已部署對 DisableIpMasking 的變更。

  6. 部署完成之後,將會記錄新的遙測資料。

    如果您再次選取並編輯範本,則只會看到預設範本,沒有新增的屬性。 如果您沒有看到 IP 位址資料,而且想要確認 "DisableIpMasking": true 是否已設定,請執行下列 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
    

    結果會傳回屬性清單。 其中一個屬性應該讀取 DisableIpMasking: true 。 如果您在使用 Azure Resource Manager 部署新屬性之前執行 PowerShell 命令,則該屬性不存在。

REST API

下列的 REST API 承載會進行相同的修改:

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

PowerShell Update-AzApplicationInsights Cmdlet 可以使用 DisableIPMasking 參數停用 IP 遮罩。

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

如需 Update-AzApplicationInsights Cmdlet 的詳細資訊,請參閱 Update-AzApplicationInsights (部分機器翻譯)

下一步