如何在 Azure 托管 Grafana 中使用服务帐户
本指南介绍如何使用服务帐户。 服务帐户用于通过 Grafana API 在 Grafana 中运行自动化操作以及对应用程序进行身份验证。
常见用例包括:
- 预配或配置仪表板
- 计划报告
- 定义警报
- 设置外部 SAML 身份验证提供程序
- 在不以用户身份登录的情况下与 Grafana 交互
先决条件
启用服务帐户
如果你的现有 Grafana 工作区未启用服务帐户,请通过使用 Azure 门户或 Azure CLI 更新 Grafana 实例的首选项设置来启用服务帐户。
在 Azure 门户中的“设置”下选择“配置”,然后在“API 密钥和服务帐户”下选择“启用”。
选择“保存”以确认要在 Azure 托管 Grafana 中启用 API 密钥和服务帐户。
需要 Azure 托管 Grafana CLI 扩展 0.3.0 或更高版本。 若要更新扩展,请运行 az extension update --name amg
。
运行 az grafana update 命令,在现有的 Azure 托管 Grafana 实例中启用创建 API 密钥和服务帐户的设置。 在以下命令中,将 <azure-managed-grafana-name>
替换为要更新的 Azure 托管 Grafana 实例的名称。
az grafana update --name <azure-managed-grafana-name> ---service-account Enabled
创建服务帐户
按照以下步骤创建新的 Grafana 服务帐户并列出现有的服务帐户:
转到 Grafana 实例终结点,从左侧菜单中选择“用户和访问权限”>“服务帐户”,然后选择“添加服务帐户”。
从选项“无基本角色”、“查看者”、“编辑者”或“管理员”中为新 Grafana 服务帐户输入显示名称和角色,然后选择“创建”。 默认情况下,不分配任何角色。
创建服务帐户后,Grafana 会显示有关新服务帐户的信息,包括其创建日期、现有令牌以及与其关联的权限。 将在下一步中创建第一个令牌。
(可选)从左侧菜单中选择“服务帐户”以查看 Grafana 实例中所有服务帐户的列表。
运行 az grafana service-account create
命令以创建服务帐户。 请将占位符 <azure-managed-grafana-name>
、<service-account-name>
和 <role>
替换为你自己的信息。
可用角色:Admin
、Editor
、Viewer
。
az grafana service-account create --name <azure-managed-grafana-name> --service-account <service-account-name> --role <role>
运行 az grafana service-account list
命令以获取属于给定 Azure 托管 Grafana 实例的所有服务帐户的列表。 请将 <azure-managed-grafana-name>
替换为你的 Azure 托管 Grafana 工作区名称。
az grafana service-account list --name <azure-managed-grafana-name> --output table
输出示例:
AvatarUrl IsDisabled Login Name OrgId Role Tokens
-------------------- ------------ ----------- ---------- ------- ------ --------
/avatar/abc12345678 False sa-account1 account1 1 Viewer 0
- 运行
az grafana service-account show
命令以获取服务帐户的详细信息。 请将 <azure-managed-grafana-name>
和 <service-account-name>
替换为自己的信息。
az grafana service-account show --name <azure-managed-grafana-name> --service-account <service-account-name>
添加服务帐户令牌
创建服务帐户后,请添加一个或多个访问令牌。 访问令牌是生成的字符串,用于在不使用用户名和密码的情况下使用 Grafana API 进行身份验证。 每个令牌都与特定权限相关联,允许你控制授予不同用户或应用程序的访问权限级别。 可以根据需要创建、管理和撤销令牌。
在 Grafana UI 中:
若要创建服务帐户令牌,请选择“添加服务账户令牌”。
使用自动生成的显示名称或输入所选的名称。 默认情况下,到期日期设置为创建日期后的一天。 (可选)更新建议的到期日期,或选择“无到期日期”。
选择“生成令牌”。 令牌仅显示一次,因此请确保复制并妥善保存。 如果丢失了此令牌,需要生成一个新令牌。
令牌现在列在服务帐户详细信息中。
在 Azure CLI 中:
使用 az grafana service-account token create
创建 Grafana 服务帐户令牌。 请将占位符 <azure-managed-grafana-name>
、<service-account-name>
和 <token-name>
替换为你自己的信息。
(可选)设置过期时间:
参数 |
说明 |
示例 |
--time-to-live |
默认情况下,令牌的到期时间为一天。 (可选)禁用或编辑到期时间以在给定时间之后禁用令牌。 将 s 用于秒,将 m 用于分钟,将 h 用于小时,将 d 用于天,将 w 用于周,将 M 用于月,将 y 用于年。 |
15d |
az grafana service-account token create --name <azure-managed-grafana-name> --service-account <service-account-name> --token <token-name> --time-to-live 15d
记下生成的令牌并妥善保存。 如果丢失了此令牌,需要生成一个新令牌。
运行 az grafana service-account token list
命令以获取属于给定服务帐户的所有令牌的列表。 请将占位符 <azure-managed-grafana-name>
和 <service-account-name>
替换为你自己的信息。
az grafana service-account token list --name <azure-managed-grafana-name> --service-account <service-account-name> --output table
输出示例:
Created Expiration HasExpired Name SecondsUntilExpiration
-------------------- -------------------- ------------ ------ ------------------------
2024-11-05T15:09:24Z 2024-11-06T14:48:51Z False token1 84388.80530215
编辑服务帐户
本部分介绍了如何更新 Grafana 服务帐户。
操作:
- 若要编辑名称,请选择相应的服务帐户,然后在“信息”下选择“编辑”。
- 若要编辑角色,请选择相应的服务帐户,在“信息”下选择该角色,然后选择另一个角色名称。
- 若要禁用某个服务帐户,请选择该服务帐户,在页面顶部选择“禁用服务帐户”,然后选择“禁用服务帐户”以确认。 可以通过选择“启用服务帐户”来重新启用已禁用的服务帐户。
随即会显示通知“服务帐户已更新”。
使用 az grafana service-account update
编辑服务帐户。 请将占位符 <azure-managed-grafana-name>
和 <service-account-name>
替换为你自己的信息,并使用以下一个或多个参数:
参数 |
说明 |
--is-disabled |
输入 --is-disabled true 可禁用服务帐户,输入 --is-disabled false 可启用服务帐户。 |
--name |
为服务帐户输入另一个名称。 |
--role |
为服务帐户输入另一个角色。 可用角色:Admin 、Editor 、Viewer 。 |
az grafana service-account update --name <azure-managed-grafana-name> --service-account <service-account-name> --role <role> --enabled false
若要禁用服务帐户,请运行 az grafana update
命令并使用选项 --is-disabled true
。 若要启用服务帐户,请使用 --is-disabled false
。
az grafana update --service-account Disabled --name <service-account-name>
删除服务帐户
若要删除某个 Grafana 服务帐户,请选择该服务帐户,在页面顶部选择“删除服务帐户”,然后选择“删除服务帐户”以确认。 删除服务帐户是最终性的操作,一旦删除服务帐户,就无法将其恢复。
若要删除服务帐户,请运行 az grafana service-account delete
命令。 请将占位符 <azure-managed-grafana-name>
和 <service-account-name>
替换为你自己的信息。
az grafana service-account delete --name <azure-managed-grafana-name> --service-account <service-account-name>
删除服务帐户令牌
若要删除服务帐户令牌,请选择相应的服务帐户,然后在“令牌”下选择“删除 (x)”。 选择“删除”以确认。
若要删除服务帐户,请运行 az grafana service-account token delete
命令。 请将占位符 <azure-managed-grafana-name>
、<service-account-name>
和 <token-name>
替换为你自己的信息。
az grafana service-account token delete --name <azure-managed-grafana-name> --service-account <service-account-name> --token <token-name>
后续步骤
在本操作指南中,你已了解如何创建和管理服务帐户与令牌,以便在 Azure 托管 Grafana 中运行自动化操作。 做好准备后,请浏览更多文章: