Zum Hauptinhalt springen

Grafana

Verwendung von Casdoor zur Authentifizierung in Grafana

Grafana unterstützt Authentifizierung über OAuth. Daher ist es für Benutzer extrem einfach, sich mit Casdoor bei Grafana anzumelden. Es sind nur einige Schritte und einfache Konfigurationen notwendig, um dies zu erreichen.

Hier ist ein Tutorial, wie man Casdoor zur Authentifizierung in Grafana verwendet. Bevor Sie fortfahren, stellen Sie bitte sicher, dass Sie Grafana installiert haben und es läuft.

Schritt 1: Erstellen Sie eine App für Grafana in Casdoor

Hier ist ein Beispiel für das Erstellen einer App in Casdoor:

Erstellen Sie eine Anwendung in Casdoor

Bitte kopieren Sie das Client Secret und die Client ID für den nächsten Schritt.

Bitte fügen Sie die Callback-URL von Grafana hinzu. Standardmäßig ist der OAuth-Callback von Grafana /login/generic_oauth. Bitte fügen Sie diese URL korrekt zusammen.

Schritt 2: Konfiguration von Grafana ändern

Standardmäßig befindet sich die Konfigurationsdatei für OAuth unter conf/defaults.ini im Arbeitsverzeichnis von Grafana.

Bitte finden Sie den Abschnitt [auth.generic_oauth] und ändern Sie die folgenden Felder:

[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

Über HTTPS

Wenn Sie HTTPS für Casdoor nicht aktivieren möchten oder wenn Sie Grafana ohne HTTPS aktiviert bereitstellen, setzen Sie bitte auch tls_skip_verify_insecure = true.

Über redirectURI nach Anmeldung mit Casdoor

Wenn die Redirect-URI nach der Anmeldung mit Casdoor in Grafana nicht korrekt ist, möchten Sie vielleicht root_url konfigurieren.

[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/

Verwandte Links:

  1. Grafana-Dokumentation

  2. Grafana defaults.ini

Über Rollenzuordnung

Sie möchten vielleicht role_attribute_path konfigurieren, um die Rolle Ihres Benutzers über role_attribute_path auf Grafana abzubilden.

[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

Der JMESPath-Ausdruck nach role_attribute_path ist hier sehr wichtig. Bitte schauen Sie in der Grafana-Dokumentation nach.

Schritt 3: Überprüfen Sie, ob es funktioniert

Schließen Sie Grafana und starten Sie es neu.

Gehen Sie zur Anmeldeseite. Sie sollten so etwas sehen:

Endergebnis