Azure Monitor での役割、アクセス許可、およびセキュリティの使用Get started with roles, permissions, and security with Azure Monitor

注意

この記事は、新しい Azure PowerShell Az モジュールを使用するために更新されました。This article has been updated to use the new Azure PowerShell Az module. AzureRM モジュールはまだ使用でき、少なくとも 2020 年 12 月までは引き続きバグ修正が行われます。You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Az モジュールと AzureRM の互換性の詳細については、「Introducing the new Azure PowerShell Az module (新しい Azure PowerShell Az モジュールの概要)」を参照してください。To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Az モジュールのインストール手順については、Azure PowerShell のインストールを参照してください。For Az module installation instructions, see Install Azure PowerShell.

チームの多くが、監視データおよび設定へのアクセスを厳密に管理する必要があります。Many teams need to strictly regulate access to monitoring data and settings. たとえば、チームの中に監視のみを行うメンバー (サポート エンジニア、DevOps エンジニア) がいる場合、またはマネージド サービス プロバイダーを使用する場合は、監視データへのアクセス権のみを付与し、リソースを作成、変更、削除する機能については制限が必要になることがあります。For example, if you have team members who work exclusively on monitoring (support engineers, DevOps engineers) or if you use a managed service provider, you may want to grant them access to only monitoring data while restricting their ability to create, modify, or delete resources. この記事では、Azure のユーザーに対して、組み込みの監視 RBAC 役割をすばやく適用する方法、または限定的な監視アクセス許可を必要とするユーザーに対して、独自のカスタム ロールを作成する方法について説明します。This article shows how to quickly apply a built-in monitoring RBAC role to a user in Azure or build your own custom role for a user who needs limited monitoring permissions. その後、Azure Monitor 関連のリソースのセキュリティに関する考慮事項と、そのリソースに含まれるデータへのアクセスを制限する方法を取り上げます。It then discusses security considerations for your Azure Monitor-related resources and how you can limit access to the data they contain.

組み込みの監視の役割Built-in monitoring roles

Azure Monitor に組み込まれた役割は、サブスクリプションのリソースへのアクセスを制限しながら、インフラストラクチャの監視担当者が引き続き、必要なデータを取得して構成できるように設計されています。Azure Monitor’s built-in roles are designed to help limit access to resources in a subscription while still enabling those responsible for monitoring infrastructure to obtain and configure the data they need. Azure Monitor には、すぐに使用できる役割として、監視閲覧者と監視共同作成者の 2 つが用意されています。Azure Monitor provides two out-of-the-box roles: A Monitoring Reader and a Monitoring Contributor.

Monitoring ReaderMonitoring Reader

監視閲覧者の役割が割り当てられている場合は、サブスクリプション内の監視データすべてを表示できますが、リソースを変更したり、監視リソースに関連する設定を編集したりすることはできません。People assigned the Monitoring Reader role can view all monitoring data in a subscription but cannot modify any resource or edit any settings related to monitoring resources. この役割は、次の作業を行う必要がある、サポート エンジニア、運用エンジニアなどの組織内のユーザーに適しています。This role is appropriate for users in an organization, such as support or operations engineers, who need to be able to:

  • ポータルで監視ダッシュボードを表示し、独自のプライベート監視ダッシュボードを作成する。View monitoring dashboards in the portal and create their own private monitoring dashboards.
  • Azure アラートに定義されているアラート ルールを表示する。View alert rules defined in Azure Alerts
  • Azure Monitor REST APIPowerShell コマンドレット、またはクロスプラットフォーム CLI を使用して、メトリックにクエリを実行する。Query for metrics using the Azure Monitor REST API, PowerShell cmdlets, or cross-platform CLI.
  • ポータル、Azure Monitor REST API、PowerShell コマンドレット、またはクロスプラットフォーム CLI を使用して、アクティビティ ログにクエリを実行する。Query the Activity Log using the portal, Azure Monitor REST API, PowerShell cmdlets, or cross-platform CLI.
  • リソースの 診断設定 を表示する。View the diagnostic settings for a resource.
  • サブスクリプションの ログ プロファイル を表示する。View the log profile for a subscription.
  • 自動スケールの設定を表示する。View autoscale settings.
  • アラート アクティビティと設定を表示する。View alert activity and settings.
  • Application Insights データにアクセスし、AI Analytics のデータを表示する。Access Application Insights data and view data in AI Analytics.
  • ワークスペースの使用状況データなど、Log Analytics ワークスペースのデータを検索する。Search Log Analytics workspace data including usage data for the workspace.
  • Log Analytics 管理グループを表示する。View Log Analytics management groups.
  • Log Analytics ワークスペースの検索スキーマを取得する。Retrieve the search schema in Log Analytics workspace.
  • Log Analytics ワークスペースの監視パックの一覧を表示する。List monitoring packs in Log Analytics workspace.
  • Log Analytics ワークスペースに保存済みの検索を取得および実行する。Retrieve and execute saved searches in Log Analytics workspace.
  • Log Analytics ワークスペースのストレージ構成を取得する。Retrieve the Log Analytics workspace storage configuration.

注意

この役割では、イベント ハブにストリーミングされたログ データ、またはストレージ アカウントに保存されたログ データへの読み取りアクセス権は付与されません。This role does not give read access to log data that has been streamed to an event hub or stored in a storage account. 以下を参照 してください。See below for information on configuring access to these resources.

Monitoring ContributorMonitoring Contributor

監視共同作業者の役割が割り当てられている場合、サブスクリプション内の監視データすべてを表示し、監視の設定を作成または変更できます。ただし、他のリソースについては何も変更することはできません。People assigned the Monitoring Contributor role can view all monitoring data in a subscription and create or modify monitoring settings, but cannot modify any other resources. この役割は監視閲覧者の役割のスーパーセットで、上記のアクセス許可以外に次の作業を行う必要がある、組織の監視チームまたはマネージド サービス プロバイダーのメンバーに適しています。This role is a superset of the Monitoring Reader role, and is appropriate for members of an organization’s monitoring team or managed service providers who, in addition to the permissions above, also need to be able to:

  • 共有ダッシュボードとして監視ダッシュボードを発行する。Publish monitoring dashboards as a shared dashboard.
  • リソースの診断設定を設定する。*Set diagnostic settings for a resource.*
  • サブスクリプションのログ プロファイルを設定する。*Set the log profile for a subscription.*
  • Azure アラートを使用して、アラート ルール アクティビティと設定を指定する。Set alert rules activity and settings via Azure Alerts.
  • Application Insights の Web テストとコンポーネントを作成する。Create Application Insights web tests and components.
  • Log Analytics ワークスペースの共有キーを一覧表示する。List Log Analytics workspace shared keys.
  • Log Analytics ワークスペースの監視パックを有効または無効にする。Enable or disable monitoring packs in Log Analytics workspace.
  • Log Analytics ワークスペースに保存する検索を作成し、それらの削除および実行を行う。Create and delete and execute saved searches in Log Analytics workspace.
  • Log Analytics ワークスペースのストレージ構成を作成および削除する。Create and delete the Log Analytics workspace storage configuration.

*診断設定またはログ プロファイルを設定するには、ターゲット リソース (ストレージ アカウントまたはイベント ハブ名前空間) で、ListKeys アクセス許可がユーザーに対して個別に付与されている必要があります。*user must also separately be granted ListKeys permission on the target resource (storage account or event hub namespace) to set a log profile or diagnostic setting.

注意

この役割では、イベント ハブにストリーミングされたログ データ、またはストレージ アカウントに保存されたログ データへの読み取りアクセス権は付与されません。This role does not give read access to log data that has been streamed to an event hub or stored in a storage account. 以下を参照 してください。See below for information on configuring access to these resources.

アクセス許可とカスタムの RBAC 役割の監視Monitoring permissions and custom RBAC roles

上記の組み込みの役割がチームの正確なニーズに対応していない場合は、 カスタム RBAC 役割を作成 して、さらに細かくアクセス許可を指定できます。If the above built-in roles don’t meet the exact needs of your team, you can create a custom RBAC role with more granular permissions. 一般的な Azure Monitor RBAC 操作とその説明を次に示します。Below are the common Azure Monitor RBAC operations with their descriptions.

