Show Menu
SUJETS×

Synchronisation des utilisateurs

Présentation

When the deployment is a publish farm , members need to be able to log in and see their data on any publish node.
Les utilisateurs et les groupes d’utilisateurs (données utilisateur) créés dans l’environnement de publication ne sont pas nécessaires dans l’environnement de création.
La plupart des données utilisateur créées dans l’environnement de création sont destinées à rester dans l’environnement de création et à ne pas être copiées vers les instances de publication.
L’enregistrement et les modifications effectués sur une instance de publication doivent être synchronisés avec d’autres instances de publication afin de pouvoir accéder aux mêmes données utilisateur.
Depuis AEM 6.1, lorsque la synchronisation des utilisateurs est activée, les données utilisateur sont automatiquement synchronisées sur les instances de publication dans la ferme et ne sont pas créées en mode de création.

Distribution Sling

The user data, along with their ACLs , are stored in the Oak Core , the layer below Oak JCR, and are accessed using the Oak API . With infrequent updates, it is reasonable for user data to be synchronized with other publish instances using Sling Content Distribution (Sling distribution).
Les avantages de la synchronisation des utilisateurs à l’aide de la distribution Sling par rapport à la réplication traditionnelle sont les suivants :
  • Les utilisateurs , les profils d’utilisateur et les groupes d’utilisateurs créés à la publication ne sont pas créés en mode de création.
  • La distribution Sling définit des propriétés dans les événements JCR, permettant d’agir au niveau des écouteurs d’événements du côté publication sans se préoccuper des boucles de réplication infinies.
  • La distribution Sling envoie uniquement les données utilisateur à des instances de publication non originaires, ce qui élimine le trafic inutile.
  • Les listes de contrôle d’accès définies dans le noeud utilisateur sont incluses dans la synchronisation.
Si des sessions sont requises, il est recommandé d’utiliser une solution SSO ou une session attractive et de demander aux clients de se connecter s’ils passent à un autre éditeur.
La synchronisation du groupe d’ administrateurs n’est pas prise en charge, même si la synchronisation des utilisateurs est activée. À la place, un échec de l’importation de la comparaison est consigné dans le journal des erreurs.
Therefore, when the deployment is a publish farm, if a user is added to or removed from the * administrators group, the modification must be manually made on each publish instance.

Activer la synchronisation des utilisateurs

By default, user sync is disabled .
Activer la synchronisation des utilisateurs implique de modifier les configurations OSGi existantes .
Aucune configuration nouvelle ne doit être ajoutée suite à l’activation de la synchronisation des utilisateurs.
La synchronisation des utilisateurs repose sur l’environnement de création pour gérer les distributions de données utilisateur, même si les données utilisateur ne sont pas créées en mode de création. Une grande partie, mais pas l’intégralité, de la configuration a lieu dans l’environnement de création et chaque étape identifie clairement si elle doit être effectuée en mode de création ou en mode de publication.
Vous trouverez ci-dessous les étapes nécessaires pour activer la synchronisation des utilisateurs, suivies d’une section Résolution des incidents  :

Conditions préalables

  1. Si les utilisateurs et les groupes d’utilisateurs ont déjà été créés sur un éditeur, il est recommandé de synchroniser manuellement les données utilisateur sur tous les éditeurs avant de configurer et d’activer la synchronisation des utilisateurs.
Une fois la synchronisation des utilisateurs activée, seuls les utilisateurs et les groupes nouvellement créés sont synchronisés.
  1. Vérifiez que le code le plus récent a été installé :

1. Agent de distribution Apache Sling - Fabrique d’agents de synchronisation

Activer la synchronisation des utilisateurs
  • en mode de création
    • connectez-vous avec des autorisations d’administrateur
    • accédez à la console Web
    • localiser Apache Sling Distribution Agent - Sync Agents Factory
      • select the existing configuration to open for edit (pencil icon) Verify name : socialpubsync
      • sélectionnez la Enabled case à cocher
      • select Save

