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 Arc for Servers を使用した場合のみ、リソースコンテキストはサポートされます。
- Application Insights - ワークスペースベースの Application Insights リソースの使用時にのみ、リソースコンテキストに対してサポートされます
- Azure Service Fabric
アクセス モードの比較
アクセス モードを以下の表にまとめています。
問題 | ワークスペース コンテキスト | リソース コンテキスト |
---|---|---|
モデルの利用対象者 | 全体管理。 データ収集を構成する必要がある管理者と多様なリソースにアクセスする必要があるユーザー。 また、現時点では、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.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 の使用とエージェントのインストールに必要なワークスペース キーの読み取りを防ぎます。 これにより、ユーザーは新しいリソースをワークスペースに追加できなくなります。 |
操作 | Microsoft.OperationalInsights/workspaces/analytics/query/action |
非推奨になりました。 |
操作 | Microsoft.OperationalInsights/workspaces/search/action |
非推奨になりました。 |
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/<tableName>/read 例 : Microsoft.Insights/logs/*/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: リソースとあらゆる Azure AD サインインからログ データを読み取り、Log Analytics ワークスペースの Update Management ソリューション ログ データを読み取る許可をユーザーに付与します。
- ワークスペースのアクセス制御モードを、ワークスペースまたはリソースのアクセス許可を使用するように構成します。
- ユーザーに対して、ワークスペースに対する以下のアクセス許可を付与します。
Microsoft.OperationalInsights/workspaces/read
: ユーザーがワークスペースを列挙して Azure portal でワークスペース ウィンドウを開くことができるようにするために必要ですMicrosoft.OperationalInsights/workspaces/query/read
: クエリを実行できるすべてのユーザーに必要ですMicrosoft.OperationalInsights/workspaces/query/SigninLogs/read
: Azure AD のサインイン ログを読み取ることができるようにします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
を追加する
テーブル レベルの読み取りアクセスを設定する
特定のユーザーまたはグループがワークスペース内の特定のテーブルからデータを読み取ることができるようにするカスタム ロールを作成するには、次のようにします。
組み込みの Azure Monitor ログの閲覧者ロールに基づいて、Log Analytics ワークスペースでクエリを実行するアクセス許可をユーザーに付与するカスタム ロールを作成します。
ワークスペースに移動し、[アクセス制御 (IAM)]>[ロール] を選択します。
[閲覧者] ロールを右クリックし、[複製] を選択します。
これにより、[カスタム ロールの作成] 画面が開きます。
画面の [基本] タブで、[カスタム ロール名] の値を入力し、必要に応じて説明を入力します。
[JSON] タブ >[編集] を選択します。
"actions"
のセクションで、次を追加します。Microsoft.OperationalInsights/workspaces/read
Microsoft.OperationalInsights/workspaces/query/read
Microsoft.OperationalInsights/workspaces/analytics/query/action
Microsoft.OperationalInsights/workspaces/search/action
"not actions"
セクションに、Microsoft.OperationalInsights/workspaces/sharedKeys/read
を追加します。
画面の下部にある [保存]>[確認と作成] を選択し、その後、次のページで [作成] を選択します。
関連するユーザーまたはグループにカスタム ロールを割り当てます。
https://management.azure.com/batch?api-version=2020-06-01
POST API を呼び出し、要求本文で次の詳細を送信することで、ワークスペース内の特定のテーブルへの読み取りアクセス権をユーザーまたはグループに付与します。{ "requests": [ { "content": { "Id": "<GUID_1>", "Properties": { "PrincipalId": "<user_object_ID>", "PrincipalType": "User", "RoleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7", "Scope": "/subscriptions/<subscription_ID>/resourceGroups/<resource_group_name>/providers/Microsoft.OperationalInsights/workspaces/<workspace_name>/Tables/<table_name>", "Condition": null, "ConditionVersion": null } }, "httpMethod": "PUT", "name": "<GUID_2>", "requestHeaderDetails": { "commandName": "Microsoft_Azure_AD." }, "url": "/subscriptions/<subscription_ID>/resourceGroups/<resource_group_name>/providers/Microsoft.OperationalInsights/workspaces/<workspace_name>/Tables/<table_name>/providers/Microsoft.Authorization/roleAssignments/<GUID_1>?api-version=2020-04-01-preview" } ] }
各値の説明:
- 任意の GUID ジェネレーターを使用して、
<GUID 1>
と<GUID 2>
の GUID を生成できます。 <user_object_ID>
は、テーブルに読み取りアクセス権を付与するユーザーのオブジェクト ID です。<subscription_ID>
は、ワークスペースに関連するサブスクリプションの ID です。<resource_group_name>
は、ワークスペースのリソース グループです。<workspace_name>
は、ワークスペースの名前です。<table_name>
は、データを読み取るユーザーまたはグループのアクセス許可を割り当てるテーブルの名前です。
- 任意の GUID ジェネレーターを使用して、
テーブル レベルの読み取りアクセスを設定する従来の方法
Azure カスタム ロールを使用すると、ワークスペース内の特定のテーブルへのアクセス権を特定のユーザーまたはグループに付与できます。 Azure カスタム ロールは、ユーザーのアクセス モードとは関係なく、ワークスペースコンテキストまたはリソースコンテキストどちらかのアクセス制御モードのワークスペースに適用されます。
特定のテーブルへのアクセスを定義するには、カスタム ロールを作成します。
- ロール定義の [アクション] セクションでユーザーのアクセス許可を設定します。
- すべてのテーブルへのアクセス権を付与するために
Microsoft.OperationalInsights/workspaces/query/*
を使用します。 - [アクション] でワイルドカードを使用するときに特定のテーブルへのアクセスを除外するには、ロール定義の [NotActions] セクションで除外されたテーブルを一覧表示します。
例
特定のテーブルへのアクセス権を付与および拒否するカスタム ロール アクションの例を次に示します。
Heartbeat および AzureActivity テーブルへのアクセス権を付与します。
"Actions": [
"Microsoft.OperationalInsights/workspaces/read",
"Microsoft.OperationalInsights/workspaces/query/read",
"Microsoft.OperationalInsights/workspaces/query/Heartbeat/read",
"Microsoft.OperationalInsights/workspaces/query/AzureActivity/read"
],
SecurityBaseline テーブルのみへのアクセス権を付与します。
"Actions": [
"Microsoft.OperationalInsights/workspaces/read",
"Microsoft.OperationalInsights/workspaces/query/read",
"Microsoft.OperationalInsights/workspaces/query/SecurityBaseline/read"
],
SecurityAlert テーブル以外のすべてのテーブルへのアクセス権を付与します。
"Actions": [
"Microsoft.OperationalInsights/workspaces/read",
"Microsoft.OperationalInsights/workspaces/query/read",
"Microsoft.OperationalInsights/workspaces/query/*/read"
],
"notActions": [
"Microsoft.OperationalInsights/workspaces/query/SecurityAlert/read"
],
カスタム テーブル
カスタム テーブルは、テキスト ログや HTTP Data Collector API などのデータ ソースから収集するデータを保存します。 テーブルの種類を識別するには、Log Analytics でテーブル情報を表示します。
注意
ログ インジェスト API によって作成されるテーブルでは、テーブル レベルの RBAC はまだサポートされていません。
個々のカスタムレベルでの カスタムログ テーブル に対するアクセス権は付与できませんが、すべてのカスタム ログ テーブルに対するアクセス権を付与することはできます。 すべてのカスタム ログ テーブルへのアクセス権を持つロールを作成するには、次の操作を使用してカスタム ロールを作成します。
"Actions": [
"Microsoft.OperationalInsights/workspaces/read",
"Microsoft.OperationalInsights/workspaces/query/read",
"Microsoft.OperationalInsights/workspaces/query/Tables.Custom/read"
],
カスタム ログへのアクセスを管理するもうひとつのアプローチは、それを Azure リソースに割り当て、リソース コンテキストのアクセス制御を使用してアクセスを管理することです。 HTTP データ コレクター API を介してデータを Log Analytics に取り込む際、x-ms-AzureResourceId で指定してリソース ID を含める必要があります。 リソース ID は有効で、アクセス規則が適用されていなくてはなりません。 ログが取り込まれた後、リソースの読み取りアクセスのあるユーザーがログにアクセスできます。
カスタム ログは、特定のリソースに直接関連付けられていないソースから取得されることがあります。 この場合は、このようなログへのアクセスを管理するためにリソース グループを作成します。 リソース グループにはコストはかかりませんが、カスタム ログへのアクセスを制御するための有効なリソース ID が付与されます。
たとえば、特定のファイアウォールがカスタムログを送信している場合は、MyFireWallLogs という名前のリソース グループを作成します。 API 要求に MyFireWallLogs のリソース ID が含まれていることを確認します。 その後、ファイアウォールのログ レコードは、MyFireWallLogs へのアクセス権が付与されたユーザー、またはワークスペースへのフル アクセスを持つユーザーのみがアクセスできます。
考慮事項
- */read アクションを含む標準の閲覧者ロールまたは共同作成者ロールを使用してグローバル読み取りアクセス許可がユーザーに付与されると、テーブルごとのアクセス制御がオーバーライドされ、ユーザーにすべてのログへのアクセス権が付与されます。
- テーブルごとのアクセス権がユーザーに付与されているが、その他のアクセス権は付与されていない場合、ユーザーは API からはログ データにアクセスできますが、Azure portal からはアクセスできません。 Azure portal からアクセス権を提供するには、基本ロールとして Log Analytics 閲覧者を使用します。
- サブスクリプションの管理者と所有者は、他のすべてのアクセス許可設定に関係なくすべてのデータ型に対するアクセス権を持ちます。
- ワークスペース所有者は、テーブルとごのアクセス制御では他のすべてのユーザーと同様に扱われます。
- 割当て数を減らすために、ロールは個々のユーザーではなくセキュリティ グループに割り当てます。 この方法は、既存のグループ管理ツールを使用して、アクセス権を構成および確認する際にも役立ちます。
次のステップ
- Log Analytics エージェントの概要に関するページを参照して、データセンターや他のクラウド環境内のコンピューターからデータを収集します。
- 「Azure Virtual Machines に関するデータの収集」を参照して、Azure VM からのデータ コレクションを構成します。