Bastion リソース ログを有効にして使用する

ユーザーが Azure Bastion を使用してワークロードに接続すると、Bastion ではリモート セッションの診断をログに記録できます。 その後、その診断を使用して、どのユーザーが、どのワークロードに、いつ、どこから接続したかということや、他のそのような関連ログ情報を確認できます。 診断を使用するには、Azure Bastion で診断ログを有効にする必要があります。 この記事では、診断ログを有効にし、ログを表示する方法について説明します。

Note

Bastion で使用可能なすべてのリソース ログを表示するには、各リソース ログを選択します。 [すべてのログ] 設定を除外すると、使用可能なリソース ログの一部が表示されなくなります。

リソース ログを有効にする

  1. Azure portal で、Azure Bastion リソースに移動し、Azure Bastion ページから [診断設定] を選択します。

    [診断設定] ページを示すスクリーンショット。

  2. [診断設定] を選択し、 [+ 診断設定を追加する] を選択してログの保存先を追加します。

    [診断設定を追加する] ボタンが選択されている [診断設定] ページを示すスクリーンショット。

  3. [診断設定] ページで、診断ログの保存に使用するストレージ アカウントの種類を選択します。

    ストレージの場所を選択するセクションが強調表示されている [診断設定] ページのスクリーンショット。

  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/<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>"
    }
    

次のステップ

Azure Bastion に関する FAQ を読む。