Azure Managed Grafana でサービス アカウントを使用する方法
- [アーティクル]
-
-
このガイドでは、サービス アカウントを使う方法について説明します。 サービス アカウントは、自動化された操作を実行する場合、Grafana API を使って Grafana でアプリケーションを認証する場合に使われます。
一般的な使用用途は次のとおりです。
- ダッシュボードをプロビジョニングまたは構成する
- レポートをスケジュールする
- アラートを定義する
- 外部 SAML 認証プロバイダーを設定する
- ユーザーとしてサインインせずに Grafana と対話する
前提条件
サービス アカウントを有効にする
既存の Grafana ワークスペースでサービス アカウントが有効になっていない場合は、Azure portal または Azure CLI を使用して Grafana インスタンスの基本設定を更新することでサービス アカウントを有効にします。
Azure portal の [設定] で [構成] を選び、次に [API keys and service accounts] (API キーとサービス アカウント) で [有効にする] を選びます。
[保存] を選び、Azure Managed Grafana で API キーとサービス アカウントを有効にすることを確定します。
Azure Managed Grafana CLI 拡張機能 0.3.0 以降が必要です。 拡張機能を更新するには、az extension update --name amg
を実行します。
az grafana update コマンドを実行して、既存の Azure Managed Grafana インスタンスでの API キーとサービス アカウントの作成を有効にします。 次のコマンドでは、<azure-managed-grafana-name>
は、更新する Azure Managed Grafana インスタンスの名前に置き換えます。
az grafana update --name <azure-managed-grafana-name> ---service-account Enabled
サービス アカウントの作成
以下の手順に従って新しい Grafana サービス アカウントを作成し、既存のサービス アカウントを一覧表示します。
Grafana インスタンスのエンドポイントに移動し、左側のメニューから [Users and access]>[Service accounts] を選択し、[Add service account] を選択します。
新しい Grafana サービス アカウントの [Display name] と [Role] (オプションは、[No basic role]、[Viewer]、[Editor]、[Admin]) を入力し、[Create] を選択します。 既定では、ロールは割り当てられていません。
サービス アカウントが作成されると、Grafana には、作成日、既存のトークン、それに関連付けられたアクセス許可など、新しいサービス アカウントに関する情報が表示されます。 次の手順で最初のトークンを作成します。
必要に応じて、左側のメニューから [Service accounts] を選択して、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 Managed Grafana インスタンスに属するすべてのサービス アカウントの一覧を取得します。 <azure-managed-grafana-name>
は Azure Managed 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>
サービス アカウント トークンを追加する
サービス アカウントを作成したら、1 つ以上のアクセス トークンを追加します。 アクセス トークンは、ユーザー名とパスワードを使用せずに Grafana API で認証するために使用される、生成された文字列です。 各トークンは特定のアクセス許可に関連付けられているため、さまざまなユーザーまたはアプリケーションに付与されるアクセス レベルを制御できます。 トークンは、必要に応じて作成し、管理し、取り消すことができます。
Grafana UI で次の操作を行います。
サービス アカウント トークンを作成するには、[Add service account token] を選択します。
自動的に生成された [Display name] を使用するか、任意の名前を入力します。 既定では、有効期限は作成日の 1 日後に設定されます。 必要に応じて、提案された [Expiration date] を更新するか、[No expiration] を選択します。
[Generate token](トークンの生成) を選択します。 トークンは一度だけ表示されるため、必ずコピーして安全に保存してください。 このトークンを失った場合は、新規に生成する必要があります。
これで、トークンがサービス アカウントの詳細に一覧表示されます。
Azure CLI の場合:
az grafana service-account token create
を使って Grafana サービス アカウント トークンを作成します。 プレースホルダー <azure-managed-grafana-name>
、<service-account-name>
、<token-name>
を独自の情報に置き換えます。
必要に応じて、有効期限を設定します。
パラメーター |
説明 |
例 |
--time-to-live |
トークンの有効期限は既定で 1 日です。 必要に応じて、有効期限を無効にするか編集して、指定した時間が経過した後にトークンが無効になるようにします。 秒には 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 サービス アカウントを更新する方法について説明します。
アクション:
- 名前を編集するには、サービス アカウントを選び、[情報] で [編集] を選びます。
- ロールを編集するには、サービス アカウントを選び、[情報] でロールを選び、別のロール名を選びます。
- サービス アカウントを無効にするには、サービス アカウントを選び、ページの上部にある [サービス アカウントを無効にする] を選んでから [サービス アカウントを無効にする] を選んで確定します。 無効になったサービス アカウントは、[サービス アカウントを有効にする] を選んで再び有効にすることができます。
"Service account updated" (サービス アカウントが更新されました) という通知がすぐに表示されます。
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 Managed Grafana で自動操作を実行するためのサービス アカウントとトークンの作成および管理方法を学習しました。 準備ができたら、その他の記事を参照してください。