Passer au contenu principal

Grafana

Utilisation de Casdoor pour l'authentification dans Grafana

Grafana prend en charge l'authentification via OAuth. Par conséquent, il est extrêmement facile pour les utilisateurs d'utiliser Casdoor pour se connecter à Grafana. Seulement quelques étapes et configurations simples sont nécessaires pour y parvenir.

Voici un tutoriel sur comment utiliser Casdoor pour l'authentification dans Grafana. Avant de continuer, veuillez vous assurer que vous avez Grafana installé et en cours d'exécution.

Étape 1 : Créer une application pour Grafana dans Casdoor

Voici un exemple de création d'une application dans Casdoor :

Créer une application dans Casdoor

Veuillez copier le secret client et l'ID client pour l'étape suivante.

Veuillez ajouter l'URL de rappel de Grafana. Par défaut, le rappel OAuth de Grafana est /login/generic_oauth. Alors veuillez concaténer cette URL correctement.

Étape 2 : Modifier la configuration de Grafana

Par défaut, le fichier de configuration pour OAuth se trouve à conf/defaults.ini dans le répertoire de travail de Grafana.

Veuillez trouver la section [auth.generic_oauth] et modifier les champs suivants :

[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

À propos de HTTPS

Si vous ne souhaitez pas activer HTTPS pour Casdoor ou si vous déployez Grafana sans HTTPS activé, veuillez également définir tls_skip_verify_insecure = true.

À propos de redirectURI après la connexion avec Casdoor

Si l'URI de redirection n'est pas correcte après s'être connecté avec Casdoor dans Grafana, vous voudrez peut-être configurer 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/

Liens connexes :

  1. Documentation de Grafana

  2. Grafana defaults.ini

À propos du mappage des rôles

Vous voudrez peut-être configurer role_attribute_path pour mapper le rôle de votre utilisateur à Grafana via role_attribute_path.

[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

L'expression JMESPath après role_attribute_path est très importante ici. Veuillez vous référer à la documentation de Grafana.

Étape 3 : Vérifiez si cela fonctionne

Arrêtez Grafana et redémarrez-le.

Allez à la page de connexion. Vous devriez voir quelque chose comme ceci :

Résultat final