2. Créez l’utilisateur autorisé

Configurez des autorisations Cet utilisateur autorisé sera utilisé à l’étape 3 pour configurer la distribution Sling en mode de création.
Un nouvel utilisateur doit être créé.
  • L’utilisateur par défaut affecté est l’utilisateur admin .
  • Ne pas utiliser communities-user-admin user.

Comment ajouter une ACL

  • accédez à CRXDE Lite
  • sélectionner le /home noeud
  • dans le volet de droite, sélectionnez l’ Access Control onglet
  • select the + button to add an ACL entry
    • Entité de sécurité :  : recherchez l’utilisateur créé pour la synchronisation des utilisateurs
    • Type : Allow
    • Privilèges : jcr:all
    • Restrictions rep:glob : */activities/*
    • sélectionnez OK
  • sélectionnez Enregistrer tout
Voir également

3. Informations d’identification de transfert de distribution Apache Sling - Fournisseur secret du transfert de distribution basé sur les informations d’identification de l’utilisateur

Configurer les autorisations
Once an authorized user, a member of the administrators ​user group, has been created on all publish instances, that authorized user must be identified on author as having permission to sync user data from author to publish.
  • en mode de création
    • connectez-vous avec des autorisations d’administrateur
    • accédez à la console Web
    • localiser Apache Sling Distribution Transport Credentials - User Credentials based DistributionTransportSecretProvider
    • select the existing configuration to open for edit (pencil icon) Verify property name : socialpubsync-publishUser
    • définissez le nom d’utilisateur et le mot de passe de l’ utilisateur autorisé créé en mode de publication à l’étape 2
      • par exemple, usersync-admin

4. Agent de distribution Apache Sling - Fabrique d’agents de file d’attente

Activer la synchronisation des utilisateurs
  • en mode de publication  :
    • connectez-vous avec des autorisations d’administrateur
    • accédez à la console Web
    • localiser Apache Sling Distribution Agent - Queue Agents Factory
      • select the existing configuration to open for edit (pencil icon) Verify Name : socialpubsync-reverse
      • sélectionnez la Enabled case à cocher
      • select Save
    • repeat pour chaque instance de publication

5. Synchronisation Adobe Social - Fabrique d’observateurs diff.

Activez la synchronisation des groupes
  • sur chaque instance de publication :
    • connectez-vous avec des autorisations d’administrateur
    • accédez à la console Web
    • localiser Adobe Social Sync - Diff Observer Factory
      • sélectionnez la configuration existante à ouvrir pour modification (icône de crayon)
        Vérifier agent name : socialpubsync-reverse
      • sélectionnez la Enabled case à cocher
      • select Save

6. Déclencheur de distribution Apache Sling - Fabrique de déclencheurs planifiés

(Facultatif) modifiez l’intervalle d’interrogation
Par défaut, l’auteur interroge les modifications toutes les 30 secondes. Pour modifier cet intervalle :
  • en mode de création
    • connectez-vous avec des autorisations d’administrateur
    • accédez à la console Web
    • localiser Apache Sling Distribution Trigger - Scheduled Triggers Factory
      • sélectionnez la configuration existante à ouvrir pour modification (icône de crayon)
        • Vérifier Name : socialpubsync-scheduled-trigger
      • définissez l’intervalle Interval in Seconds sur
      • select Save

Configuration de plusieurs instances de publication

La configuration par défaut couvre une instance de publication unique. Puisque l’objectif de l’activation de la synchronisation des utilisateurs est de synchroniser plusieurs instances de publication (par exemple, pour une ferme de publication), les instances de publication supplémentaires doivent être ajoutées à la fabrique d’agents de synchronisation.

7. Agent de distribution Apache Sling - Fabrique d’agents de synchronisation

Ajoutez des instances de publication :
  • en mode de création
    • connectez-vous avec des autorisations d’administrateur
    • accédez à la console Web
    • localiser Apache Sling Distribution Agent - Sync Agents Factory
      • select the existing configuration to open for edit (pencil icon) Verify Name : socialpubsync
  • Points de terminaison de l’exportateur Il doit exister un point de terminaison de l’exportateur pour chaque éditeur. Par exemple, s’il existe 2 éditeurs, localhost:4503 et 4504, il doit y avoir 2 entrées :
    • https://localhost:4503/libs/sling/distribution/services/exporters/socialpubsync-reverse
    • https://localhost:4504/libs/sling/distribution/services/exporters/socialpubsync-reverse
  • Points de fin de l’importateur Il doit y avoir un point de fin d’importateur pour chaque éditeur. Par exemple, s’il existe 2 éditeurs, localhost:4503 et 4504, il doit y avoir 2 entrées :
    • https://localhost:4503/libs/sling/distribution/services/importers/socialpubsync
    • https://localhost:4504/libs/sling/distribution/services/importers/socialpubsync
  • select Save

8. Écouteur de synchronisation des utilisateurs AEM Communities

(Facultatif) Synchroniser les nœuds JCR supplémentaires
S’il existe des données personnalisées à synchroniser sur plusieurs instances de publication, alors :
  • sur chaque instance de publication :
    • connectez-vous avec des autorisations d’administrateur
    • accédez à la console Web
      • par exemple, https://localhost:4503/system/console/configMgr
    • localiser AEM Communities User Sync Listener
    • select the existing configuration to open for edit (pencil icon) Verify Name : socialpubsync-scheduled-trigger
  • Types de nœuds Il s’agit de la liste des types de nœuds qui vont être synchronisés. Tout type de nœud autre que sling:Folder doit être répertorié ici (sling:folder est traité séparément). Liste par défaut des types de nœuds à synchroniser :
    • rep:User
    • nt:unstructured
    • nt:resource
  • Propriétés à ignorer Il s’agit de la liste des propriétés qui seront ignorées si une modification est détectée. Les modifications apportées à ces propriétés peuvent être synchronisées comme effet secondaire d’autres modifications (la synchronisation ayant toujours lieu au niveau du nœud), mais les modifications apportées à ces propriétés ne déclenchent pas en elles-mêmes de synchronisation. Propriété par défaut à ignorer :
    • cq:lastModified
  • Nœuds à ignorer Sous-chemins d’accès allant être entièrement ignorés pendant la synchronisation. Aucun élément figurant dans ces sous-chemins d’accès ne sera synchronisé à un moment donné. Nœuds par défaut à ignorer :
    • .tokens
    • system
  • Dossiers distribués La plupart des nœuds sling:Folders sont ignorés, car la synchronisation n’est pas nécessaire. Les quelques exceptions sont répertoriées ici. Dossiers par défaut à synchroniser
    • segments/scoring
    • social/relationships
    • activités

9. Identifiant Sling unique

Si l’identifiant Sling correspond entre deux instances de publication ou plus, la synchronisation de groupe d’utilisateurs échoue.
Si l’identifiant Sling est identique pour plusieurs instances de modification dans une ferme de publication, les groupes d’utilisateurs ne sont pas synchronisés.
Pour vérifier que toutes les valeurs d’identifiant Sling diffèrent, sur chaque instance de publication :
  1. naviguer vers http://<host>:<port>/system/console/status-slingsettings
  2. vérifiez la valeur de l’ identifiant Sling
Si l’identifiant Sling d’une instance de publication correspond à l’identifiant Sling d’une autre instance de publication, alors :
  1. arrêtez l’une des instances de publication qui possède un identifiant Sling correspondant
  2. dans le répertoire crx-quickstart/launchpad/felix
    • recherchez et supprimez le fichier nommé sling.id.file
      • par exemple, sur un système Linux :
        rm -i $(find . -type f -name sling.id.file)
      • par exemple, sur un système Windows :
        use windows explorer and search for *sling.id.file*
  3. de l’instance de publication
    • au démarrage, un nouvel identifiant Sling lui est affecté
  4. vérifiez que l’ identifiant Sling est à présent unique
Répétez ces étapes jusqu’à ce que toutes les instances de publication aient un identifiant Sling unique.

Fabrique Vault Package Builder

Pour que les mises à jour soient correctement synchronisées, il est nécessaire de modifier le générateur de module vault en vue de la synchronisation des utilisateurs :
  • pour chaque instance de publication AEM
  • accédez à la console Web
  • localisez la variable Apache Sling Distribution Packaging - Vault Package Builder Factory
    • Builder name: socialpubsync-vlt
  • sélectionnez l’icône de modification
  • ajouter deux Package Node Filters :
    • /home/users|-.*/.tokens
    • /home/users|-.*/rep:cache
  • gestion des stratégies :
    • pour remplacer les nœuds rep:policy existants par de nouveaux nœuds, ajoutez un troisième filtre de module :
      • /home/users|+.*/rep:policy
    • pour empêcher la distribution des stratégies, définissez
      • Acl Handling: IGNORE

What Happens When ...

L’utilisateur s’inscrit lui-même ou modifie le profil à la publication

Par défaut, les utilisateurs et les profils créés dans l’environnement de publication (inscription automatique) n’apparaissent pas dans l’environnement de création.
When the topology is a publish farm and user sync has been correctly configured, the *user *and user profile is synchronized across the publish farm using Sling distribution.

Les utilisateurs ou les groupes d’utilisateurs sont créés à l’aide de la console Sécurité.

Par défaut, les données utilisateur créées dans l’environnement de publication ne sont pas visibles dans l’environnement de création, et vice versa.
Lorsque la console Administration et sécurité des utilisateurs est utilisée pour ajouter de nouveaux utilisateurs dans l’environnement de publication, la synchronisation des utilisateurs synchronise les nouveaux utilisateurs et leur appartenance à un groupe sur d’autres instances de publication, si nécessaire. La synchronisation des utilisateurs synchronise également les groupes d’utilisateurs créés via la console de sécurité.

Résolution des incidents

Comment mettre la synchronisation des utilisateurs hors ligne

Pour que la synchronisation des utilisateurs puisse être mise hors ligne, afin de supprimer un éditeur ou de synchroniser manuellement les données , la file d’attente de distribution doit être vide et inactive.
Pour vérifier l’état de la file d’attente de distribution :
  • en mode de création:
      • look for entries in /var/sling/distribution/packages
        • nœuds de dossier nommés selon le schéma distrpackage_*
    • à l’aide du gestionnaire de modules
      • recherchez les modules en attente (pas encore installés)
        • named with the pattern socialpubsync-vlt*
        • created by communities-user-admin
