Rancher2.6 Surveillance de l'amarrage Grafana avec LDAP

À propos de l'auteur
Xie Zeqin, ingénieur de support technique de SUSE Rancher, est chargé de souscrire aux services de maintenance et de support technique après-vente des clients et de fournir les solutions techniques associées. Il a la certification officielle de CKA et CKS, et a de nombreuses années d'expérience dans le domaine du cloud computing. Il a connu des changements techniques d'OpenStack à Kubernetes, et possède une riche expérience pratique dans le système d'exploitation sous-jacent, la virtualisation KVM, les conteneurs Docker et d'autres technologies cloud natives connexes.

Introduction à la surveillance des éleveurs

Sur la plate-forme de gestion Rancher, nous pouvons facilement activer Rancher Monitoring sur n'importe quel cluster Kubernetes qui prend en charge la gestion pour mettre en œuvre des fonctions de surveillance et d'alerte. Rancher Monitoring utilise Prometheus par défaut pour assurer la surveillance des systèmes et des services d'application associés, et utilise l'outil de visualisation du tableau de bord de Grafana pour surveiller et afficher les statistiques de données.

pense

Par défaut, Rancher n'impose pas trop de restrictions aux utilisateurs qui accèdent à Grafana, et nous pouvons utiliser l'utilisateur anonyme pour afficher n'importe quelle interface d'affichage de tableau de bord par défaut déployée par Rancher. Mais dans la plupart des cas, nous devons développer des tableaux de bord personnalisés via Grafana.Pour le moment, l'autorisation ReadOnly de l'utilisateur anonyme ne peut pas répondre à nos besoins, mais la connexion à l'utilisateur administrateur entraînera certains risques de sécurité pour Grafana. À l'heure actuelle, un tel système de gestion des utilisateurs est nécessaire pour gérer les utilisateurs de Grafana et pour restreindre et contrôler l'accès des utilisateurs à certaines autorisations.

Bien que nous puissions utiliser la liste de gestion des utilisateurs fournie avec Grafana pour gérer les utilisateurs d'accès dans une certaine mesure, cela nécessite la maintenance d'un ensemble supplémentaire de listes d'utilisateurs. Alors, est-il possible de se connecter directement au système LDAP interne de l'entreprise, réduisant ainsi le coût de maintenance des utilisateurs ?

La réponse est oui. À partir de Rancher 2.5, l'architecture de surveillance a été ajustée pour permettre aux utilisateurs de personnaliser la configuration de composants plus connexes. Cet article explique comment connecter Grafana à l'authentification LDAP en configurant Rancher Monitoring sur Rancher 2.6.

conditions préalables

  • Éleveur:2.6.4
  • k8s:1.20.11
  • surveillance:100.1.2+up19.0.3
  • OpenLDAP:1.5.0

Fonctionnement détaillé

Grafana se connecte à LDAP

Modifier Monitoring Yaml pour configurer LDAP

  1. Accédez à l'interface utilisateur de l'explorateur Rancher, accédez à Apps & Marketplace, sélectionnez Monitoring, puis sélectionnez Edit YAML dans les options de configuration :

éleveur-1
  1. Activer la configuration de l'authentification LDAP

grafana.grafana.iniAjoutez les auth.ldapinformations de configuration suivantes sous la hiérarchie pour activer LDAP :

grafana:
  grafana.ini:
    auth.ldap:
      allow_sign_up: true
      config_file: /etc/grafana/ldap.toml
      enabled: true

éleveur-2

3. Sous grafanaHiérarchie, ajoutez des paramètres d'authentification LDAP

grafana:
  ldap:
    config: |
      [[servers]]
      host = "test.zerchin.xyz" 
      port = 389
      use_ssl = false
      start_tls = false
      ssl_skip_verify = true
      bind_dn = "cn=admin,dc=rancherldap,dc=com"
      bind_password = 'Rancher123'
      search_filter = "(cn=%s)"
      search_base_dns = ["cn=group,ou=rancher,dc=rancherldap,dc=com"]
      [servers.attributes]
      name = "givenName"
      surname = "sn"
      username = "cn"
      member_of = "memberOf"
      email = "email"
    enabled: true

Descriptif paramètre :

host: Adresse du serveur LDAP (IP/Domaine, spécifiez plusieurs adresses séparées par des espaces).

port: port LDAP, la valeur par défaut est 389, ou 636 si use_ssl=true.

use_ssl: s'il faut utiliser des connexions TLS cryptées.

