다음을 통해 공유


지리적 위치 및 IP 주소 처리

이 문서에서는 Application Insights에서 지리적 위치 조회 및 IP 주소 처리가 작동하는 방식을 설명합니다.

기본 동작

기본적으로 IP 주소는 일시적으로 수집되지만 저장되지는 ​​않습니다.

원격 분석 데이터가 Azure로 전송되면 IP 주소가 지리적 위치 조회에 사용됩니다. 결과는 client_City, client_StateOrProvince, client_CountryOrRegion 필드를 채우는 데 사용됩니다. 그런 다음 주소가 삭제되고 0.0.0.0client_IP 필드에 기록됩니다.

원격 분석 형식 필터링

  • 브라우저 원격 분석: Application Insights가 보낸 사람의 IP 주소를 수집합니다. 수집 엔드포인트는 IP 주소를 계산 합니다.
  • 서버 원격 분석: Application Insights 원격 분석 모듈은 X-Forwarded-For 헤더가 설정되지 않은 경우 일시적으로 클라이언트 IP 주소를 수집합니다. 들어오는 IP 주소 목록에 항목이 두 개 이상 있는 경우 마지막 IP 주소가 위치 정보 필드를 채우는 데 사용됩니다.

이 동작은 개인 데이터 및 IP 주소 위치 정보의 불필요한 컬렉션을 방지하기 위해 의도된 것입니다.

IP 주소가 수집되지 않으면 도시 및 기타 지리적 위치 특성도 수집되지 않습니다.

IP 주소 데이터의 Storage

Warning

기본 설정과 권장 사항은 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
       }
}

포털

단일 Application Insights 리소스에 대한 동작만 수정해야 하는 경우 Azure Portal을 사용하세요.

  1. Application Insights 리소스로 이동한 다음 자동화>템플릿 내보내기를 선택합니다.

  2. 배포를 선택합니다.

    배포 단추를 보여 주는 스크린샷

  3. 템플릿 편집을 선택합니다.

    리소스 그룹에 대한 경고와 함께 편집 단추를 보여 주는 스크린샷

    참고 항목

    앞의 스크린샷에 표시된 오류가 발생하면 해결할 수 있습니다. 오류: :리소스 그룹이 템플릿에 있는 하나 이상의 리소스에서 지원하지 않는 위치에 있습니다." 다른 리소스 그룹을 선택하세요.” 드롭다운에서 다른 리소스 그룹을 임시로 선택한 다음 원래 리소스 그룹을 다시 선택하여 오류를 해결합니다.

  4. JSON 템플릿에서 resources 안에 있는 properties를 찾습니다. 마지막 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를 참조하세요.

다음 단계