DICOM サービスで監査ログと診断ログを有効にする

この記事では、DICOM サービスで診断ログを有効にし、これらのログのサンプル クエリを確認できるようにする方法について説明します。 診断ログへのアクセスは、規制要件への準拠が必須であるすべての医療サービスにとって不可欠です。 診断ログを有効にする DICOM サービスの機能は、Azure portal の診断設定です。

ログの有効化

  1. DICOM サービスのログ記録を有効にするには、Azure portalで DICOM サービスを選択します。

  2. [アクティビティ ログ] ブレードを選択し、 [診断設定] を選択します。

    Azure アクティビティ ログのスクリーンショット。

  3. [+ 診断設定の追加] を選択します。

    [診断設定の追加] のスクリーンショット。

  4. 診断設定の名前を入力します。

    診断設定の構成のスクリーンショット。

  5. 診断ログにアクセスする [カテゴリ][宛先] の詳細を選択します。

    • Azure Monitor の [Log Analytics ワークスペースに送信する] 。 このオプションを選択する前に、Log Analytics ワークスペースを作成する必要があります。 プラットフォーム ログの詳細については、「Azure プラットフォーム ログの概要」を参照してください。

    • 監査や手動での検査のために、ストレージ アカウントにアーカイブします。 使用するストレージ アカウントは既に作成済みである必要があります。

    • サード パーティのサービスやカスタム分析ソリューションで取り込むために、イベント ハブにストリーム配信します。 この手順を構成する前に、イベント ハブの名前空間とイベント ハブのポリシーを作成する必要があります。

    • Azure でパートナー organizationとして使用しているパートナー ソリューションに送信します。 潜在的なパートナー統合の詳細については、Azure パートナー ソリューションのドキュメントを参照してください。

      サポートされているメトリックの詳細については、「Azure Monitor のサポートされるメトリック」を参照してください。

  6. [保存] を選択します。

    注意

    最初のログが Log Analytics に表示されるまでには、最大で 15 分かかることがあります。 また、DICOM サービスを、あるリソース グループまたはサブスクリプションから別のリソース グループまたはサブスクリプションに移動した場合は、移動が完了した後で設定を更新します。

    診断ログの使用方法の詳細については、Azure リソース ログのドキュメントを参照してください

ログの詳細

使用されるログ スキーマは、宛先によって異なります。 Log Analytics には、他の宛先とは異なるスキーマがあります。 各ログの種類には、異なるスキーマもあります。

監査ログの詳細

生ログ

DICOM サービスは、Log Analytics の外部でストリーミングされた場合に表示される監査ログに次のフィールドを返します。

フィールド名 Type メモ
correlationId String 関連付け ID
operationName String 操作の種類 (Retrieve、Store、Query など) について説明します。
time DateTime イベントの日付と時刻。
resourceId String リソースへの Azure パス。
identity 動的 ID 情報を含む汎用プロパティ バッグ (現在は DICOM には適用されません)。
location String 要求を処理したサーバーの場所。
uri String 要求 URI。
resultType String 現在使用可能な値は、Started、Succeeded、または Failed。
resultSignature int HTTP 状態コード (200 など)
type String ログの種類 (この場合、常に MicrosoftHealthcareApisAuditLog)。
レベル String ログ レベル (情報、エラー)。

Log Analytics のログ

DICOM サービスは、Log Analytics の監査ログに次のフィールドを返します。

フィールド名 Type Notes
CorrelationId String 関連付け ID
OperationName String 操作の種類 (Retrieve、Store、Query など) について説明します。
TimeGenerated [UTC] DateTime イベントの日付と時刻。
_ResourceId String リソースへの Azure パス。
ID 動的 ID 情報を含む汎用プロパティ バッグ (現在は DICOM には適用されません)。
Uri String 要求 URI。
ResultType String 現在使用可能な値は、Started、Succeeded、または Failed。
StatusCode int HTTP 状態コード (例: 200)
Type String ログの種類 (この場合は常に AHDSDicomAuditLogs です)。
レベル String ログ レベル (情報、エラー)。
TenantId String テナント ID。

診断ログの詳細

生ログ

DICOM サービスは、Log Analytics の外部でストリーミングされた場合に表示される監査ログ内の次のフィールドを返します。

フィールド名 Type メモ
correlationId String 関連付け ID
operationName String 操作の種類 (たとえば、取得、ストア、クエリなど) について説明します。
time DateTime イベントの日付と時刻。
resultDescription String ログ エントリの説明。 次に示す例は、ファイルを格納するときの検証警告メッセージを含む診断ログです。
resourceId String リソースへの Azure パス。
identity 動的 ID 情報を含む汎用プロパティ バッグ (現在、DICOM には適用されません)。
location String 要求を処理したサーバーの場所。
properties String JSON 配列形式のイベントに関する追加情報。 たとえば、要求に存在する DICOM 識別子があります。
レベル String ログ レベル (情報、エラー)。

Log Analytics のログ

DICOM サービスは、Log Analytics の監査ログに次のフィールドを返します。

フィールド名 Type Notes
CorrelationId String 関連付け ID
OperationName String 操作の種類 (たとえば、取得、ストア、クエリなど) について説明します。
TimeGenerated DateTime イベントの日付と時刻。
Message String ログ エントリの説明。 次に示す例は、ファイルを格納するときの検証警告メッセージを含む診断ログです。
場所 String 要求を処理したサーバーの場所。
Properties String JSON 配列形式のイベントに関する追加情報。 たとえば、要求に存在する DICOM 識別子があります。
ログ レベル String ログ レベル (情報、エラー)。

Log Analytics クエリの例

ログ データを調査するために使用できるいくつかの基本的な Application Insights クエリを次に示します。

最新の 100 件のログを表示するには、次のクエリを実行します。

MicrosoftHealthcareApisAuditLogs
| limit 100

DICOM リソースの種類で操作をグループ化するには、次のクエリを実行します。

MicrosoftHealthcareApisAuditLogs 
| summarize count() by DICOMResourceType

すべての失敗した結果を取得するには、次のクエリを実行します。

MicrosoftHealthcareApisAuditLogs 
| where ResultType == "Failed" 

まとめ

診断ログにアクセスできることは、サービスを監視し、コンプライアンス レポートを提供するために不可欠です。 DICOM サービスを使用すると、診断ログを使用してこれらのアクションを実行できます。

次のステップ

この記事では、DICOM サービスの監査ログを有効にする方法について説明しました。 Azure アクティビティ ログの詳細については、次を参照してください。