地理位置和 IP 位址處理
本文說明地理位置查閱和 IP 位址處理如何在 Application Insights 中運作。
預設行為
根據預設,會暫時收集但不會儲存 IP 位址。
當遙測資料傳送至 Azure 時,IP 位址會用於地理位置查閱。 結果用於填入欄位 client_City
、client_StateOrProvince
和 client_CountryOrRegion
。 接著會捨棄位址,並 0.0.0.0
寫入 client_IP
欄位。
遙測類型為:
- 瀏覽器遙測:Application Insights 會收集傳送者的 IP 位址。 擷取端點會計算 IP 位址。
- 伺服器遙測:當未設定
X-Forwarded-For
標頭時,Application Insights 遙測模組會暫時收集用戶端 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 入口網站。
移至您的 Application Insights 資源,然後選取自動化>匯出範本。
選取部署。
選取 [編輯範本]。
注意
如果您遇到前面螢幕擷取畫面中所顯示的錯誤,您可以加以解決。 其指出:資源群組所在的位置不受範本中一個或多個資源的支援。 請選擇不同的資源群組。」暫時從下拉式清單中選取不同的資源群組,然後重新選取原始資源群組。
在 JSON 範本中,
properties
在內部resources
尋找。 將逗號新增至最後一個 JSON 欄位,然後新增下列的新行:"DisableIpMasking": true
。 然後選取儲存。選取 [檢閱 + 建立]>[建立]。
注意
如果您看到「您的部署失敗」,請查看您的部署詳細資料,以瞭解類型
microsoft.insights/components
為的部署詳細資料,並檢查狀態。 如果成功,則已部署對DisableIpMasking
的變更。部署完成之後,將會記錄新的遙測資料。
如果您再次選取並編輯範本,則只會看到預設範本,沒有新增的屬性。 如果您沒有看到 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 (部分機器翻譯)