OperationOperation 説明Description
Microsoft.Insights/ActionGroups/[Read, Write, Delete]Microsoft.Insights/ActionGroups/[Read, Write, Delete] アクション グループの読み取り/書き込み/削除を実行します。Read/write/delete action groups.
Microsoft.Insights/ActivityLogAlerts/[Read, Write, Delete]Microsoft.Insights/ActivityLogAlerts/[Read, Write, Delete] アクティビティ ログ アラートの読み取り/書き込み/削除を実行します。Read/write/delete activity log alerts.
Microsoft.Insights/AlertRules/[Read、Write、Delete]Microsoft.Insights/AlertRules/[Read, Write, Delete] (クラシック アラートの) アラート ルール の読み取り/書き込み/削除を実行します。Read/write/delete alert rules (from alerts classic).
Microsoft.Insights/AlertRules/Incidents/ReadMicrosoft.Insights/AlertRules/Incidents/Read アラート ルールのインシデント (トリガーされたアラート ルールの履歴) を一覧表示します。List incidents (history of the alert rule being triggered) for alert rules. これは、ポータルにのみ適用されます。This only applies to the portal.
Microsoft.Insights/AutoscaleSettings/[Read、Write、Delete]Microsoft.Insights/AutoscaleSettings/[Read, Write, Delete] 自動スケール設定の読み取り/書き込み/削除を実行します。Read/write/delete autoscale settings.
Microsoft.Insights/DiagnosticSettings/[Read、Write、Delete]Microsoft.Insights/DiagnosticSettings/[Read, Write, Delete] 診断設定の読み取り/書き込み/削除を実行します。Read/write/delete diagnostic settings.
Microsoft.Insights/EventCategories/ReadMicrosoft.Insights/EventCategories/Read アクティビティ ログの考えられるすべてのカテゴリを列挙します。Enumerate all categories possible in the Activity Log. Azure Portal で使用されます。Used by the Azure portal.
Microsoft.Insights/eventtypes/digestevents/ReadMicrosoft.Insights/eventtypes/digestevents/Read このアクセス許可は、ポータルを使用してアクティビティ ログにアクセスする必要があるユーザーに必要です。This permission is necessary for users who need access to Activity Logs via the portal.
Microsoft.Insights/eventtypes/values/ReadMicrosoft.Insights/eventtypes/values/Read サブスクリプションのアクティビティ ログのイベント (管理イベント) を一覧表示します。List Activity Log events (management events) in a subscription. このアクセス許可は、アクティビティ ログへのプログラムによるアクセスとポータル アクセスの両方に適用されます。This permission is applicable to both programmatic and portal access to the Activity Log.
Microsoft.Insights/ExtendedDiagnosticSettings/[Read, Write, Delete]Microsoft.Insights/ExtendedDiagnosticSettings/[Read, Write, Delete] ネットワーク フロー ログの診断設定の読み取り/書き込み/削除を実行します。Read/write/delete diagnostic settings for network flow logs.
Microsoft.Insights/LogDefinitions/ReadMicrosoft.Insights/LogDefinitions/Read このアクセス許可は、ポータルを使用してアクティビティ ログにアクセスする必要があるユーザーに必要です。This permission is necessary for users who need access to Activity Logs via the portal.
Microsoft.Insights/LogProfiles/[Read, Write, Delete]Microsoft.Insights/LogProfiles/[Read, Write, Delete] ログ プロファイル (イベント ハブまたはストレージ アカウントへのアクティビティ ログのストリーミング) の読み取り/書き込み/削除を実行します。Read/write/delete log profiles (streaming Activity Log to event hub or storage account).
Microsoft.Insights/MetricAlerts/[Read, Write, Delete]Microsoft.Insights/MetricAlerts/[Read, Write, Delete] ほぼリアルタイムのメトリック アラートの読み取り/書き込み/削除を実行します。Read/write/delete near real-time metric alerts
Microsoft.Insights/MetricDefinitions/ReadMicrosoft.Insights/MetricDefinitions/Read メトリック定義 (リソースの使用可能なメトリックの種類の一覧) を読み取ります。Read metric definitions (list of available metric types for a resource).
Microsoft.Insights/Metrics/ReadMicrosoft.Insights/Metrics/Read リソースのメトリックを読み取ります。Read metrics for a resource.
Microsoft.Insights/Register/ActionMicrosoft.Insights/Register/Action Azure Monitor リソース プロバイダーを登録します。Register the Azure Monitor resource provider.
Microsoft.Insights/ScheduledQueryRules/[Read, Write, Delete]Microsoft.Insights/ScheduledQueryRules/[Read, Write, Delete] Azure Monitor のログ アラートを読み取り/書き込み/削除します。Read/write/delete log alerts in Azure Monitor.

