确定可在 Azure Monitor 工作区中访问哪些数据的因素包括:
- 工作区本身的设置。
- 您对发送数据至工作区的资源的访问权限。
- 访问工作区所用的方法。
本文介绍如何管理对 Azure Monitor 工作区中数据的访问。
概述
下表描述了定义可访问的数据的因素。 以下各节将进一步介绍每个因素。
| 因子 | Description | 
|---|---|
| 查询范围 | 用于查询 Azure 针对所有 Azure Monitor 工作区指标公开的 Prometheus HTTP API 的方法。 定义可用数据的范围,以及应用的访问控制模式。 | 
| 访问控制模式 | 工作区中的设置,用于定义是要在工作区级别还是资源级别应用权限。 | 
| Azure 基于角色的访问控制 (RBAC) | 应用于工作区或向工作区发送数据的资源的个人或用户组的权限。 定义你有权访问的数据。 | 
查询范围
查询范围是指如何访问 Azure Monitor 工作区并定义可以访问的数据。
有两个查询范围:
- 工作区范围:可以查看你有权访问的工作区中的所有指标。 这些查询的范围限定为你有权访问的工作区中的所有数据。 在 Azure 门户中的任何 Azure Monitor 仪表板上选择 Azure Monitor 工作区范围时,将会使用该工作区范围。 
- 资源范围:访问特定资源、资源组或订阅的指标时,例如从 Azure 门户中的资源菜单中选择 指标 时,将使用 Azure RBAC,以便仅查看有权访问的资源的指标。 根据为托管资源指标的工作区配置的访问控制模式,除了查询资源之外,可能需要直接访问工作区。 
仅当指标与相关资源关联时,指标才可用于资源范围查询。 若要检查此关联,请运行查询并验证 Microsoft.resourceid 是否已填充维度。
以下资源存在限制:
- Azure 外部的计算机:资源范围查询仅支持配置了 Azure Arc 的服务器的外部计算机。
- 
              Application Insights:仅当使用具有关联的数据收集规则 DCR 的 OpenTelemetry 指标来执行所需Microsoft.*维度的标注时,才支持资源范围的查询。
比较查询范围
下表总结了使用每个查询范围的情境和角色:
| 問题 | 工作区范围 | 资源范围 | 
|---|---|---|
| 每个模型都面向谁? | 管理中心。 需要配置数据收集和需要访问各种资源的用户的管理员。 目前,需要访问 Azure 外部资源指标的用户,例如通过远程写入发送的指标,而不需要在托管机器上启用 Azure Arc。 | 应用程序团队。 正在监视的 Azure 资源的管理员。 允许他们专注于其资源,而无需筛选。 | 
| 用户需要什么才能查看指标? | 对工作区的权限。 请参阅“ 使用工作区权限管理访问权限”中的“工作区权限”。 | 对资源的读取访问权限。 请参阅“使用 Azure 权限管理访问权限”中的“资源权限”。 权限可以从资源组或订阅继承,也可以直接分配给资源。 资源的度量权限将被自动分配。 用户不需要访问工作区。 | 
| 权限的范围是什么? | Workspace. 有权访问工作区的用户可以查询工作区中的所有指标。 | Azure 资源。 用户可以查询他们有权在任何工作区中访问的特定资源、资源组或订阅的指标,但无法查询其他资源的指标。 | 
| 用户如何访问指标? | 在 Azure Monitor 菜单上,选择 “指标”。 从 Azure Monitor 工作区中选择“指标”。 在为资源类型选择 Azure Monitor 工作区时从 Azure Monitor。 | 在 Azure 资源的菜单中选择 “指标 ”。 用户将有权访问该资源的数据。 在 Azure Monitor 菜单中选择“指标”。 用户有权访问他们有权访问的所有资源的数据。 | 
访问控制模式
访问控制模式是每个工作区的设置,用于定义如何确定工作区的权限。
- 需要工作区权限。 此控制模式不允许在资源级别进行精细的 Azure 角色访问控制 (RBAC)。 若要访问工作区,必须 向用户授予对工作区的权限。 - 当用户将查询范围限定为 工作区时,将应用工作区权限。 当用户将查询范围限定为 资源时,将验证工作区权限和资源权限。 - 此设置是 2025 年 10 月之前创建的所有工作区的默认值。 
- 使用资源或工作区权限。 此控制模式允许精细 Azure RBAC。 可以通过分配 Azure - read权限向用户授予访问权限,仅允许他们访问与他们能查看的资源相关的数据。- 当用户将查询范围限定为 工作区时,将应用工作区权限。 当用户将查询范围限定为 资源时,只会验证资源权限,并忽略工作区权限。 - 此设置是 2025 年 10 月之后创建的所有工作区的默认值。 - 注释 - 如果用户只有工作区的资源权限,则他们只能使用资源范围的查询访问工作区,前提是工作区访问模式设置为 “使用资源或工作区权限”。 权限部分详细介绍了不同方案所需的特定 Azure RBAC 权限。 
为工作区配置访问控制模式
资源管理器
若要在 Azure 资源管理器模板中配置访问模式,请将工作区上的 enableAccessUsingResourcePermissions 功能标志设置为以下值之一:
- false:将工作区设置为 工作区上下文 权限。 如果未设置标志,则此设置为默认值。 
- true:将工作区设置为 资源上下文 权限。 - 注释 - ARM 模板是目前唯一支持为 Azure Monitor 工作区配置访问控制的方法。 
Azure RBAC
使用 Azure RBAC 管理对工作区的访问。 若要使用 Azure 权限授予对 Azure Monitor 工作区的访问权限,请按照 分配 Azure 角色中的步骤管理对 Azure 订阅资源的访问权限。
内置角色
将用户分配到这些角色,以在不同的范围内授予他们访问权限:
- 订阅:访问订阅中的所有工作区
- 资源组:访问资源组中的所有工作区
- 资源:仅访问指定的工作区
在资源级别(工作区)创建分配,以确保准确的访问控制。 使用 自定义角色 创建具有所需特定权限的角色。
注释
若要向用户角色添加和删除用户,必须具有 Microsoft.Authorization/*/Delete 和 Microsoft.Authorization/*/Write 权限。
监视读取者
监视读取者角色的成员可以查看所有监视数据和监视设置,包括在所有 Azure 资源上配置 Azure 诊断。 允许成员查看有关分配范围内资源的所有数据,包括:
- 查看和查询所有监视数据(例如指标)
- 查看监视设置,包括查看所有 Azure 资源上的 Azure 诊断配置或访问控制模式的设置。
监视阅读者角色包括以下 Azure 操作:
| 类型 | 许可 | Description | 
|---|---|---|
| Action | */read | 能够使用 Microsoft.resourceid 标记查看有关该资源的所有 Azure 资源、资源配置和指标。 对于工作区,允许完全不受限制的权限读取工作区设置和查询数据。 | 
| Action | Microsoft.Support/* | 能够打开支持案例。 | 
监控贡献者
监视参与者角色的成员可以查看订阅中的所有监视数据。 它们还可以创建或修改监视设置,但不能修改任何其他资源。
此角色是监视读取者角色的超集。 它适用于组织监视团队或托管服务提供商的成员,除了前面提到的权限外,还需要:
- 读取由监视读取者角色授予的所有监控数据。
- 在门户中查看监视仪表板,并创建自己的专用监视仪表板。
- 为资源创建和编辑诊断设置。
- 使用 Azure 警报设置警报规则活动和设置。
有关角色中包含的 Azure 操作的详细列表,请参阅 监视参与者。
资源权限
若要将查询范围限定为 资源,需要对资源拥有以下权限:
| 许可 | Description | 
|---|---|
| Microsoft.Insights/metrics/*/read | 能够查看资源的所有指标数据 | 
权限
后续步骤
- 详细了解 Azure Monitor 工作区。