Lorsque la file d’attente de distribution est vide, désactivez la synchronisation des utilisateurs :
Une fois les tâches accomplies, pour réactiver la synchronisation des utilisateurs :

Diagnostics de synchronisation des utilisateurs

L’outil Diagnostics de synchronisation des utilisateurs est un outil qui vérifie la configuration et tente d’identifier les éventuels problèmes.
On author, simply navigate from the main console through Tools, Operations, Diagnosis, User Sync Diagnostics.
Entrer simplement dans la console Diagnostics de synchronisation des utilisateurs a pour effet d’afficher les résultats.
Voici ce qui s’affiche lorsque la synchronisation des utilisateurs n’a pas été activée :

Comment exécuter les diagnostics pour les éditeurs

When the diagnostic is run from the author environment, the pass/fail results will include an # section displaying the list of configured publish instances for confirmation.
La liste comprend une URL de chaque instance de publication allant exécuter les diagnostics de cette instance. The url param syncUser is appended to the diagnostics URL with its value set to the authorized sync user created in Step 2 .
Remarque  : Avant le lancement de l’URL, l’ utilisateur de synchronisation autorisé doit déjà être connecté à cette instance de publication.

Configuration ajoutée de manière incorrecte

Lorsque la synchronisation des utilisateurs ne fonctionne pas, le problème le plus courant est que des configurations supplémentaires ont été ajoutées . Instead, the *existing *default configuration should have been edited .
Voici comment les configurations par défaut modifiées doivent apparaître dans la console Web. Si plusieurs instances apparaissent, la configuration supplémentaire doit être supprimée.

