DICOM サービスで監査ログと診断ログを有効にする
この記事では、DICOM サービスで診断ログを有効にし、これらのログのサンプル クエリを確認できるようにする方法について説明します。 診断ログへのアクセスは、規制要件への準拠が必須であるすべての医療サービスにとって不可欠です。 診断ログを有効にする DICOM サービスの機能は、Azure portal の診断設定です。
ログの有効化
DICOM サービスのログ記録を有効にするには、Azure portalで DICOM サービスを選択します。
[アクティビティ ログ] ブレードを選択し、 [診断設定] を選択します。
[+ 診断設定の追加] を選択します。
診断設定の名前を入力します。
診断ログにアクセスする [カテゴリ] と [宛先] の詳細を選択します。
Azure Monitor の [Log Analytics ワークスペースに送信する] 。 このオプションを選択する前に、Log Analytics ワークスペースを作成する必要があります。 プラットフォーム ログの詳細については、「Azure プラットフォーム ログの概要」を参照してください。
監査や手動での検査のために、ストレージ アカウントにアーカイブします。 使用するストレージ アカウントは既に作成済みである必要があります。
サード パーティのサービスやカスタム分析ソリューションで取り込むために、イベント ハブにストリーム配信します。 この手順を構成する前に、イベント ハブの名前空間とイベント ハブのポリシーを作成する必要があります。
Azure でパートナー organizationとして使用しているパートナー ソリューションに送信します。 潜在的なパートナー統合の詳細については、Azure パートナー ソリューションのドキュメントを参照してください。
サポートされているメトリックの詳細については、「Azure Monitor のサポートされるメトリック」を参照してください。
[保存] を選択します。
注意
最初のログが 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 アクティビティ ログの詳細については、次を参照してください。