start_tls: STARTTLS est une extension du protocole de communication en clair, qui permet de crypter directement la connexion de communication en clair (à l'aide du cryptage SSL/TLS) sans utiliser un autre port spécial pour la communication cryptée.

ssl_skip_verify: Indique s'il faut ignorer la vérification du certificat SSL.

bind_dn: nom d'utilisateur du compte de service LDAP.

bind_password: mot de passe (si le mot de passe contient #, il doit être entouré de trois crochets, par exemple : """#password;""").

search_filter: Champs de filtre de requête utilisateur, tels que "(cn=%s)", "(sAMAccountName=%s)", "(uid=%s)".

search_base_dns: Point de départ de la recherche d'utilisateurs.

  1. Après la configuration, démarrez la surveillance.

Après avoir attendu que la surveillance démarre avec succès, ouvrez l'interface utilisateur Grafana, le mot de passe du compte par défaut est : admin/prom-operator

grafanar-1

Authentification LDAP

Une fois connecté, accédez à Server Admin - LDAP sur la gauche et vous pouvez voir l'hôte connecté sous LDAP Connection.

Sous Tester le mappage des utilisateurs, recherchez les utilisateurs LDAP existants pour trouver des informations sur les utilisateurs.

grafana-2

Et l'interface utilisateur Grafana est accessible à l'aide d'une connexion utilisateur LDAP.

grafana-3

Grafana se connecte à LDAP basé sur SSL

La méthode ci-dessus est connectée au port 389 de LDAP, et nous pouvons utiliser ce port pour la connexion LDAP.

Cependant, ce port est une connexion non sécurisée et non chiffrée, qui peut facilement causer des problèmes de sécurité et exposer des informations relatives à l'utilisateur. Il est généralement recommandé d'utiliser le port 389 uniquement dans l'intranet ou l'environnement de test.

Pour les environnements avec des exigences de sécurité élevées, nous pouvons utiliser un autre port crypté SSL de LDAP pour se connecter au service LDAP : le port 636.

Créer un secret de certificat

Sous l' espace de cattle-monitoring-systemnoms, créez un nouveau certssecret nommé ca.pemcertificat CA, tls.crtécrivez le certificat du serveur LDAP et tls.keyécrivez la clé du certificat du serveur LDAP.

secret-1

Le certificat concerné peut également être importé via la ligne de commande :

kubectl create secret generic certs -n cattle-monitoring-system --from-file=ca.pem --from-file=tls.crt --from-file=tls.key

Configuration de l'authentification SSL LDAP

Modifier la configuration yaml de surveillance

  1. Sous grafanaHiérarchie, ajoutez le extraSecretMountscertificat secret de montage :
grafana:
  extraSecretMounts:
    - defaultMode: 440
      mountPath: /opt/certs
      name: certs
      readOnly: true
      secretName: certs
  1. LDAP active l'authentification SSL :
grafana:
  ldap:
    config: |
      [[servers]] 
      host = "test.zerchin.xyz" 
      port = 636 
      use_ssl = true
      start_tls = false 
      ssl_skip_verify = false
      root_ca_cert = "/opt/certs/ca.pem"
      client_cert = "/opt/certs/tls.crt"
      client_key = "/opt/certs/tls.key"
      bind_dn = "cn=admin,dc=rancherldap,dc=com"
      bind_password = 'Rancher123' 
      search_filter = "(cn=%s)" 
      search_base_dns = ["cn=group,ou=rancher,dc=rancherldap,dc=com"] 
      [servers.attributes] 
      name = "givenName" 
      surname = "sn" 
      username = "cn" 
      member_of = "memberOf" 
      email = "email"
    enabled: true
  • portDéfinir sur le port crypté SSL 636
  • use_sslDéfinir sur vrai, ssl_skip_verifydéfinir sur faux, activer l'authentification SSL
  • root_ca_cert, client_cert, client_keyconfigurer le chemin du certificat
  1. Après la configuration, démarrez la surveillance.

Authentification SSL LDAP

Connectez-vous à Grafana, entrez Server Admin - LDAP sur la gauche, et vous pouvez voir sous Connexion LDAP que le port crypté SSL 636 a été connecté.

Et sous Tester le mappage des utilisateurs, recherchez les utilisateurs LDAP existants pour trouver des informations sur les utilisateurs.

grafana-ssl-1

Essayez de vous connecter avec un utilisateur LDAP, vous pouvez vous connecter normalement pour afficher les données.

grafana-ssl-2

Résumer

Grâce à la configuration ci-dessus, nous pouvons connecter avec succès LDAP au sein de l'entreprise en tant que système de gestion des utilisateurs Grafana, afin que nous puissions utiliser directement le système de gestion des utilisateurs existant pour la gestion unifiée des utilisateurs et l'authentification des autorités. Bien sûr, nous pouvons également nous connecter à d'autres systèmes de gestion des utilisateurs, tels que okta, saml, github, basic, etc. Nous pouvons nous référer à la documentation officielle de Grafana pour une configuration en fonction de besoins spécifiques.

Référence de configuration Grafana : https://grafana.com/docs/grafana/next/setup-grafana/configure-security/configure-authentication/ldap/

{{o.name}}
{{m.name}}

Guess you like

Origin my.oschina.net/rancher/blog/5553988