Bastion リソース ログを有効にして使用する
ユーザーが Azure Bastion を使用してワークロードに接続すると、Bastion ではリモート セッションの診断をログに記録できます。 その後、その診断を使用して、どのユーザーが、どのワークロードに、いつ、どこから接続したかということや、他のそのような関連ログ情報を確認できます。 診断を使用するには、Azure Bastion で診断ログを有効にする必要があります。 この記事では、診断ログを有効にし、ログを表示する方法について説明します。
Note
Bastion で使用可能なすべてのリソース ログを表示するには、各リソース ログを選択します。 [すべてのログ] 設定を除外すると、使用可能なリソース ログの一部が表示されなくなります。
リソース ログを有効にする
Azure portal で、Azure Bastion リソースに移動し、Azure Bastion ページから [診断設定] を選択します。
[診断設定] を選択し、 [+ 診断設定を追加する] を選択してログの保存先を追加します。
[診断設定] ページで、診断ログの保存に使用するストレージ アカウントの種類を選択します。
設定が済むと、次の例のようになります。
診断ログを表示する
診断ログにアクセスするには、診断設定を有効にするときに指定したストレージ アカウントを直接使用できます。
お使いのストレージ アカウント リソースに移動し、 [コンテナー] に移動します。 ストレージ アカウントの BLOB コンテナーに、insights-logs-bastionauditlogs BLOB が作成されていることがわかります。
コンテナー内に移動すると、BLOB 内のさまざまなフォルダーが表示されます。 これらのフォルダーでは、Azure Bastion リソースのリソース階層が示されています。
アクセス/表示する診断ログが含まれる Azure Bastion リソースの完全な階層に移動します。 'y='、'm='、'd='、'h='、'm=' は、それぞれ、リソース ログの年、月、日、時、分を示します。
移動した期間の診断ログ データが含まれる、Azure Bastion によって作成された JSON ファイルを探します。
ストレージ BLOB コンテナーから JSON ファイルをダウンロードします。 JSON ファイルのログイン成功のエントリの例を次に示します。
{ "time":"2019-10-03T16:03:34.776Z", "resourceId":"/SUBSCRIPTIONS/<subscripionID>/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/<subscripionID>/RESOURCEGROUPS/MYBASTION/PROVIDERS/MICROSOFT.COMPUTE/VIRTUALMACHINES/LINUX-KEY", "subscriptionId":"<subscripionID>", "message":"Successfully Connected.", "resourceType":"VM", "targetVMIPAddress":"172.16.1.5", "userEmail":"<userAzureAccountEmailAddress>", "tunnelId":"<tunnelID>" }, "FluentdIngestTimestamp":"2019-10-03T16:03:34.0000000Z", "Region":"eastus", "CustomerSubscriptionId":"<subscripionID>" }
次に示すのは、JSON ファイルのログイン失敗のエントリの例です (ユーザー名とパスワードが正しくない場合など)。
{ "time":"2019-10-03T16:03:34.776Z", "resourceId":"/SUBSCRIPTIONS/<subscripionID>/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/<subscripionID>/RESOURCEGROUPS/MYBASTION/PROVIDERS/MICROSOFT.COMPUTE/VIRTUALMACHINES/LINUX-KEY", "subscriptionId":"<subscripionID>", "message":"Login Failed", "resourceType":"VM", "targetVMIPAddress":"172.16.1.5", "userEmail":"<userAzureAccountEmailAddress>", "tunnelId":"<tunnelID>" }, "FluentdIngestTimestamp":"2019-10-03T16:03:34.0000000Z", "Region":"eastus", "CustomerSubscriptionId":"<subscripionID>" }