다음을 통해 공유


Bastion 리소스 로그 사용 및 작업

사용자가 Azure Bastion을 사용하여 워크로드에 연결하면 Bastion에서 원격 세션 진단을 로깅할 수 있습니다. 그런 다음 진단을 사용하여 어떤 사용자가 어디에서 언제 어떤 워크로드에 연결되었는지 및 관련된 로깅 정보 등을 볼 수 있습니다. 진단을 사용하려면 Azure Bastion에서 진단 로그를 사용하도록 설정해야 합니다. 이 문서는 진단 로그를 사용하도록 설정하고 로그를 확인하는 데 도움이 됩니다.

참고 항목

Bastion에 사용할 수 있는 모든 리소스 로그를 보려면 각 리소스 로그를 선택합니다. '모든 로그' 설정을 제외하면 사용 가능한 리소스 로그가 모두 표시되지 않습니다.

리소스 로그 사용

  1. Azure Portal에서 Azure Bastion 리소스로 이동하고 Azure Bastion 페이지에서 진단 설정을 선택합니다.

  2. 진단 설정을 선택한 다음 + 진단 설정 추가를 선택하여 로그 대상을 추가합니다.

  3. 진단 설정 페이지에서 원하는 설정을 선택합니다. 예시:

    설정
    범주 그룹 audit 또는 allLogs
    범주 베스천 감사 로그
    대상 세부 정보 로그를 저장할 스토리지 계정을 선택합니다.
    메트릭 AllMetrics
  4. 설정을 완료하면 저장을 선택합니다.

진단 로그 보기

진단 로그에 액세스하려면 진단 설정을 사용하도록 설정하는 동안 지정한 스토리지 계정을 직접 사용할 수 있습니다.

  1. 스토리지 계정 리소스, 컨테이너로 차례로 이동합니다. 스토리지 계정 Blob 컨테이너에 insights-logs-bastionauditlogs Blob이 생성된 것을 확인할 수 있습니다.

  2. 컨테이너 내부로 이동하면 Blob에 다양한 폴더가 표시됩니다. 해당 폴더는 Azure Bastion 리소스의 리소스 계층 구조를 나타냅니다.

  3. 진단 로그를 액세스/확인하려는 Azure Bastion 리소스의 전체 계층 구조로 이동합니다. ‘y=’, ‘m=’, ‘d=’, ‘h=’, ‘m=’은 리소스 로그의 연도, 월, 일, 시간, 분을 각각 나타냅니다.

    스크린샷은 스토리지 위치를 보여줍니다.

  4. 탐색한 기간의 진단 로그 데이터가 포함된, Azure Bastion에서 만든 json 파일을 찾습니다.

  5. 스토리지 Blob 컨테이너에서 json 파일을 다운로드합니다. 다음 예제에서는 json 파일에서 로그인에 성공한 항목을 보여 냅니다.

    { 
    "time":"2019-10-03T16:03:34.776Z",
    "resourceId":"/SUBSCRIPTIONS/<subscriptionID>/RESOURCEGROUPS/MYBASTION/PROVIDERS/MICROSOFT.NETWORK/BASTIONHOSTS/MYBASTION-BASTION",
    "operationName":"Microsoft.Network/BastionHost/connect",
    "category":"BastionAuditLogs",
    "level":"Informational",
    "location":"eastus",
    "properties":{ 
       "userName":"<username>",
       "userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36",
       "clientIpAddress":"131.107.159.86",
       "clientPort":24039,
       "protocol":"ssh",
       "targetResourceId":"/SUBSCRIPTIONS/<subscriptionID>/RESOURCEGROUPS/MYBASTION/PROVIDERS/MICROSOFT.COMPUTE/VIRTUALMACHINES/LINUX-KEY",
       "subscriptionId":"<subscriptionID>",
       "message":"Successfully Connected.",
       "resourceType":"VM",
       "targetVMIPAddress":"172.16.1.5",
       "userEmail":"<userAzureAccountEmailAddress>",
       "tunnelId":"<tunnelID>"
    },
    "FluentdIngestTimestamp":"2019-10-03T16:03:34.0000000Z",
    "Region":"eastus",
    "CustomerSubscriptionId":"<subscriptionID>"
    }
    

    다음 예제에서는 json 파일의 실패한 로그인 항목(예: 잘못된 사용자 이름/암호로 인해)을 보여 줍니다.

    { 
    "time":"2019-10-03T16:03:34.776Z",
    "resourceId":"/SUBSCRIPTIONS/<subscriptionID>/RESOURCEGROUPS/MYBASTION/PROVIDERS/MICROSOFT.NETWORK/BASTIONHOSTS/MYBASTION-BASTION",
    "operationName":"Microsoft.Network/BastionHost/connect",
    "category":"BastionAuditLogs",
    "level":"Informational",
    "location":"eastus",
    "properties":{ 
       "userName":"<username>",
       "userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36",
       "clientIpAddress":"131.107.159.86",
       "clientPort":24039,
       "protocol":"ssh",
       "targetResourceId":"/SUBSCRIPTIONS/<subscriptionID>/RESOURCEGROUPS/MYBASTION/PROVIDERS/MICROSOFT.COMPUTE/VIRTUALMACHINES/LINUX-KEY",
       "subscriptionId":"<subscriptionID>",
       "message":"Login Failed",
       "resourceType":"VM",
       "targetVMIPAddress":"172.16.1.5",
       "userEmail":"<userAzureAccountEmailAddress>",
       "tunnelId":"<tunnelID>"
    },
    "FluentdIngestTimestamp":"2019-10-03T16:03:34.0000000Z",
    "Region":"eastus",
    "CustomerSubscriptionId":"<subscriptionID>"
    }
    

다음 단계

Bastion FAQ를 참조하세요.