Grafana
Usando Casdoor para autenticación en Grafana
Grafana soporta autenticación vía OAuth. Por lo tanto, es extremadamente fácil para los usuarios utilizar Casdoor para iniciar sesión en Grafana. Solo se necesitan varios pasos y configuraciones simples para lograrlo.
Aquí hay un tutorial sobre cómo usar Casdoor para autenticación en Grafana. Antes de continuar, por favor asegúrate de tener Grafana instalado y en funcionamiento.
Paso 1: Crear una aplicación para Grafana en Casdoor
Aquí hay un ejemplo de cómo crear una aplicación en Casdoor:
Por favor copia el secreto del cliente y el ID del cliente para el siguiente paso.
Por favor agrega la URL de callback de Grafana. Por defecto, el callback OAuth de Grafana es /login/generic_oauth
. Así que por favor concatena esta URL correctamente.
Paso 2: Modificar la configuración de Grafana
Por defecto, el archivo de configuración para OAuth se encuentra en conf/defaults.ini
en el directorio de trabajo de Grafana.
Por favor encuentra la sección [auth.generic_oauth]
y modifica los siguientes campos:
[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
Acerca de HTTPS
Si no quieres que HTTPS esté habilitado para Casdoor o si despliegas Grafana sin HTTPS habilitado, por favor también establece tls_skip_verify_insecure = true
.
Acerca de redirectURI después de Iniciar Sesión Con Casdoor
Si la URI de redirección no es correcta después de iniciar sesión con Casdoor en Grafana, es posible que quieras configurar 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/
Enlaces relacionados:
Acerca del Mapeo de Roles
Es posible que quieras configurar role_attribute_path
para mapear el rol de tu usuario a Grafana vía 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
La expresión JMESPath después de role_attribute_path
es muy importante aquí. Por favor consulta la documentación de Grafana.
Paso 3: Ver si funciona
Apaga Grafana y reinícialo.
Ve a la página de inicio de sesión. Deberías ver algo como esto: