你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

启用和使用 Bastion 资源日志

当用户使用 Azure Bastion 连接到工作负载时,Bastion 可以记录对远程会话的诊断。 然后你可以使用诊断来查看哪些用户在什么时间从哪里连接到哪些工作负载,以及其他此类相关的日志记录信息。 若要使用诊断,必须在 Azure Bastion 上启用诊断日志。 本文可帮助你先启用诊断日志,然后查看这些日志。

注意

要查看可用于 Bastion 的所有资源日志,请选择每个资源日志。 如果排除“所有日志”设置,则看不到所有可用的资源日志。

启用资源日志

  1. Azure 门户中,转到 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 常见问题解答