Ce document a été traduit à l'aide d'une technologie de traduction automatique. Bien que nous nous efforcions de fournir des traductions exactes, nous ne fournissons aucune garantie quant à l'exhaustivité, l'exactitude ou la fiabilité du contenu traduit. En cas de divergence, la version originale anglaise prévaut et fait foi.

LDAP

Présentation

SUSE Observability peut utiliser un serveur LDAP (y compris AD) pour s’authentifier et obtenir des rôles/groupes. Il nécessite un serveur LDAP en fonctionnement accessible à SUSE Observability.

Le répertoire principal LDAP et tous les sous-répertoires seront vérifiés pour les fichiers utilisateurs. Les identifiants de liaison dans la configuration de SUSE Observability sont utilisés pour authentifier SUSE Observability sur le serveur LDAP. Après l’authentification, SUSE Observability transmet le nom du répertoire LDAP principal pour l’utilisateur qui souhaite se connecter à SUSE Observability.

Configurer SUSE Observability pour LDAP

Kubernetes

Pour configurer SUSE Observability afin de s’authentifier en utilisant un serveur d’authentification LDAP sur Kubernetes, les détails LDAP et le mappage des rôles utilisateurs doivent être ajoutés au fichier authentication.yaml. Par exemple :

  • authentication.yaml

stackstate:
  authentication:
    ldap:
      host: sts-ldap
      port: 10389 # For most LDAP servers 389 for plain, 636 for ssl connections
      #ssl:
      #  sslType: ssl
      #  trustStore: <see below>
      #  trustCertificates <see below>
      bind:
        dn: "cn=admin,ou=employees,dc=acme,dc=com"
        password: "password"
      userQuery:
        parameters:
          - ou: employees
          - dc: acme
          - dc: com
        usernameKey: cn
        emailKey: mail
      groupQuery:
        parameters:
          - ou: groups
          - dc: acme
          - dc: com
        rolesKey: cn
        groupMemberKey: member
        # to return all nested groups, use:
        # groupMemberKey: "member:1.2.840.113556.1.4.1941:"

    # map the groups from LDAP to the
    # standard subjects in SUSE Observability (guest, powerUser and admin)
    roles:
      guest: ["ldap-guest-role-for-stackstate"]
      powerUser: ["ldap-power-user-role-for-stackstate"]
      admin: ["ldap-admin-role-for-stackstate"]

Suivez les étapes ci-dessous pour configurer SUSE Observability afin de s’authentifier en utilisant LDAP :

  1. Dans authentication.yaml - ajoutez les détails LDAP (voir l’exemple ci-dessus) :

    • host - Le nom d’hôte du serveur LDAP.

    • port - Le port sur lequel le serveur LDAP écoute.

    • sslType - Optionnel. Le type de connexion sécurisée LDAP ssl ou startTls. À omettre si une connexion LDAP simple est utilisée.

    • trustCertificates - Optionnel, fichier de certificat pour SSL. Les formats PEM, DER et PKCS7 sont pris en charge.

    • trustStore - Optionnel, fichier de magasin de confiance Java pour SSL. Si trustCertificates et trustStore sont spécifiés, trustCertificatesPath a la priorité.

    • bind - Optionnel, utilisé pour authentifier SUSE Observability auprès du serveur LDAP si le serveur LDAP ne prend pas en charge les recherches LDAP anonymes.

    • les paramètres userQuery et les paramètres groupQuery - L’ensemble des paramètres à l’intérieur correspond au DN de base de votre LDAP où les utilisateurs et les groupes peuvent être trouvés. Le premier est utilisé pour authentifier les utilisateurs dans SUSE Observability, tandis que le second est utilisé pour récupérer le groupe de cet utilisateur afin de déterminer si l’utilisateur est un Administrateur, un Utilisateur Avancé ou un Invité.

    • usernameKey - Le nom de l’attribut qui stocke le nom d’utilisateur, la valeur est comparée au nom d’utilisateur fourni sur l’écran de connexion.

    • emailKey - Le nom de l’attribut utilisé comme adresse e-mail dans SUSE Observability.

    • rolesKey - Le nom de l’attribut qui stocke le nom du groupe.

    • groupMemberKey - Le nom de l’attribut qui indique si un utilisateur est membre d’un groupe. Le filtre LDAP construit suit ce modèle : <groupMemberKey>=<user.dn>,ou=groups,dc=acme,dc=com. Pour retourner tous les groupes imbriqués, utilisez groupMemberKey: "member:1.2.840.113556.1.4.1941:".

  2. Dans authentication.yaml - associez les rôles des utilisateurs de LDAP aux sujets appropriés de SUSE Observability (voir l’exemple ci-dessus) :

  3. Stockez le fichier authentication.yaml avec le values.yaml des instructions d’installation de SUSE Observability.

  4. Exécutez une mise à niveau Helm pour appliquer les modifications. Si vous utilisez SSL avec des certificats personnalisés, les fichiers de certificats binaires qui doivent être utilisés lors de la connexion à LDAP doivent être définis depuis la ligne de commande, utilisez la commande sous SSL avec des certificats personnalisés :

helm upgrade \
  --install \
  --namespace suse-observability \
  --values values.yaml \
  --values authentication.yaml \
suse-observability \
suse-observability/suse-observability

trustCertificates

helm upgrade \
  --install \
  --namespace suse-observability \
  --values values.yaml \
  --values authentication.yaml \
  --set-file stackstate.authentication.ldap.ssl.trustCertificates=./ldap-certificate.pem \
suse-observability \
suse-observability/suse-observability

trustStore

helm upgrade \
  --install \
  --namespace suse-observability \
  --values values.yaml \
  --values authentication.yaml \
  --set-file stackstate.authentication.ldap.ssl.trustStore=./ldap-cacerts \
suse-observability \
suse-observability/suse-observability

Remarque :

  • La première exécution de la commande de mise à niveau helm entraînera le redémarrage des pods, ce qui peut provoquer une courte interruption de disponibilité.

  • Incluez authentication.yaml à chaque exécution de helm upgrade.

  • La configuration d’authentification est stockée en tant que secret Kubernetes.

Utiliser un secret externe

Lorsque le mot de passe ldap doit provenir d’un secret externe, suivez ces étapes mais remplissez les données suivantes :

kind: Secret
metadata:
   name: "<custom-secret-name>"
type: Opaque
data:
  ldap_password: <base64 of ldap password>