注意

リソースのアラート、診断設定、およびメトリックにアクセスするユーザーには、そのリソースの種類とスコープへの読み取りアクセスが必要です。Access to alerts, diagnostic settings, and metrics for a resource requires that the user has Read access to the resource type and scope of that resource. ストレージ アカウントにアーカイブする、またはイベント ハブにストリーミングする診断設定やログ プロファイルを作成する ("書き込む") ユーザーには、ターゲット リソースにおける ListKeys アクセス許可も必要です。Creating (“write”) a diagnostic setting or log profile that archives to a storage account or streams to event hubs requires the user to also have ListKeys permission on the target resource.

たとえば、上記の表を使用すると、"アクティビティ ログ閲覧者" に対して、次のようなカスタム RBAC 役割を作成できます。For example, using the above table you could create a custom RBAC role for an “Activity Log Reader” like this:

$role = Get-AzRoleDefinition "Reader"
$role.Id = $null
$role.Name = "Activity Log Reader"
$role.Description = "Can view activity logs."
$role.Actions.Clear()
$role.Actions.Add("Microsoft.Insights/eventtypes/*")
$role.AssignableScopes.Clear()
$role.AssignableScopes.Add("/subscriptions/mySubscription")
New-AzRoleDefinition -Role $role 

データ監視のセキュリティに関する考慮事項Security considerations for monitoring data

監視データ、特にログ ファイルには、IP アドレス、ユーザー名などの機密情報が含まれている場合があります。Monitoring data—particularly log files—can contain sensitive information, such as IP addresses or user names. Azure の監視データは、次の 3 つの基本フォームで提供されます。Monitoring data from Azure comes in three basic forms:

  1. アクティビティ ログ。Azure サブスクリプションのすべてのコントロール プレーン アクションが記述されています。The Activity Log, which describes all control-plane actions on your Azure subscription.
  2. 診断ログ。リソースによって出力されるログです。Diagnostic Logs, which are logs emitted by a resource.
  3. メトリック。リソースによって出力されます。Metrics, which are emitted by resources.

この 3 つのデータ型はすべて、ストレージ アカウントに保存するか、Event Hub にストリーミングできます。このストレージ アカウントと Event Hub は両方とも 汎用 Azure リソースです。All three of these data types can be stored in a storage account or streamed to Event Hub, both of which are general-purpose Azure resources. このような汎用リソースに作成、削除、およびアクセスするには、管理者のために予約された特権が必要です。Because these are general-purpose resources, creating, deleting, and accessing them is a privileged operation reserved for an administrator. 監視関連のリソースの場合、誤用を防ぐために、以下を実践することをお勧めします。We suggest that you use the following practices for monitoring-related resources to prevent misuse:

  • 1 つの専用ストレージ アカウントを使用して、データを監視します。Use a single, dedicated storage account for monitoring data. 複数のストレージ アカウントに監視データを分割する必要がある場合は、ストレージ アカウントの使用状況を、監視データと監視対象外データで共有しないでください。監視データ (サード パーティ SIEM など) にのみアクセスする必要があるユーザーに対して、監視対象外データへのアクセス権が誤って付与されることがあります。If you need to separate monitoring data into multiple storage accounts, never share usage of a storage account between monitoring and non-monitoring data, as this may inadvertently give those who only need access to monitoring data (for example, a third-party SIEM) access to non-monitoring data.
  • 1 つの専用 Service Bus または Event Hub 名前空間を使用します。Use a single, dedicated Service Bus or Event Hub namespace across all diagnostic settings for the same reason as above.
  • 監視関連のストレージ アカウントまたはイベント ハブを別のリソース グループに保持することで、そのストレージ アカウントとイベント ハブへのアクセスを制限したうえで、監視の役割の スコープを使用して 、アクセスをそのリソース グループだけに限定します。Limit access to monitoring-related storage accounts or event hubs by keeping them in a separate resource group, and use scope on your monitoring roles to limit access to only that resource group.
  • ユーザーによるアクセス対象が監視データだけの場合、ListKeys アクセス許可は、サブスクリプション スコープでストレージ アカウントまたはイベント ハブに付与しないでください。Never grant the ListKeys permission for either storage accounts or event hubs at subscription scope when a user only needs access to monitoring data. 代わりに、このアクセス許可は、リソースまたはリソース グループ (専用監視リソース グループの場合) スコープでユーザーに付与します。Instead, give these permissions to the user at a resource or resource group (if you have a dedicated monitoring resource group) scope.

