Log Analytics ワークスペースへのアクセスを管理する

Log Analytics ワークスペースでアクセスできるデータを決定する要因は次のとおりです。

  • ワークスペース自体の設定。
  • ワークスペースにデータを送信するリソースへのアクセス許可。
  • ワークスペースへのアクセスに使用するメソッド。

この記事では、Log Analytics ワークスペース内のデータへのアクセスを管理する方法について説明します。

概要

アクセス可能なデータを定義する要因について、次の表で説明します。 それぞれの要素について後のセクションでさらに説明します。

要素 説明
アクセス モード ワークスペースへのアクセスに使用するメソッド。 使用可能なデータの範囲と適用されるアクセス制御モードを定義します。
アクセス制御モード アクセス許可をワークスペース レベルとリソース レベルのどちらで適用するかを定義するワークスペースの設定。
Azure のロールベースのアクセス制御 (RBAC) ワークスペースまたはワークスペースにデータを送信するリソースについて、個々のユーザーまたはユーザー グループに適用される許可。 ユーザーがアクセスできるデータを定義します。
テーブル レベルの Azure RBAC ユーザーがアクセスできるワークスペース内の特定のデータ型を定義する、オプションのアクセス許可。 すべてのアクセス モードまたはアクセス制御モードに適用できます。

アクセス モード

"アクセス モード" は、ユーザーが Log Analytics ワークスペースにアクセスする方法を意味し、現在のセッションでユーザーがアクセスできるデータを定義します。 モードは、Log Analytics で選択する範囲によって決まります。

2 つのアクセス モードがあります。

  • ワークスペースコンテキスト: ご自身がアクセス許可を持つワークスペース内のすべてのログを表示できます。 このモードのクエリの範囲は、ワークスペース内でアクセス権を持つすべてのデータです。 このアクセス モードが使用されるのは、Azure portal の [Azure Monitor] メニューで [ログ] を選択する場合など、ワークスペースを範囲としてログにアクセスするときです。
  • リソース コンテキスト:Azure portal のリソース メニューで [ログ] を選択する場合など、特定のリソース、リソース グループまたはサブスクリプションに関してワークスペースにアクセスするときは、ご自身がアクセス許可を持っているすべてのテーブル内のそのリソースのログのみを表示できます。 このモードのクエリの範囲は、そのリソースに関連するデータのみです。 このモードでは、きめ細かい Azure RBAC も有効になります。 ワークスペースでは、Azure リソースによって出力されたすべてのログ レコードがこのリソースに自動的に関連付けられるリソースコンテキスト ログ モデルが使用されます。

リソースコンテキスト クエリでレコードを使用できるのは、関連するリソースにレコードが関連付けられている場合のみです。 この関連付けを確認するには、クエリを実行して、_ResourceId 列が設定されていることを確認します。

次のリソースには既知の制限があります。

アクセス モードの比較

アクセス モードを以下の表にまとめています。

問題 ワークスペース コンテキスト リソース コンテキスト
モデルの利用対象者 全体管理。
データ収集を構成する必要がある管理者と多様なリソースにアクセスする必要があるユーザー。 また、現時点では、Azure 外部のリソースのログにアクセスする必要があるユーザーにとって必要です。
アプリケーション チーム。
監視されている Azure リソースの管理者。 フィルター処理なしでリソースに集中できるようにします。
ログを表示するために必要なもの ワークスペースに対するアクセス許可。
ワークスペースのアクセス許可を使用してアクセスを管理するに関する記事の「ワークスペースのアクセス許可」を参照してください。
リソースへの読み取りアクセス。
Azure のアクセス許可を使用してアクセスを管理するに関する記事の「リソースのアクセス許可」を参照してください。 アクセス許可は、リソース グループまたはサブスクリプションから継承することも、リソースに直接割り当てることもできます。 リソースのログに対するアクセス許可は自動的に割り当てられます。 ユーザーはワークスペースへのアクセス権を必要としません。
アクセス許可の範囲 ワークスペース。
ワークスペースへのアクセス権を持つユーザーは、アクセス許可を持っているテーブルについて、ワークスペース内のすべてのログを照会できます。 「テーブル レベルの読み取りアクセスの設定」を参照してください。
Azure リソース。
ユーザーは、自分がアクセス権を持つ特定のリソース、リソース グループまたはサブスクリプションのログに対してすべてのワークスペースでクエリを実行できますが、その他のリソースのログにはクエリを実行できません。
ログにアクセスする方法 Azure Monitor のメニューで [ログ] を選択します。