(création) Un agent de distribution Apache Sling - Fabrique d’agents de synchronisation

(création) Des informations d’identification de transfert de distribution Apache Sling - Fournisseur secret du transfert de distribution basé sur les informations d’identification de l’utilisateur

(publication) Un agent de distribution Apache Sling - Fabrique d’agents de file d’attente

(publication) Une synchronisation Adobe Social - Fabrique d’observateurs diff.

(création) Un déclencheur de distribution Apache Sling - Fabrique de déclencheurs planifiés

Modification de l’exception d’opération pendant le traitement des réponses

Si les éléments suivants sont visibles dans le journal :
org.apache.sling.servlets.post.impl.operations.ModifyOperation Exception during response processing.
java.lang.IllegalStateException: This tree does not exist
Then verify that the section 2. Create Authorized User was properly followed.
Cette section décrit la création d’un utilisateur autorisé, qui existe sur toutes les instances de publication, et son identification dans la configuration OSGi « Fournisseur secret » en mode de création. Par défaut, l’utilisateur est admin .
The authorized user should be made a member of the administrators user group and permissions for that group should not be altered.
L’utilisateur autorisé doit avoir explicitement les autorisations et la restriction suivante sur les instances de publication :
path
jcr:all
rep:glob
/home
X
/activities/
/home/users
X
/activities/
/home/groups
X
/activities/
As a member of the administrators group, the authorized user should have the following privileges on all publish instances:
path
jcr:all
jcr:read
rep:write
/etc/packages/sling/distribution
X
/libs/sling/distribution
X
/var
X
/var/eventing
X
X
/var/sling/distribution
X
X

La synchronisation du groupe d’utilisateurs a échoué

Si l’identifiant Sling correspond entre deux instances de publication ou plus, la synchronisation de groupe d’utilisateurs échoue.
Voir la section 9. Identifiant Sling unique .

Synchronisation manuelle d’utilisateurs et de groupes d’utilisateurs

To configure or enable user sync, go to step 1: Apache Sling Distribution Agent - Sync Agents Factory

Lorsqu’un éditeur n’est plus disponible

Lorsqu’une instance de publication n’est plus disponible, elle ne doit pas être supprimée si elle doit être de nouveau en ligne à l’avenir. Les modifications sont mises en file d’attente pour l’éditeur et, une fois l’instance de nouveau en ligne, elles sont traitées.
Si l’instance de publication n’est jamais remise en ligne, si elle est hors ligne de manière permanente, elle doit être supprimée, car l’accumulation de files d’attente entraînera une utilisation notable de l’espace disque dans le de l’auteur .
Lorsqu’un éditeur est en panne, le journal de création comporte des exceptions similaires à :
28.01.2016 15:57:48.475 ERROR
 [pool-12-thread-34-org_apache_sling_distribution_queue_socialpubsync_endpoint1
 (org/apache/sling/distribution/queue/socialpubsync/endpoint1)]
 org.apache.sling.distribution.agent.impl.SimpleDistributionAgent [agent][socialpubsync] could not deliver package distrpackage_1454014575838_a2b45ec8-0400-42f3-bed8-ae09b66381cb
 org.apache.sling.distribution.packaging.DistributionPackageImportException: failed in importing package ...

Comment supprimer un éditeur

Pour supprimer un éditeur de l’ Agent de distribution Apache Sling - Fabrique d’agents de synchronisation , la file d’attente de distribution doit être vide et silencieuse.