ユーザーまたはアプリケーションがストレージ アカウントの監視データにアクセスする必要がある場合は、Blob Storage へのサービス レベルの読み取り専用アクセスが付与されている、監視データが含まれるストレージ アカウントで、 アカウント SAS を生成 します。When a user or application needs access to monitoring data in a storage account, you should generate an Account SAS on the storage account that contains monitoring data with service-level read-only access to blob storage. PowerShell では次のようになります。In PowerShell, this might look like:

$context = New-AzStorageContext -ConnectionString "[connection string for your monitoring Storage Account]"
$token = New-AzStorageAccountSASToken -ResourceType Service -Service Blob -Permission "rl" -Context $context

その後、ストレージ アカウントからの読み取りが必要なエンティティにトークンを割り当てることができます。これにより、そのストレージ アカウントのすべての BLOB からの表示と読み取りが可能になります。You can then give the token to the entity that needs to read from that storage account, and it can list and read from all blobs in that storage account.

また、このアクセス許可を RBAC で制御する必要がある場合は、そのエンティティに、特定のストレージ アカウントの Microsoft.Storage/storageAccounts/listkeys/action 権限を付与します。Alternatively, if you need to control this permission with RBAC, you can grant that entity the Microsoft.Storage/storageAccounts/listkeys/action permission on that particular storage account. これは、診断設定またはログ プロファイルを、ストレージ アカウントにアーカイブされるように設定しなければならないユーザーに必要です。This is necessary for users who need to be able to set a diagnostic setting or log profile to archive to a storage account. たとえば、1 つのストレージ アカウントからの読み取りのみが必要なユーザーまたはアプリケーションに対しては、次のカスタム RBAC 役割を作成できます。For example, you could create the following custom RBAC role for a user or application that only needs to read from one storage account:

$role = Get-AzRoleDefinition "Reader"
$role.Id = $null
$role.Name = "Monitoring Storage Account Reader"
$role.Description = "Can get the storage account keys for a monitoring storage account."
$role.Actions.Clear()
$role.Actions.Add("Microsoft.Storage/storageAccounts/listkeys/action")
$role.Actions.Add("Microsoft.Storage/storageAccounts/Read")
$role.AssignableScopes.Clear()
$role.AssignableScopes.Add("/subscriptions/mySubscription/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myMonitoringStorageAccount")
New-AzRoleDefinition -Role $role 

警告

ListKeys アクセス許可により、ユーザーがプライマリ ストレージ アカウントとセカンダリ ストレージ アカウントのキーの一覧を表示できます。The ListKeys permission enables the user to list the primary and secondary storage account keys. これらのキーは、そのストレージ アカウントのすべての署名済みサービス (BLOB、キュー、テーブル、ファイル) にわたる、すべての署名済みアクセス許可 (読み取り、書き込み、BLOB の作成、BLOB の削除など) を、ユーザーに付与します。These keys grant the user all signed permissions (read, write, create blobs, delete blobs, etc.) across all signed services (blob, queue, table, file) in that storage account. 可能な場合は、前述したアカウント SAS を使用することをお勧めします。We recommend using an Account SAS described above when possible.

同様のパターンの後にイベント ハブを続けることができますが、最初は、専用 Listen 承認規則を作成する必要があります。A similar pattern can be followed with event hubs, but first you need to create a dedicated Listen authorization rule. 監視関連のイベント ハブのリッスンのみが必要なアプリケーションについて、アクセス権を付与する必要がある場合は、次の操作を行います。If you want to grant, access to an application that only needs to listen to monitoring-related event hubs, do the following:

  1. Listen 要求のみの監視データをストリーミングするために、作成されたイベント ハブで共有アクセス ポリシーを作成します。Create a shared access policy on the event hub(s) that were created for streaming monitoring data with only Listen claims. この操作は、ポータルで行うことができます。This can be done in the portal. たとえば、これを "monitoringReadOnly" と呼ぶとします。For example, you might call it “monitoringReadOnly.” 可能な場合は、そのキーをコンシューマーに直接提供し、次の手順をスキップします。If possible, you will want to give that key directly to the consumer and skip the next step.

  2. コンシューマーがアドホックでキーを取得する必要がある場合は、そのイベント ハブの ListKeys アクションをユーザーに付与します。If the consumer needs to be able to get the key ad hoc, grant the user the ListKeys action for that event hub. これは、診断設定またはログ プロファイルを、イベント ハブにストリーミングされるように設定しなければならないユーザーにも必要です。This is also necessary for users who need to be able to set a diagnostic setting or log profile to stream to event hubs. たとえば、RBAC ルールを作成する場合があります。For example, you might create an RBAC rule:

    $role = Get-AzRoleDefinition "Reader"
    $role.Id = $null
    $role.Name = "Monitoring Event Hub Listener"
    $role.Description = "Can get the key to listen to an event hub streaming monitoring data."
    $role.Actions.Clear()
    $role.Actions.Add("Microsoft.ServiceBus/namespaces/authorizationrules/listkeys/action")
    $role.Actions.Add("Microsoft.ServiceBus/namespaces/Read")
    $role.AssignableScopes.Clear()
    $role.AssignableScopes.Add("/subscriptions/mySubscription/resourceGroups/myResourceGroup/providers/Microsoft.ServiceBus/namespaces/mySBNameSpace")
    New-AzRoleDefinition -Role $role 
    

セキュリティで保護された仮想ネットワーク内での監視Monitoring within a secured Virtual Network

有効にしたサービスを提供するには、Azure Monitor が Azure リソースにアクセスできる必要があります。Azure Monitor needs access to your Azure resources to provide the services you enable. Azure リソースを監視しながら、そのリソースがパブリック インターネットにアクセスできないようにセキュリティで保護するには、以下の設定を有効にします。If you would like to monitor your Azure resources while still securing them from access to the Public Internet, you can enable the following settings.

セキュリティで保護されたストレージ アカウントSecured Storage Accounts

多くの場合、監視データはストレージ アカウントに書き込まれます。Monitoring data is often written to a storage account. ストレージ アカウントにコピーされたデータに、権限を持たないユーザーがアクセスできないようにすることができます。You may want to make sure that the data copied to a Storage Account cannot be accessed by unauthorized users. さらにセキュリティを強化するために、"選択されたネットワーク" を使用できるストレージ アカウントを制限することによって、権限を持つリソースと信頼できる Microsoft サービスのみがストレージ アカウントにアクセスできるように、ネットワーク アクセスをロックすることができます。For additional security, you can lock down network access to only allow your authorized resources and trusted Microsoft services access to a storage account by restricting a storage account to use "selected networks". Azure Storage の [設定] ダイアログ Azure Monitor は、このような "信頼された Microsoft サービス" の 1 つと見なされます。信頼された Microsoft サービスがセキュリティで保護されたストレージにアクセスできるようにする場合、Azure Monitor にはセキュリティで保護されたストレージ アカウントへのアクセス権が付与されます。このような保護された条件下で Azure Monitor 診断ログ、アクティビティ ログ、およびメトリックをストレージ アカウントに書き込むことができます。Azure Storage Settings Dialog Azure Monitor is considered one of these "trusted Microsoft services" If you allow trusted Microsoft services to access your Secured Storage, Azure monitor will have access to your secured Storage Account; enabling writing Azure Monitor diagnostic logs, activity log, and metrics to your Storage Account under these protected conditions. これにより、Log Analytics から、セキュリティで保護されたストレージのログを読み取ることもできます。This will also enable Log Analytics to read logs from secured storage.

詳細については、ネットワーク セキュリティと Azure Storage に関するページを参照してください。For more information, see Network security and Azure Storage

次の手順Next steps