Log Analytics ワークスペース[ログ] を選択します。

Azure Monitor Workbooks から。
Azure リソースのメニューで [ログ] を選択します。 ユーザーはそのリソースのデータへアクセスできます。

Azure Monitor のメニューで [ログ] を選択します。 ユーザーは、アクセス権があるすべてのリソースのデータへアクセスできます。

ユーザーがワークスペースにアクセスできる場合は、Log Analytics ワークスペースから [ログ] を選択します。

Azure Monitor Workbooks から。

アクセス制御モード

"アクセス制御モード" は、ワークスペースのアクセス許可の決定方法を定義するワークスペースごとの設定です。

  • [ワークスペースのアクセス許可が必要]。 この制御モードでは、きめ細かい Azure RBAC は使用できません。 ワークスペースにアクセスするためには、ワークスペースまたは特定のテーブルへのアクセス権がユーザーに付与される必要があります。

    ユーザーがワークスペースコンテキスト モードでワークスペースにアクセスする場合は、アクセス権を付与されたすべてのテーブル内のすべてのデータにアクセスできます。 ユーザーがリソースコンテキスト モードでワークスペースにアクセスする場合は、アクセス権を付与されたすべてのテーブルの該当リソースのデータのみにアクセスできます。

    この設定は、2019 年 3 月よりも前に作成されたすべてのワークスペースでは既定の設定です。

  • [リソースまたはワークスペースのアクセス許可を使用]。 この制御モードでは、きめ細かい Azure RBAC を使用できます。 Azure read アクセス許可を割り当てることによって、ユーザーが表示できるリソースに関連付けられたデータのみへのアクセス権をそのユーザーに付与できます。

    ユーザーがワークスペースコンテキスト モードでワークスペースにアクセスするときは、ワークスペースのアクセス許可が適用されます。 ユーザーがリソースコンテキスト モードでワークスペースにアクセスするときは、リソースのアクセス許可のみが確認され、ワークスペースのアクセス許可は無視されます。 ユーザーに対して Azure RBAC を有効にするには、ワークスペースのアクセス許可からユーザーを削除して、リソースのアクセス許可が認識されるようにします。

    この設定は、2019 年 3 月よりも後に作成されたすべてのワークスペースでは既定の設定です。

    注意

    ワークスペースへのリソース アクセス許可のみを持つユーザーは、ワークスペース アクセス モードが [リソースまたはワークスペースのアクセス許可を使用] に設定されていることを前提として、リソース コンテキスト モードを使用することによってのみワークスペースにアクセスできます。

ワークスペースのアクセス制御モードを構成する

現在のワークスペース アクセス制御モードは、[Log Analytics ワークスペース] メニューのワークスペースの [概要] ページで確認します。

ワークスペース アクセス制御モードを示すスクリーンショット。

ワークスペースの [プロパティ] ページでこの設定を変更します。 ワークスペースを構成するアクセス許可を持たない場合、設定の変更は無効になります。

ワークスペース アクセス モードの変更を示すスクリーンショット。

Azure RBAC

ワークスペースへのアクセスは、Azure RBAC を使用して管理されます。 Azure のアクセス許可を使用して Log Analytics ワークスペースへのアクセス権を付与するには、Azure サブスクリプション リソースへのアクセスを管理するための Azure ロールの割り当てに関するページの手順に従ってください。

ワークスペースのアクセス許可

各ワークスペースには、複数のアカウントを関連付けることができます。 各アカウントには、複数のワークスペースへのアクセス権があります。 次の表に、ワークスペースのさまざまなアクションに対する Azure のアクセス許可を示します。

