Introduction


Configuration du module


Voici les paramètres du module :

Nom du paramètreDescription

Valeur par défaut

ldap_uri

Adresse du serveur LDAP, précédée du protocole utilisé

Le protocole peut-être "ldap://" ou "ldaps://" pour les serveurs utilisant le SSL

ldaps://myserver
username

Nom d'utilisateur utilisé pour se connecter sur le serveur LDAP afin de rechercher les utilisateurs.

Cet utilisateur doit pouvoir se connecter et rechercher les utilisateurs qui pourront se connecter a travers ce module

Des droits en lecture-seule sont suffisant pour ce module.

user
passwordLe mot de passe de l'utilisateur précisé ci-dessuspassword
basedn

Décrit le chemin dans lequel rechercher les utilisateurs.

Il ne peut y avoir qu'un seul chemin. Si deux endroits sont requis, il faut utiliser le chemin en commun

DC=google,DC=com
mode

Permet de spécifier si le serveur LDAP est un Active directory ( mode : ad ) ou un serveur OpenLDAP ( mode : openldap )

Seuls les valeurs "ad" et "openldap" sont acceptées pour ce paramètre

ad
mapping_file

Lien vers le fichier de mapping. Ce fichier permet de faire correspondre les propriétés Shinken avec les attributs LDAP pour trouver un utilisateur

Le place_holder du formulaire de connexion se trouve également dans ce fichier

/etc/shinken-user/configuration/modules/auth-active-directory/mapping.json



Lorsque vous modifiez les paramètres de ce module, vous devez redémarrer le Synchronizer pour les prendre en compte.


Fichier de Mapping

Le fichier de maping permet de faire correspondre un attribut LDAP avec une propriété Shinken afin d'identifier un utilisateur

Nom du paramètreDescription

Valeur par défaut

ldap_key

L'attribut ldap qui sera utilisé pour faire la correspondance avec Shinken

N'importe quel attribut présent sur vos utilisateurs peut être utilisé, du moment qu'il sont renseigné sur vos utilisateurs Shinken

samaccountname
shinken_key

La propriété Shinken qui sera utilisée pour faire la correspondance avec LDAP

N'importe quelle propriété ou donnée peut être utilisé pour identifier vos utilisateurs, du moment qu'un attribut correspondant se trouve sur l'utilisateur LDAP

contact_name
login_placeholderSi une valeur est définie dans ce champ, elle sera utilisé dans le formulaire de connexion pour indiquer aux utilisateurs quel identifiant utiliser


Exemple de définition

Dans le répertoire /etc/shinken/modules/, voici un exemple de définition qui permet la définition du module synchronizer-module-database-backup (à placer dans un fichier .cfg)  :

(avertissement) Il est conseillé d'éditer les fichiers .cfg avec l'encodage utf-8

#===============================================================================
# auth-active-directory
#===============================================================================
# Daemons that can load this module:
# - synchronizer
# Modules that can load this module:
# - WebUI
# This module allow to authentificate a user with an active directory server
#===============================================================================


define module {

# Shinken Enterprise. Lines added by import core. Do not remove it, it's used by Shinken Enterprise to update your objects if you re-import them.
    _SE_UUID             core-module-26a4fce25adc11e58014080027f08538
    _SE_UUID_HASH        f6daeb0b270c3d80e5649bf000991178
# End of Shinken Enterprise part

    #======== Module identity =========
    # Module name. Must be unique
    module_name     auth-active-directory

    # Module type (to load module code). Do not edit.
    module_type     ad_webui



    #======== Active Directory connection =========
    # ldap_uri:  uri to connect to your Active Directory server
    #  with the form:
    # - ldaps://myserver
    # - ldap://myserver
    ldap_uri        ldaps://192.168.1.125

    # username: user to connect to the ldap(s) server
    # On active directory, this will be the userPrincipalName (the form is user@myserver.com)
    # On openldap, this will be the DN (the form is cn=user,dc=myserver,dc=com)
    username        admin@shinken.local

    # password: to use to connect to the ldap(s) server
    password        azerty123

    # basedn: DN top level to use for query users
    basedn          DC=shinken,DC=local

    # Connection mode:
    # - ad: active directory
    # - openldap: openldap. If you switch to this mode, you must configure the mapping (see option below.)
    mode            ad

    # File for additional configuration of the module behavior
    # By default, the module tries to auth a user using its ldap samaccountname and the matching contact (by contact name).
    # To change this behavior, put a working mapping file in your shinken-user directory.
    # You can copy the example at /etc/shinken-user-example/modules/auth-active-directory/mapping.json.
    # NEVER MODIFY OR USE EXAMPLES DIRECTLY as they will be overwritten without notice.
    #
    # mapping_file    /etc/shinken-user/configuration/modules/auth-active-directory/mapping.json

}



Voici un exemple de fichier de mapping :

# Note: comments can only be preceded by spaces, they should NOT be after a value
# ==================================================================================
{
  #========== ldap_key ============

                                      # Describe which ldap attribute will be used for the login. Case unsensitive.
                                      #
                                      # Possible values include:
                                      #   - samaccountname: Login key on windows systems. This is the default on active directory.
                                      #   - uid: Login key on openldap systems. This is the default on openldap.
                                      #   - mail: The mail address of the user. If used, must be unique.
                                      #   - [...]
  "ldap_key": "mail",

  #========= shinken_key ==========

                                      # Describe which shinken property will be used for the login. The values in the
                                      # ldap attribute and the shinken contact must match for the authentication to be successful.
                                      #
                                      # Possible values include:
                                      #   - contact_name: Shinken login key. This is the default.
                                      #   - display_name: Shinken display name. If used, must be unique.
                                      #   - email: The mail address of the user. If used, must be unique.
                                      #   - [...]
  "shinken_key": "email",

  #====== login_placeholder =======

                                      # Free text field to help users to know which login he or she should use.

  "login_placeholder": "Email du contact"
}