Migreer gebruikers, groepen, en ACLs tussen AEM instanties

Dit artikel verstrekt diverse methodes om Gebruikers en Groepen van ACL Toestemmingen in AEM van één server aan een andere of van één AEM instantie aan een andere te migreren.

Beschrijving description

Omgeving

Adobe Experience Manager 6.5 (AEM)

Probleem/symptomen

Migreer Gebruikers en Groepen met ACL Toestemmingen in AEM van één server aan een andere of van één AEM instantie aan een andere.

Resolutie resolution

Stap 1: Vind admin en anonieme gebruikers

  1. Ga naar CRXDE lijstapp /crx/de/index.jsp en login als admin gebruiker (op het bronsysteem).
  2. Ga naar Hulpmiddelen => Vraag .
  3. In het bodem vakje van de Vraag , ga deze vraag in om de admingebruiker te vinden: /jcr:root/home/users//element(*,rep:User)[ @rep:principalName="admin"].
  4. Klik uitvoeren , en kopieer de weg van de admin gebruikersknoop in de resultaten aan een tekstdossier.
  5. Herhaal stap 3 met een query voor anonieme gebruiker: /jcr:root/home/users//element(*,rep:User)[ @rep:principalName="anonymous"] .
  6. Klik uitvoeren , en kopieer de weg van de anonieme gebruikersknoop in de resultaten aan een tekstdossier (zodat hebt u nu twee wegen, voor "admin"en voor "anoniem"). Bijvoorbeeld:
    /home/users/Q/QY5FIMXeQIbGpwZtQ3Dv - Admin user on the source system
    /home/users/K/Kj1406Qo9IDODc_nk5Ib - anonieme gebruiker op het bronsysteem

Stap 2: Gebruikers en groepen migreren (met pakketten)

Als gebruikers niet automatisch zijn geïmporteerd via LDAP/SAML-verificatie of Crx2Oak (stap 2A hierboven), kunt u gebruikers en groepen verpakken.

In dit geval maakt u twee afzonderlijke pakketten op het oude systeem (met uitzondering van beheerders en anonieme gebruikers buiten de verpakking).

Voer de volgende stappen uit:

  1. Kopieer de weg van de anonieme en admin gebruikersknopen van de resultaten in Stap 1 ( Stap 1: Vind admin en anonieme gebruikers ) hierboven.

    Bijvoorbeeld:

    /home/users/Q/QY5FIMXeQIbGpwZtQ3Dv - de gebruiker beheren op het systeem waar u het pakket maakt, of

    /home/users/K/Kj1406Qo9IDODc_nk5Ib - anonieme gebruiker op het systeem waar u het pakket maakt

  2. Ga naar de Manager van het Pakket , http://host:port/crx/packmgr/index.jsp, en login als admin.

  3. Creeer pakket gebruikers.

  4. Voeg een filter aan het pakket toe config voor /home/users met deze sluit regels (op de /home/users filter) uit: (Nota: De lijst zou kunnen moeten veranderen als het product ** groepen/gebruikers van de AEM toevoegt/verwijdert)

    1. exclusief /home/users/.*/.tokens
    2. exclude /home/users/Q/QY5FIMXeQIbGpwZtQ3Dv
    3. /home/users/K/Kj1406Qo9IDODc_nk5Ib
    4. exclusief /home/users/a/admin
    5. exclusief /home/users/a/anoniem
    6. exclusief /home/users/system
    7. exclude /home/users/geometrixx
    8. exclusief /home/users/media
    9. exclusief /home/users/projects
    10. exclusief /home/users/mac
  5. Maak het pakket.

  6. Download het pakket.

  7. Pak het ZIP-bestand van het pakket uit op de computer: jar -xvf users.zip META-INF/vault/filter.xml

  8. Open het bestand META-INF/vault/filter.xml in een teksteditor.

  9. Voeg wijze = samenvoegen aan de <filter ...> markering toe, bijvoorbeeld:

    code language-none
    <?xml version="1.0" encoding="UTF-8"?>
        <workspaceFilter version="1.0">
        <filter root="/home/users" mode="merge">
        <exclude pattern="/home/users/.*/.tokens"/>
        <exclude pattern="/home/users/Q/QY5FIMXeQIbGpwZtQ3Dv"/>
        <exclude pattern="/home/users/K/Kj1406Qo9IDODc_nk5Ib"/>
        <exclude pattern="/home/users/a/admin"/>
        <exclude pattern="/home/users/a/anonymous"/>
        <exclude pattern="/home/users/system"/>
        <exclude pattern="/home/users/geometrixx"/>
        <exclude pattern="/home/users/media"/>
        <exclude pattern="/home/users/projects"/>
        <exclude pattern="/home/users/mac"/>
        </filter>
        </workspaceFilter>
    
  10. Pak de gewijzigde inhoud van het pakket opnieuw in zodat deze de wijziging bevat.

    jar -uvf users.zip META-INF/vault/filter.xml

  11. Creeer het pakket van de a groepen dat een filterregel /home/groups bevat.

  12. Herhaal stap 1-10 voor het groepspakket.

  13. (Verbetering slechts) als het uitvoeren van migratie aan een nieuwere AEM versie, een nieuwe lokale AEM instantie van de oude versie ( met nosamplecontent) installeren, en zowel het gebruikerspakket, als het groepspakket installeren, daar. Voer vervolgens een upgrade ter plekke uit naar de nieuwe versie op die instantie. Hiermee worden de gebruikers geconverteerd naar de nieuwe Oak-weergave. Na de upgrade op de locatie herverpakken de gebruikers opnieuw om ze naar de gewenste geüpgrade instantie te verzenden. Doe het zelfde voor de gebruikersgroepen.

  14. Installeer het gebruikerspakket op het nieuwe systeem.

  15. Installeer het groepspakket op het nieuwe systeem.

  16. Als u van een oudere AEM versie aan 6.3 migreert, ga naar /useradmin UI en voeg de gebruiker replicatie-ontvanger aan de beheerders groep toe.

Stap 3. ACL's migreren

(NOTA: Het gemaakte pakket zou ACLs slechts moeten omvatten die nodig zijn) Merk op dat de machine waar u deze bevelen in werking stelt Mac OS, Linux, of Vensters (gebruikend Cygwin) moet zijn met krullen, python, en geïnstalleerde SDK van Java.

  1. Ga naar http://src-aem-host:port/crx/packmgr/index.jsp, en login als admin.

  2. Creeer een pakket genoemd ACL-migratie.

  3. Klik uitgeven knoop.

  4. Selecteer het Geavanceerde lusje en de reeks AC Behandelende wijze aan Fusie.

  5. Opslaan.

  6. Maak het pakket en download het.

  7. Voer in het bestandssysteem deze opdracht uit op het pakket om het META-INF/vault/filter.xml -bestand te extraheren:

    jar -xvf ACL-migration-1.0.zip META-INF/vault/filter.xml

  8. Voer deze opdracht in dezelfde map uit om een JSON-bestand van de ACL-paden onder /content te downloaden van de broninstantie (stel de gebruikersnaam, het wachtwoord en de correcte host in):

    curl -u admin:admin 'http://aemhost/crx/de/query.jsp?' -G --data-urlencode '_dc=1507011481908&_charset_=utf-8&type=xpath&stmt=/jcr:root/content//element(*,rep:ACL)&showResults=true' > data.json

  9. Maak een bestand generate-package-filter.py en plak de onderliggende pythoncode:\

    code language-none
    import json
    from pprint import pprint
    with open ('data.json') as data_file:
     data = json.load(data_file)
    print("<?xml version=\"1.0\" encoding=\"UTF-8\"?>")
    print("<workspaceFilter version=\"1.0\">")
    form item in data[ "results"] :
     print("<filter root=\"{path}\" />" . format(path=item[  "path"] ))
    print("</workspaceFilter>")
    
  10. Voer het pythonscript uit vanuit dezelfde map als waarin data.json is gemaakt en sla de uitvoer op in META-INF/vault/filter.xml (vervang de bestaande inhoud van filter.xml):

    python generate-packge-filter.py > META-INF/vault/filter.xml

  11. Gebruik deze opdracht om de filter.xml in het ZIP-bestand bij te werken:

    jar -uvf ACL-migration-1.0.zip META-INF/vault/filter.xml

  12. Upload het ZIP-bestand naar het pakketbeheer voor de broninstantie: http://src-aem-host:port/crx/packmgr/index.jsp

  13. Klik bouwen of herbouwt om het pakket te bouwen.

  14. Download het pakket van de bron AEM server.

  15. Upload het pakket naar het pakketbeheer van de AEM server: http://dst-aem-host:port/crx/packmgr/index.jsp

  16. Klik installeren om het te installeren.

  17. Herhaal stap 8-16 voor alle andere paden die de opdracht Padkrullen wijzigen. De ACL's worden dan bijvoorbeeld onder /etc in plaats van onder /content geplaatst:

curl -u admin:admin 'http://aemhost/crx/de/query.jsp?' -G --data-urlencode '_dc=1507011481908&_charset_=utf-8&type=xpath&stmt=/jcr:root/etc//element(*,rep:ACL)&showResults=true' > data.json

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f