设置 Azure 托管 Grafana 身份验证和权限
为了处理数据,Azure 托管 Grafana 需要有权访问数据源。 本指南介绍如何在创建 Azure 托管 Grafana 实例期间设置身份验证,以便 Grafana 可以使用系统分配的托管标识或服务主体访问数据源。 本指南还介绍了用于在目标订阅上添加“监视读取者”角色分配的选项。
先决条件
具有活动订阅的 Azure 帐户。 创建帐户。
登录 Azure
使用 Azure 门户或 Azure CLI 登录到 Azure。
打开 CLI 并运行 az login
命令以登录到 Azure。
az cloud set -n AzureChinaCloud
az login
此命令将提示 Web 浏览器启动和加载 Azure 登录页。
在创建实例期间设置身份验证和权限
使用 Azure 门户 或 CLI 创建工作区。
在主页的左上角,选择“创建资源” 。 在“搜索资源、服务和文档(G+/)”框中,输入“Azure 托管 Grafana”并选择“Azure 托管 Grafana”。
选择“创建” 。
在“基本信息”窗格中,输入以下设置。
设置 |
说明 |
示例 |
订阅 ID |
选择要使用的 Azure 订阅。 |
my-subscription |
资源组名称 |
为 Azure 托管 Grafana 资源创建资源组。 |
my-resource-group |
位置 |
使用“位置”指定要在其中托管资源的地理位置。 请选择最靠近你的位置。 |
中国北部 3 |
名称 |
输入唯一的资源名称。 它将用作托管 Grafana 实例 URL 中的域名。 |
my-grafana |
定价计划 |
在 Essential(预览版)和标准计划之间进行选择。 标准层提供了其他功能。 有关定价计划的详细信息。 |
Essential(预览版) |
保留所有其他默认值,然后选择选项卡“权限”,以控制对 Grafana 实例和数据源的访问权限:
查看以下用于管理 Azure 托管 Grafana 中的数据源访问权限的不同方法。
在启用了托管标识的情况下
系统分配的托管标识是提供给拥有订阅“所有者”或“用户访问管理员”角色的所有用户的默认身份验证方法。
注意
在“权限”选项卡中,如果 Azure 显示消息“必须是订阅‘所有者’或‘用户访问管理员’才能使用此功能。”,请转到本文档的下一部分,了解如何在系统分配的托管标识已禁用的情况下设置 Azure 托管 Grafana。
默认情况下,“系统分配的托管标识”框设置为“启用”。
“在目标订阅上使用‘监视读取者’角色向此标识添加角色分配”框默认已选中。 如果取消选中此框,则需要在以后为 Azure 托管 Grafana 手动添加角色分配。 有关参考内容,请访问修改对 Azure Monitor 的访问权限。
“Grafana 管理员角色”下的“包括自己”框默认已选中。 (可选)选择“添加”以向更多成员授予 Grafana 管理员角色。
在禁用了托管标识的情况下
Azure 托管 Grafana 还可以在禁用了托管标识的情况下访问数据源。 你可以使用客户端 ID 和机密,利用服务主体进行身份验证。
在“权限”选项卡中,将“系统分配的托管标识”框设置为“关”。 “在目标订阅上使用‘监视读取者’角色向此标识添加角色分配”行自动灰显。
在“Grafana 管理员角色”下,如果你有该订阅的“所有者”或“用户访问管理员”角色,则“包括自己”框默认已选中。 (可选)选择“添加”以向更多成员授予 Grafana 管理员角色。 如果你没有必要的角色,则无法自行管理 Grafana 访问权限。
注意
禁用系统分配的托管标识会对 Azure 托管 Grafana 实例禁用 Azure Monitor 数据源插件。 在这种情况下,请使用服务主体(而不是 Azure Monitor)访问数据源。
查看并创建新实例
选择“查看 + 创建”选项卡。验证运行后,选择“创建”。 Azure 托管 Grafana 资源正在部署。
运行下面的 az group create 命令以创建资源组来组织所需的 Azure 资源。 如果已有要使用的资源组,请跳过此步骤。
参数 |
说明 |
示例 |
--name |
为新资源组选择唯一的名称。 |
grafana-rg |
--location |
选择托管 Grafana 可用的 Azure 区域。 有关详细信息,请转到可用产品(按区域)。 |
chinanorth3 |
az group create --location <location> --name <resource-group-name>
注意
Azure 托管 Grafana 的 CLI 体验是 Azure CLI(2.30.0 或更高版本)的 amg 扩展的一部分。 首次运行 az grafana
命令时,该扩展将自动安装。
在启用了托管标识的情况下
系统分配的托管标识是 Azure 托管 Grafana 的默认身份验证方法。 运行下面的 az grafana create 命令可使用系统分配的托管标识创建 Azure 托管 Grafana 实例。
如果你在此订阅上具有所有者或管理员角色:
参数 |
说明 |
示例 |
--name |
为新的托管 Grafana 实例选择唯一名称。 |
grafana-test |
--resource-group |
为托管 Grafana 实例选择资源组。 |
my-resource-group |
az grafana create --name <managed-grafana-resource-name> --resource-group <resource-group-name>
如果你在此订阅上没有所有者或管理员角色:
参数 |
说明 |
示例 |
--name |
为新的托管 Grafana 实例选择唯一名称。 |
grafana-test |
--resource-group |
为托管 Grafana 实例选择资源组。 |
my-resource-group |
--skip-role-assignment |
如果你在此订阅上没有所有者或管理员角色,请输入 true 以跳过角色分配。 跳过角色分配可让你在不具有分配权限所需的角色的情况下创建实例。 |
--skip-role-assignment true |
az grafana create --name <managed-grafana-resource-name> --resource-group <resource-group-name> --skip-role-assignment true
注意
你必须在订阅上拥有所有者或管理员角色才能使用系统分配的托管标识身份验证方法。 如果你没有必要的角色,请转到下一部分,了解如何在禁用了系统分配的托管标识的情况下创建 Azure 托管 Grafana 实例。
在禁用了托管标识的情况下
Azure 托管 Grafana 还可以在禁用了托管标识的情况下访问数据源。 你可以使用客户端 ID 和机密(而不是托管标识),利用服务主体进行身份验证。 若要使用此方法,请运行以下命令:
参数 |
说明 |
示例 |
--name |
为新的托管 Grafana 实例选择唯一名称。 |
grafana-test |
--resource-group |
为托管 Grafana 实例选择资源组。 |
my-resource-group |
--skip-system-assigned-identity |
输入 true 可禁用系统分配的标识。 系统分配的托管标识是 Azure 托管 Grafana 的默认身份验证方法。 如果不想使用系统分配的托管标识,请使用此选项。 |
--skip-system-assigned-identity true |
--skip-role-assignment |
如果你在此订阅上没有所有者或管理员角色,请输入 true 以跳过角色分配。 跳过角色分配可让你在不具有分配权限所需的角色的情况下创建实例。 |
--skip-role-assignment true |
az grafana create --name <managed-grafana-resource-name> --resource-group <resource-group-name> --skip-role-assignment true --skip-system-assigned-identity true
注意
禁用系统分配的托管标识会对 Azure 托管 Grafana 实例禁用 Azure Monitor 数据源插件。 在这种情况下,请使用服务主体(而不是 Azure Monitor)访问数据源。
部署完成后,命令行的输出中会显示一条说明,指出实例已成功创建,同时提供有关部署的其他信息。
更新身份验证和权限
创建工作区后,可为 Azure 托管 Grafana 启用或禁用系统分配的托管标识并更新 Azure 角色分配。
在Azure 门户的左侧菜单中的“设置”下,选择“标识”。
将“系统分配”状态设置为“禁用”以停用系统分配的托管标识,或将其设置为“启用”以激活此身份验证方法。
在“权限”下,选择“Azure 角色分配”以设置 Azure 角色。
完成后,选择“保存”
注意
禁用系统分配的托管标识是不可逆的。 如果将来重新启用该标识,Azure 将创建一个新的标识。
后续步骤