LoginSignup
2
2

More than 3 years have passed since last update.

App IDでGrafanaの認証をする

Last updated at Posted at 2019-06-16

目的

Grafanaの認証をIBM CloudのApp IDでやってみます。

手順

参考

Grafanaの公式ドキュメントにOAuthとの連携方法が書かれています。

https://grafana.com/docs/auth/overview/

App IDについての記載はありませんが、Generic OAuthが使えそうです。

App IDの設定

IBM CloudでApp IDをオーダーし、必要な設定をします。今回はIDプロバイダとしてクラウドディレクトリーを使います。この場合、最低限次の設定を行います。

余計なIDプロバイダの無効化

必須というわけではないですが、混乱を避けるために、余計なIDプロバイダは無効化しておきます。

image.png

リダイレクトURLの設定

ログイン画面をApp IDが受け持つことになるので、ログイン後の戻りURLを登録します。URLは、${GrafanaのFQDN}/login/generic_oauthになります。

image.png

アプリケーションの登録

アプリケーションの登録を行います。おなじみClient IDやSecretがもらえます。ここの値は後で使います。

image.png

ユーザーの登録

認証するユーザーを登録します。

image.png

Grafanaの設定

grafana.iniや環境変数で設定します。Grafanaに親しんでいる方ならよくご存じのはずです。

root_urlの設定

Grafana自体はこれをきちんと設定しなくてもなんとなく動きますが、root_urlの値を使ってredirect_uriを生成するため、きちんと設定します。

[server]
root_url = https://${GrafanaのFQDN}

OAuth関連の設定

[auth.generic_oauth]
enabled = true
name = App ID(任意です)
client_id = ${App IDのclient_id}
client_secret = ${App IDのsecret}
auth_url = ${App IDのoAuthServerUrl}/authorization
token_url = ${App IDのoAuthServerUrl}/token
api_uri = ${App IDのoAuthServerUrl}/userinfo

動作確認

設定が済んだらGrafanaにアクセスしてみましょう。

image.png

いつもの画面の下に「Sign in with App ID」と表示されました。withの後の文字は先ほどのnameの値が使われますので、App IDと表示されています。

ではSign in with AppIdに進みます。

image.png

はい、App IDが提供するログイン画面が表示されました。作りかけっぽいですが、これはログイン画面を今回カスタマイズしていないからです。実運用の際にはカスタマイズしてみてください。

先ほどクラウドディレクトリーに登録したユーザーのメールアドレスとパスワードを入力しSign inします。

image.png

無事ログインできました。

権限の調整

初めてOAuthログインしたユーザーはViewerロールだけを持っているようですので、ダッシュボードの表示はできますが、編集はできません。

adminユーザで入り直し、Configuration -> Users から、ロールの変更が可能です。

image.png

※2020/8/4更新

App IDでGrafanaのロールを指定することに成功しました。下記記事を参照ください。

App IdでGrafanaの認証とロールの設定をする

以上です。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2