Utilisation de LDAP ou Active Directory pour l'authentification

Spectrum™ Technology Platform peut être configuré pour utiliser un serveur LDAP ou Active Directory pour l'authentification. Lorsqu'un utilisateur se connecte à Spectrum™ Technology Platform, ses informations d'identification sont vérifiées à l'aide de LDAP ou d'AD. Le système vérifie alors s'il existe un utilisateur Spectrum™ Technology Platform portant le même nom. S'il existe, l'utilisateur est connecté. S'il n'existe pas, un compte d'utilisateur Spectrum™ Technology Platform est automatiquement créé pour l'utilisateur et il reçoit le rôle user.

La figure suivante illustre cette architecture :



Avant de configurer Spectrum™ Technology Platform pour qu'il puisse utiliser un service de répertoires pour l'authentification, assurez-vous que votre service de répertoires répond aux exigences suivantes :

  • Pour LDAP; le serveur de répertoires doit être conforme à LDAP Version 3.
  • Il n'existe aucune exigence spécifique pour le serveur Active Directory.
Remarque : Nous vous conseillons de contacter le Support technique ou les Services professionnels Pitney Bowes qui vous guideront tout au long de cette procédure.
Remarque : Lors de la configuration de Spectrum avec LDAP, STS ou SSO_STS, si la propriété est, par défaut, spectrum.security.account.createNonExisting=true, les utilisateurs Active Directory sont créés automatiquement dans Spectrum™ Technology Platform après leur première connexion à Spectrum. Si vous désactivez la propriété spectrum.security.account.createNonExisting=false, les utilisateurs LDAP/Active Directory ne seront pas authentifiés sur Spectrum™ Technology Platform tant que l'administrateur n'aura pas créé manuellement des utilisateurs.
  1. Si des utilisateurs existants sont configurés dans Management Console et que vous souhaitez les utiliser après avoir activé l'authentification LDAP ou Active Directory, créez ces utilisateurs dans votre système LDAP ou Active Directory. Assurez-vous d'utiliser le mêmes nom d'utilisateur comme dans Spectrum™ Technology Platform.
    Remarque : Vous n'avez pas besoin de créer l'utilisateur « admin » dans LDAP ou Active Directory dans la mesure où l'utilisateur continue à utiliser Spectrum™ Technology Platform pour l'authentification, une fois que vous avez activé LDAP ou Active Directory.
  2. Arrêtez le serveur Spectrum™ Technology Platform.
  3. Activer l'authentification LDAP ou Active Directory :
    1. Ouvrez ce fichier de configuration dans un éditeur de texte :

      server\app\conf\spectrum-container.properties

    2. Réglez la propriété spectrum.security.authentication.basic.authenticator sur LDAP :
      spectrum.security.authentication.basic.authenticator=LDAP

      Le paramètre LDAP est utilisé pour activer Active Directory ainsi que LDAP.

    3. Enregistrez et fermez le fichier.
  4. Configurer les propriétés de connexion :
    1. Ouvrez ce fichier de configuration dans un éditeur de texte :

      server\app\conf\spring\security\spectrum-config-ldap.properties

    2. Modifiez ces propriétés.
      Spectrum.LDAP.URL
      L'URL, y compris le port, du serveur LDAP ou Active Directory. Par exemple,
      spectrum.ldap.url=ldap://ldapserver.example.com:389/
      Spectrum.LDAP.DN.format
      Le format à utiliser pour rechercher le compte d'utilisateur dans LDAP ou Active Directory. Utilisez la variable %s pour le nom d'utilisateur. Par exemple,

      LDAP :

      spectrum.ldap.dn.format=uid=%s,ou=users,dc=example,dc=com

      Active Directory :

      spectrum.ldap.dn.format=%s@example.com
      Spectrum.LDAP.DN.base
      Le nom unique (dn) pour rechercher des comptes d'utilisateur dans LDAP ou Active Directory. Par exemple,

      LDAP :

      spectrum.ldap.dn.base=ou=users,dc=example,dc=com

      Active Directory :

      spectrum.ldap.dn.base=cn=Users,dc=example,dc=com
      Spectrum.LDAP.Search.Filter
      Un filtre de recherche à utiliser pour rechercher des attributs tels que les rôles. Le filtre de recherche peut contenir ces variables :
      • {user} le nom d'utilisateur se connecte à Spectrum™ Technology Platform
      • {dn} est le nom unique spécifié dans spectrum.ldap.dn.base.
      Par exemple :

      LDAP :

      spectrum.ldap.search.filter=uid={user}

      Active Directory :

      spectrum.ldap.search.filter=userPrincipalName={dn}
      Spectrum.LDAP.Attribute.Roles
      Facultatif. Spécifie l'attribut LDAP ou Active Directory qui contienne le nom de la Spectrum™ Technology Platform rôles pour l'utilisateur. Le nom de rôle que vous indiquez dans l'attribut LDAP ou Active Directory doit correspondre au nom du rôle défini dans Spectrum™ Technology Platform.

      Par exemple, pour appliquer les rôles définis dans l’attribut spectrumroles, vous devez indiquer :

      spectrum.ldap.attribute.roles=spectrumroles

      Si cet attribut contient un rôle nommé designer, le rôle designer est accordé à l'utilisateur.

      Vous ne pouvez spécifier qu'un seul attribut, mais l’attribut peut contenir plusieurs rôles. Pour spécifier plusieurs rôles à l'intérieur d'un attribut, séparez chacun par une virgule. Vous pouvez également spécifier un attribut de plusieurs valeurs, chaque instance de l'attribut contenant un rôle différent. Seuls les rôles indiqués dans cet attribut sont utilisés dans Spectrum™ Technology Platform. Aucun autre attribut LDAP ou Active Directory n’aura d'impact sur les rôles Spectrum™ Technology Platform.

      Si l'utilisateur dispose des rôles sont affectés à dans Spectrum™ Technology Platform, les autorisations de l'utilisateur sont l'union de rôles à partir de LDAP ou Active Directory et les rôles à partir de Spectrum™ Technology Platform.

      Remarque : Si un utilisateur se connecte pour la première fois et qu'il ne possède pas de compte d'utilisateur Spectrum™ Technology Platform, un compte lui est automatiquement créé avec le rôle user. Les autorisations effectives pour l’utilisateur sont l’union des autorisations du rôle user et des rôles spécifiés dans les attributs répertoriés dans la propriété spectrum.ldap.attribute.roles.
      Remarque : Lorsque vous affichez les rôles de l’utilisateur dans Management Console, vous ne voyez pas les rôles affectés à l’utilisateur par la propriété spectrum.ldap.attribute.roles.
      Spectrum.LDAP.pool.min
      Taille minimale du pool de connexion pour les connexions au serveur LDAP ou Active Directory.
      Spectrum.LDAP.pool.max
      Le nombre maximal de connexions simultanées au serveur LDAP ou Active Directory.
      Spectrum.LDAP.Timeout.Connect
      Indique le délai d'attente pour établir une connexion au serveur LDAP ou Active Directory, en millisecondes. La valeur par défaut est de 1000 secondes.
      Spectrum.LDAP.Timeout.Response
      Indique combien de temps à attendre une réponse du serveur LDAP ou Active Directory une fois la connexion est établie, en millisecondes. La valeur par défaut est de 5000 secondes.
      spectrum.ldap.retry.count
      Nombre de fois où le serveur Spectrum™ Technology Platform tente de se connecter au serveur LDAP ou Active Directory en cas d’échec de la tentative de connexion initiale. Définissez cette valeur sur 0 si vous souhaitez n'autoriser qu’une seule tentative de connexion.
      Conseil : Si vous mettez vos serveurs LDAP ou Active Directory en cluster, nous vous recommandons de définir cette valeur sur 1 ou plus pour autoriser l'équilibreur de charge LDAP ou Active Directory à rediriger la demande de connexion vers un autre serveur si celui qui a reçu la première demande n'est pas disponible.
      spectrum.ldap.retry.wait
      Nombre de millisecondes d’attente entre les tentatives de connexion.
      spectrum.ldap.retry.backoff
      Facteur de multiplication à utiliser pour augmenter le temps d’attente après chaque échec de nouvelle tentative.

      Par exemple,

      spectrum.ldap.timeout.connect=1000
      ...
      spectrum.ldap.retry.count=5
      spectrum.ldap.retry.wait=500
      spectrum.ldap.backoff=2

      Dans cet exemple, l’attente de la tentative de connexion initiale est de 1 000 millisecondes, et le temps d’attente pour chacune des cinq nouvelles tentatives est augmenté d'un facteur de deux, résultant en ces temps d'attente pour chaque nouvelle tentative :

      Nouvelle tentative 1 : 500 millisecondes
      Nouvelle tentative 2 : 1 000 millisecondes
      Nouvelle tentative 3 : 2 000 millisecondes
      Nouvelle tentative 4 : 4 000 millisecondes
      Nouvelle tentative 5 : 8 000 millisecondes

    3. Enregistrez et fermez le fichier de propriétés.
  5. Si vous utilisez le module Location Intelligence et que vous envisagez de mapper des rôles (tel que décrit à la section Mappage des valeurs d'attribut LDAP vers des rôles), une configuration manuelle supplémentaire du fichier de configuration Jackrabbit (qui se trouve dans SpectrumFolder\server\modules\spatial\jackrabbit\workspaces\default\workspace.xml) est nécessaire pour que Spectrum Spatial connaisse tous les rôles LDAP ou Active Directory attribués de manière dynamique. Ajoutez le paramètre checkRoles comme indiqué ci-dessous :
     <!-- 
      Spectrum ACL provider.
     -->
     <WorkspaceSecurity>
      <AccessControlProvider class="com.mapinfo.repository.jackrabbit.acl
       .AccessControlProviderImpl">
       <param name="checkRoles" value="true"/>
      </AccessControlProvider>
     </WorkspaceSecurity>
    
  6. Démarrez le serveur Spectrum™ Technology Platform.

Si vous exécutez Spectrum™ Technology Platform dans un cluster, vous devez modifier le fichier spectrum-container.properties et le fichier spectrum-config-ldap.properties sur chacun des serveurs du cluster. Arrêtez le serveur avant de modifier le fichier, puis démarrer le serveur une fois que vous avez terminé de modifier le fichier. Si vous avez mappé une valeur d’attribut LDAP à un rôle, ce mappage sera répliqué à tous les nœuds du cluster. Vous n'avez donc pas besoin de répéter la procédure de mappage dans la console JMX.