You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求创建托管专用端点实现Azure托管Grafana私有访问Azure Monitor的Bicep脚本

Azure托管Grafana私有访问Azure Monitor账户的Bicep实现

要让Azure托管Grafana访问无公共端点的Azure Monitor账户,核心是为Grafana配置托管专用端点(Managed Private Endpoint),而非单独创建普通专用端点资源。以下是完整可运行的Bicep脚本:

完整Bicep代码

// 可自定义的参数,按需修改
param location string = resourceGroup().location
param grafanaName string = 'mg-global'
param monitorWorkspaceName string = '<你的Azure Monitor账户名称>'
param subnetId string = '<目标子网资源ID>'

// 创建Azure托管Grafana实例
resource managedGrafana 'Microsoft.Dashboard/grafana@2023-09-01' = {
  name: grafanaName
  location: location
  sku: {
    name: 'Standard'
  }
  // 启用系统分配身份,用于权限验证
  identity: {
    type: 'SystemAssigned'
  }
  properties: {
    apiKey: 'Disabled'
    // 禁用公网访问,强制走私有链路
    publicNetworkAccess: 'Disabled'
    // 关联Azure Monitor工作区
    grafanaIntegrations: {
      azureMonitorWorkspaceIntegrations: [
        {
          azureMonitorWorkspaceResourceId: resourceId('Microsoft.Monitor/accounts', monitorWorkspaceName)
        }
      ]
    }
    // 配置托管专用端点,连接到Azure Monitor账户
    managedPrivateEndpoints: [
      {
        name: 'pe-grafana-monitor'
        properties: {
          // 目标Azure Monitor账户的资源ID
          privateLinkResourceId: resourceId('Microsoft.Monitor/accounts', monitorWorkspaceName)
          // Azure Monitor账户对应的私有链接组ID,固定值
          groupIds: [
            'azureMonitorWorkspace'
          ]
          // 指定专用端点部署的子网
          subnet: {
            id: subnetId
          }
        }
      }
    ]
  }
}

// 必须配置:为Grafana系统身份分配Azure Monitor读取权限,否则无法拉取数据
var monitorReaderRoleId = '73c42c96-874c-492b-b04d-ab87d138a893' // 监控读取者角色固定ID
resource grafanaMonitorRoleAssignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = {
  name: guid(managedGrafana.id, monitorReaderRoleId, monitorWorkspaceName)
  scope: resourceId('Microsoft.Monitor/accounts', monitorWorkspaceName)
  properties: {
    roleDefinitionId: resourceId('Microsoft.Authorization/roleDefinitions', monitorReaderRoleId)
    principalId: managedGrafana.identity.principalId
    principalType: 'ServicePrincipal'
  }
}

关键说明

  • 托管专用端点的优势:直接在Grafana资源内定义,由Azure托管Grafana服务自动管理生命周期,无需手动维护普通专用端点资源,完全匹配门户配置的逻辑。
  • 版本兼容性:使用2023-09-01版本的Grafana API,确保managedPrivateEndpoints属性被支持。
  • 权限必填项:系统身份的读取权限是数据拉取的前提,不可省略。

内容的提问来源于stack exchange,提问作者Christian Vorhemus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 01:45:33