メインコンテンツにスキップ

Grafana

グラファナでの認証にCasdoorを使用する

GrafanaはOAuthを介した認証をサポートしています。 したがって、ユーザーはCasdoorを使用してGrafanaにログインすることが非常に簡単です。 それを実現するためには、いくつかのステップと簡単な設定が必要です。

こちらはGrafanaでの認証にCasdoorを使用する方法についてのチュートリアルです。 進む前に、Grafanaがインストールされて実行中であることを確認してください。

ステップ1:CasdoorでGrafana用のアプリを作成する

こちらはCasdoorでアプリを作成する例です:

Casdoorでアプリケーションを作成する

次のステップのためにクライアントシークレットとクライアントIDをコピーしてください。

GrafanaのコールバックURLを追加してください。 デフォルトでは、GrafanaのOAuthコールバックは/login/generic_oauthです。 したがって、このURLを正しく連結してください。

ステップ2:グラファナの設定を変更する

デフォルトでは、OAuthの設定ファイルはGrafanaの作業ディレクトリ内のconf/defaults.iniにあります。

[auth.generic_oauth]セクションを探して、以下のフィールドを変更してください:

[auth.generic_oauth]
name = Casdoor
icon = signin
enabled = true
allow_sign_up = true
client_id = <client ID from previous step>
client_secret = <client secret from previous step>
auth_url = <Casdoor endpoint>/login/oauth/authorize
token_url = <Casdoor endpoint>/api/login/oauth/access_token

HTTPSについて

CasdoorでHTTPSを有効にしたくない場合、またはHTTPSを有効にせずにGrafanaをデプロイする場合は、tls_skip_verify_insecure = trueも設定してください。

Casdoorでサインインした後のredirectURIについて

GrafanaでCasdoorでサインインした後にリダイレクトURIが正しくない場合は、root_urlを設定することを検討してください。

[server]
http_port = 3000
# The public-facing domain name used to access Grafana from a browser
domain = <your IP here>
# The full public-facing URL
root_url = %(protocol)s://%(domain)s:%(http_port)s/

関連リンク:

  1. Grafanaドキュメント

  2. Grafana defaults.ini

ロールマッピングについて

role_attribute_pathを設定して、ユーザーのロールをGrafanaにマッピングすることを検討してください。

[auth.generic_oauth]
role_attribute_path = contains(roles[*].name, 'admin') && 'Admin' || contains(roles[*].name, 'editor') && 'Editor' || 'Viewer'
role_attribute_strict = true
allow_assign_grafana_admin = true

ここでのrole_attribute_pathの後のJMESPath式は非常に重要です。 Grafanaドキュメントを参照してください。

ステップ3:動作するか確認する

Grafanaをシャットダウンして、再起動してください。

ログインページにアクセスしてください。 次のようなものが表示されるはずです:

最終結果