アクション 必要とされる Azure のアクセス許可 メモ
価格レベルを変更します。 Microsoft.OperationalInsights/workspaces/*/write
Azure portal でワークスペースを作成します。 Microsoft.Resources/deployments/*
Microsoft.OperationalInsights/workspaces/*
ワークスペースの基本的なプロパティを表示し、ポータルにワークスペース ウィンドウを入力します。 Microsoft.OperationalInsights/workspaces/read
任意のインターフェイスを使用し、ログにクエリを実行します。 Microsoft.OperationalInsights/workspaces/query/read
クエリを使用し、すべてのログ タイプにアクセスします。 Microsoft.OperationalInsights/workspaces/query/*/read
特定のログ テーブルにアクセスする - レガシの方法 Microsoft.OperationalInsights/workspaces/query/<table_name>/read
ワークスペース キーを読み取り、このワークスペースへのログ送信を許可します。 Microsoft.OperationalInsights/workspaces/sharedKeys/action
概要ルールを作成または更新する Microsoft.Operationalinsights/workspaces/summarylogs/write
監視ソリューションを追加および削除します。 Microsoft.Resources/deployments/*
Microsoft.OperationalInsights/*
Microsoft.OperationsManagement/*
Microsoft.Automation/*
Microsoft.Resources/deployments/*/write

これらのアクセス許可は、リソース グループまたはサブスクリプション レベルで付与する必要があります。
[Backup] ソリューション タイルと [Site Recovery] ソリューション タイルのデータを表示します。 管理者/共同管理者

クラシック デプロイ モデルを使用してデプロイされたリソースにアクセスします。
検索ジョブを実行します。 Microsoft.OperationalInsights/workspaces/tables/write
Microsoft.OperationalInsights/workspaces/searchJobs/write
長期保有からデータを復元します。 Microsoft.OperationalInsights/workspaces/tables/write
Microsoft.OperationalInsights/workspaces/restoreLogs/write

組み込みのロール

ユーザーをこれらのロールに割り当てて、さまざまなスコープでのアクセス権を付与します。

  • サブスクリプション: サブスクリプション内のすべてのワークスペースへのアクセス
  • リソース グループ: リソース グループ内のすべてのワークスペースへのアクセス
  • リソース: 指定されたワークスペースのみへのアクセス

正確なアクセス制御を行うために、割り当てをリソース レベル (ワークスペース) で作成します。 必要な特定のアクセス許可を持つロールを作成するには、カスタム ロールを使用します。

注意

ユーザー ロールに対してユーザーの追加と削除を行うには、Microsoft.Authorization/*/Delete および Microsoft.Authorization/*/Write のアクセス許可が必要です。

Log Analytics 閲覧者

"Log Analytics 閲覧者" ロールのメンバーは、すべての監視データと、すべての Azure リソース上の Azure Diagnostics 構成を含む監視設定の表示を行うことができます。

"Log Analytics 閲覧者" ロールのメンバーは、以下の操作を行うことができます。

  • すべての監視データを表示および検索します。
  • 監視設定を表示する。これには、すべての Azure リソースに対する Azure Diagnostics の構成の表示などが含まれます。

Log Analytics 閲覧者ロールには、次の Azure アクションが含まれています。

Type 権限 説明
アクション */read すべての Azure リソースとリソース構成を表示する機能。
次のものを表示できます。
- 仮想マシン拡張機能の状態。
- リソースに対する Azure Diagnostics の構成。
- すべてのリソースのすべてのプロパティと設定。

ワークスペースの場合、ワークスペース設定の読み取りとデータへのクエリ実行について、制限なしの完全なアクセスが許可されます。 前のリストの詳細なオプションを参照してください。
アクション Microsoft.Support/* サポート ケースを開く機能。
非アクション Microsoft.OperationalInsights/workspaces/sharedKeys/read データ コレクション API の使用とエージェントのインストールに必要なワークスペース キーの読み取りを防ぎます。 これにより、ユーザーは新しいリソースをワークスペースに追加できなくなります。

Log Analytics 共同作成者

"Log Analytics 共同作成者" ロールのメンバーは、以下の操作を行うことができます。

  • "Log Analytics 閲覧者ロール" に許可されたすべての監視データを読み取る。
  • 次のような、Azure リソースの監視設定を編集します。
    • VM への VM 拡張機能の追加。
    • すべての Azure リソースに対する Azure Diagnostics の構成。
  • Automation アカウントを作成および構成する。 アクセス許可は、リソース グループまたはサブスクリプション レベルで付与する必要があります。
  • 管理ソリューションを追加および削除する。 アクセス許可は、リソース グループまたはサブスクリプション レベルで付与する必要があります。
  • ストレージ アカウント キーを読み取ります。
  • Azure Storage からのログの収集を構成します。
  • データ エクスポート規則を構成します。
  • 検索ジョブを実行します。
  • 長期保有からデータを復元します。

警告

仮想マシンに仮想マシン拡張機能を追加するアクセス許可を使用して、仮想マシンに対するフル コントロールを取得することができます。

Log Analytics 共同作成者ロールには、次の Azure アクションが含まれています。

権限 説明
*/read すべての Azure リソースとリソース構成を表示する機能。

次のものを表示できます。
- 仮想マシン拡張機能の状態。
- リソースに対する Azure Diagnostics の構成。
- すべてのリソースのすべてのプロパティと設定。

ワークスペースの場合、ワークスペース設定の読み取りとデータへのクエリ実行について、制限なしの完全なアクセスが許可されます。 前のリストの詳細なオプションを参照してください。
Microsoft.Automation/automationAccounts/* Runbook の追加と編集など、Azure Automation アカウントを作成および構成する機能。
Microsoft.ClassicCompute/virtualMachines/extensions/*
Microsoft.Compute/virtualMachines/extensions/*
Microsoft Monitoring Agent 拡張機能、OMS Agent for Linux 拡張機能など、仮想マシン拡張機能を追加、更新、削除します。
Microsoft.ClassicStorage/storageAccounts/listKeys/action
Microsoft.Storage/storageAccounts/listKeys/action
ストレージ アカウント キーを表示する。 Azure Storage アカウントからログを読み取るように Log Analytics を構成するために必要です。
Microsoft.Insights/alertRules/* アラート ルールを追加、更新、削除します。
Microsoft.Insights/diagnosticSettings/* Azure リソースに対する診断設定を追加、更新、削除します。
Microsoft.OperationalInsights/* Log Analytics ワークスペースの構成を追加、更新、および削除する。 ワークスペースの詳細設定を編集するには、ユーザーに Microsoft.OperationalInsights/workspaces/write が必要です。
Microsoft.OperationsManagement/* 管理ソリューションを追加および削除する。
Microsoft.Resources/deployments/* デプロイを作成および削除する。 ソリューション、ワークスペース、Automation アカウントを追加および削除するために必要です。
Microsoft.Resources/subscriptions/resourcegroups/deployments/* デプロイを作成および削除する。 ソリューション、ワークスペース、Automation アカウントを追加および削除するために必要です。

リソースのアクセス許可

リソース コンテキストでワークスペースからデータを読み取ったり、ワークスペースにデータを送信したりするには、リソースで次のアクセス許可が必要です。

権限 説明
Microsoft.Insights/logs/*/read リソースのすべてのログ データを表示する機能
Microsoft.Insights/logs/<tableName>/read
例:
Microsoft.Insights/logs/Heartbeat/read
このリソースの特定のテーブルを表示する機能 - レガシの方法
Microsoft.Insights/diagnosticSettings/write このリソースのログを設定できるように診断設定を構成する機能

通常、/read アクセス許可は、組み込みの閲覧者または共同作成者ロールなど、"*/read または *" アクセス許可を含むロールによって付与されます。 特定の操作を含むカスタム ロールまたは専用の組み込みロールには、このアクセス許可が含まれないことがあります。

カスタム ロールの例

Log Analytics ワークスペースの組み込みロールを使用するだけでなく、カスタム ロールを作成すると、さらにきめ細かくアクセス許可を割り当てることができます。 一般的な例を次にいくつか挙げます。

例 1: リソースからログ データを読み取る許可をユーザーに付与します。

  • ワークスペースのアクセス制御モードを、ワークスペースまたはリソースのアクセス許可を使用するように構成します。
  • ユーザーに対して、自身のリソースに対する */read または Microsoft.Insights/logs/*/read アクセス許可を付与します。 ワークスペースの Log Analytics Reader ロールが既に割り当てられている場合はそれで十分です。

例 2: リソースからログ データを読み取り、検索ジョブを実行する許可をユーザーに付与します。

  • ワークスペースのアクセス制御モードを、ワークスペースまたはリソースのアクセス許可を使用するように構成します。
  • ユーザーに対して、自身のリソースに対する */read または Microsoft.Insights/logs/*/read アクセス許可を付与します。 ワークスペースの Log Analytics Reader ロールが既に割り当てられている場合はそれで十分です。
  • ユーザーに対して、ワークスペースに対する以下のアクセス許可を付与します。
    • Microsoft.OperationalInsights/workspaces/tables/write: 検索結果テーブルの作成に必須です (_SRCH)。
    • Microsoft.OperationalInsights/workspaces/searchJobs/write: 検索ジョブ操作の実行許可に必須です。

例 2: リソースからログ データを読み取り、Log Analytics ワークスペースにログを送信するようにリソースを構成する許可をユーザーに付与します。

  • ワークスペースのアクセス制御モードを、ワークスペースまたはリソースのアクセス許可を使用するように構成します。
  • ユーザーに対して、ワークスペースに対するアクセス許可 Microsoft.OperationalInsights/workspaces/read および Microsoft.OperationalInsights/workspaces/sharedKeys/action を付与します。 これらのアクセス許可を持つユーザーはワークスペースレベルのクエリを実行できません。 ワークスペースを列挙して、診断設定またはエージェント構成の行先として使用することのみできます。
  • ユーザーに対して、自身のリソースに対するアクセス許可 Microsoft.Insights/logs/*/read および Microsoft.Insights/diagnosticSettings/write を付与します。 このリソースの Log Analytics 共同作成者ロールが既に割り当てられていたり、閲覧者ロールが割り当てられたり、*/read アクセス許可が付与されている場合は、それで十分です。

例 4: リソースからログ データを読み取る許可をユーザーに付与しますが、Analytics ワークスペースにログを送信したり、セキュリティ イベントを読み取ったりする許可は付与しません。

  • ワークスペースのアクセス制御モードを、ワークスペースまたはリソースのアクセス許可を使用するように構成します。
  • ユーザーに対して、自身のリソースに対するアクセス許可 Microsoft.Insights/logs/*/read を付与します。
  • 次に示す非アクション Microsoft.Insights/logs/SecurityEvent/read を追加して、ユーザーが SecurityEvent の種類を読み取れないようにします。 非アクションは、読み取り権限 (Microsoft.Insights/logs/*/read) を提供するアクションと同じカスタム ロールに存在する必要があります。 このリソースまたはサブスクリプションまたはリソース グループに割り当てられている別のロールからユーザーが読み取り操作を継承する場合は、すべてのログの種類を読み取ることができます。 このシナリオは、たとえば閲覧者または共同作成者ロールと共に存在する */read を継承する場合にも当てはまります。

例 5: リソースとあらゆる Microsoft Entra サインインからログ データを読み取り、Log Analytics ワークスペースの Update Management ソリューション ログ データを読み取る許可をユーザーに付与します。

  • ワークスペースのアクセス制御モードを、ワークスペースまたはリソースのアクセス許可を使用するように構成します。
  • ユーザーに対して、ワークスペースに対する以下のアクセス許可を付与します。
    • Microsoft.OperationalInsights/workspaces/read: ユーザーがワークスペースを列挙して Azure portal でワークスペース ウィンドウを開くことができるようにするために必要です
    • Microsoft.OperationalInsights/workspaces/query/read: クエリを実行できるすべてのユーザーに必要です
    • Microsoft.OperationalInsights/workspaces/query/SigninLogs/read: Microsoft Entra のサインイン ログを読み取ることができるようにします
    • Microsoft.OperationalInsights/workspaces/query/Update/read: Update Management ソリューションのログを読み取ることができるようにします
    • Microsoft.OperationalInsights/workspaces/query/UpdateRunProgress/read: Update Management ソリューションのログを読み取ることができるようにします
    • Microsoft.OperationalInsights/workspaces/query/UpdateSummary/read: Update Management ログを読み取ることができるようにします
    • Microsoft.OperationalInsights/workspaces/query/Heartbeat/read: Update Management ソリューションを使用できるようにするために必要です
    • Microsoft.OperationalInsights/workspaces/query/ComputerGroup/read: Update Management ソリューションを使用できるようにするために必要です
  • ユーザーに対して、自身のリソースに対するアクセス許可 */read (閲覧者ロールに割り当てられている) または Microsoft.Insights/logs/*/read を付与します

例 6: ユーザーが長期保有からデータを復元できないように制限する。

  • ワークスペースのアクセス制御モードを、ワークスペースまたはリソースのアクセス許可を使用するように構成します。
  • Log Analytics Contributor ロールをユーザーに割り当てます。
  • 次の NonAction を追加して、ユーザーが長期保有からデータを復元できないようにします: Microsoft.OperationalInsights/workspaces/restoreLogs/write

テーブル レベルの読み取りアクセスを設定する

テーブルレベルの読み取りアクセスを管理する」を参照してください。

次のステップ