位置情報と IP アドレスの処理

この記事では、Application Insights での位置情報検索と IP アドレス処理のしくみについて説明します。

既定の動作

既定では、IP アドレスは一時的に収集されますが、格納されません。

テレメトリが Azure に送信されると、IP アドレスが位置情報検索で使用されます。 結果は、フィールド client_Cityclient_StateOrProvinceclient_CountryOrRegion の入力に使用されます。 アドレスは破棄され、0.0.0.0client_IP フィールドに書き込まれます。

テレメトリの種類は次のとおりです。

  • ブラウザー テレメトリ: Application Insights は、送信者の IP アドレスを収集します。 インジェスト エンドポイントは IP アドレスを計算します。
  • サーバー テレメトリ: X-Forwarded-For ヘッダーが設定されていない場合、Application Insights テレメトリ モジュールでクライアントの IP アドレスが一時的に収集されます。 受信した IP アドレス リストに複数の項目がある場合は、最後の IP アドレスを使用して位置情報フィールドが設定されます。

この動作の仕様は、個人データおよび IP アドレス位置情報の不必要な収集を回避するのに役立ちます。

IP アドレスが収集されない場合、市区町村やその他の位置情報属性も収集されません。

IP アドレス データのストレージ

警告

IP アドレスを収集しない (既定) ことをお勧めします。 この動作をオーバーライドする場合は、収集することがコンプライアンス要件や現地の規制に違反していないかどうかを確認してください。

個人データ処理の詳細については、個人データのガイダンスに関するページをご覧ください。

IP の収集と格納を有効にするには、Application Insights コンポーネントの DisableIpMasking プロパティを 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
       }
}

ポータル

1 つの Application Insights リソースの動作のみを変更する必要がある場合は、Azure portal を使用します。

  1. Application Insights リソースに移動し、[Automation]>[テンプレートのエクスポート] を選択します。

  2. [デプロイ] を選択します。

    [デプロイ] ボタンを示すスクリーン ショット。

  3. [テンプレートの編集] を選択します。

    [編集] ボタンとリソース グループに関する警告が表示されているスクリーンショット。

    注意

    上のスクリーンショットで示されているエラーが発生した場合は解決が可能です。 エラーの内容: "リソース グループは、テンプレート内の 1 つ以上のリソースがサポートしていない場所にあります。 別のリソース グループを選択してください。" 一時的にドロップダウン リストから別のリソース グループを選択してから、元のリソース グループを再選択してください。

  4. JSON テンプレートで、resources 内の properties を見つけます。 最後の JSON フィールドにコンマを追加して、"DisableIpMasking": true という新しい行を追加します。 その後、 [保存] を選びます。

    要求ソースのプロパティの後にコンマと新しい行が追加されたことを示すスクリーンショット。

  5. [確認と作成]>[作成] の順に選択します。

    Note

    "デプロイに失敗しました" と表示されている場合は、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 コマンドレットは、DisableIPMasking パラメーターを使用して IP マスクを無効にすることができます。

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

Update-AzApplicationInsights コマンドレットの詳細については、「Update-AzApplicationInsights」を参照してください

次のステップ