如何在 Azure 托管 Grafana 中使用服务帐户
本指南介绍如何使用服务帐户。 服务帐户用于通过 Grafana API 在 Grafana 中运行自动化操作以及对应用程序进行身份验证。
常见用例包括:
- 预配或配置仪表板
- 计划报告
- 定义警报
- 设置外部 SAML 身份验证提供程序
- 在不以用户身份登录的情况下与 Grafana 交互
先决条件
启用服务帐户
如果你的现有 Grafana 工作区未启用服务帐户,你可以通过更新 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 实例的所有服务帐户的列表。
运行 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 进行身份验证。
若要创建服务帐户令牌,请选择“添加令牌”。
使用自动生成的“显示名称”或输入你选择的名称,并根据需要选择“过期日期”或保留默认选项(即,不设置过期日期)。
选择“生成令牌”,并记下生成的令牌。 此令牌仅显示一次,因此请务必保存它;如果丢失令牌,需要新建一个。
选择服务帐户以访问其相关信息,包括所有关联的令牌的列表。
创建新令牌
使用 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
-------------------- -------------------- ------------ ------ ------------------------
2022-12-07T11:40:45Z 2022-12-08T11:40:45Z False token1 85890.870731556
2022-12-07T11:42:35Z 2022-12-22T11:42:35Z False token2 0
编辑服务帐户
本部分介绍如何通过以下方式更新 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 中运行自动化操作。 做好准备后,请浏览更多文章: