User Sync Tool - veelvoorkomende fouten

Enkele veelvoorkomende fouten bij het uitvoeren van de UST en tips om deze op te lossen

FileNotFoundError: [Errno 2]

Voorbeeld van foutuitvoer console:

FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\USER\\.pex\\install\\pycryptodome [...]'

Wordt mogelijk op Windows weergegeven vanwege paden van meer dan 256 tekens.

Tip: maak een omgevingsvariabele met de naam PEX_ROOT met de waarde C:\pex (als het script wordt uitgevoerd vanaf de C:-schijf, of verander de letter zodat deze overeenkomt). Soms moet u het systeem opnieuw opstarten voordat het in werking treedt.

 

kan het bestand 'user-sync.pex' niet openen: [Errno 2]

Voorbeeld van foutuitvoer console:

python: can't open file 'user-sync.pex': [Errno 2] No such file or directory

Tip: zorg dat u de Python-opdrachtregel uitvoert vanuit de map waarin user-sync.pex zich bevindt.

 

UMAPI-timeout

Voorbeeld van foutuitvoer console:

2018-01-01 11:49:42 28102 WARNING umapi - UMAPI timeout...service unavailable (code 429 on try 1)
2018-01-01 11:49:42 28102 WARNING umapi - Next retry in 42 seconds...

Tip: deze waarschuwingsberichten zijn normaal. Als de server bezet is, antwoordt het met HTTP-code 429, dus het probleem zou opgelost kunnen worden door het opnieuw te proberen. UST heeft een exponentieel uitstelmechanisme om de aanroep opnieuw te proberen, waardoor de tijd tussen de pogingen toeneemt. Het script stopt na drie mislukte pogingen.

error.user.belongs_to_another_org

Voorbeeld van een logboekvermelding (foutopsporingsmodus):

2018-01-01 11:49:42 28102 ERROR umapi.action - Error in requestID: action_1 (User: {'user': 'myuser@domain2.com', 'requestID':'action_1'}, Command: {'createFederatedID': {'email': 'myuser@domain2.com', 'country': 'US', 'option': 'ignoreIfAlreadyExists', 'firstname': 'fname', 'lastname': 'lname'}}): code: "error.user.belongs_to_another_org" message: "Illegal to invite user from another organization's owned auth src"

Tip: het domein dat wordt gebruikt om het account aan te maken wordt mogelijk niet geclaimd/vertrouwd binnen uw organisatie. Er moet een groene vlag of punt verschijnen voor de actieve domeinen in Admin Console -> Instellingen. Als dat niet het geval is, kan het afronden van het domeinclaimproces dit oplossen.

error.user.type_mismatch

Voorbeeld van een logboekvermelding (foutopsporingsmodus):

2018-01-01 12:34:23 13383 ERROR umapi.action - Error in requestID: action_6 (User: {'user': ‘user@domain.com’, 'requestID': 'action_6'}, Command: {'createEnterpriseID': {'email': 'user@domain.com', 'option': 'updateIfAlreadyExists', 'firstname': 'test', 'lastname': 'user', 'country': ‘US’}}): code: "error.user.type_mismatch" message: "The user type requested for the invite does not match the claimed domain type"

Tip: er wordt geprobeerd een federatedID-account aan te maken, maar de map wordt gemaakt voor gebruik met Enterprise of andersom. Zoek het attribuut user_identity_type in het bestand user-sync-config.yml. Wijzig de waarde volgens het type map dat wordt weergegeven in de Admin Console (Instellingen > Identiteit > Domeinen > Maptype waarde voor het gegeven domein).

Voorbeeld van een logboekvermelding (foutopsporingsmodus):

Ontbrekende afhankelijkheden

Voorbeeld van foutuitvoer console:

Failed to execute PEX file, missing compatible dependencies for:
pyyaml
cryptography
cffi
umapi-client
pycryptodome
pyldap
psutil
user-sync

Tips:

a) Controleer of de Python-versie die u op uw systeem hebt geïnstalleerd de 32 bits-versie is. Verwijder de 32 bits-versie en installeer de 64 bits-versie om het probleem op te lossen.

b) Controleer of de user-sync.pex-versie die u via GitHub heeft gedownload overeenkomt met uw Python-versie en besturingssysteem. Bijvoorbeeld: user-sync-v2.3-win64-py365.zip is te downloaden voor Windows 64-bits en Python 3.

De nieuwste versie van Python gebruiken is niet altijd een goed idee. Het is beter om de Python-versie waarin de .pex gebouwd is te zoeken. Volg het achtervoegsel van het gedownloade .zip-bestand om te bepalen welke Python-versie werkt. In het bovenstaande voorbeeld (user-sync-v2.3-win64-py365.zip) kan Python 3.6.5 worden geïdentificeerd.

Fout bij het ontsleutelen van de persoonlijke sleutel

Voorbeeld van een logboekvermelding (foutopsporingsmodus):

2018-01-01 09:52:23 7920 DEBUG umapi - umapi: reading private key data from file C:\path\to\private.key
2018-01-01 09:52:23 7920 CRITICAL main - umapi configuration.enterprise: Error decrypting private key, either the password is wrong or: RSA key format is not supported

Tips:

a) Soms kan de persoonlijke sleutel tekens zonder data of lege regels bevatten die per ongeluk zijn ingevoegd. Probeer de lege regels te verwijderen of genereer het persoonlijke en openbare sleutelpaar opnieuw.

b) Gebruik het attribuut umapi_private_key_data niet als u het script in Windows uitvoert. In plaats daarvan versleutelt u de sleutel en slaat u het wachtwoord op in Referentiebeheer.

c) Probeer een persoonlijke sleutel van RSA256/2048-bits als u een andere indeling gebruikt.

d) Het is mogelijk dat u secure_priv_key_pass_key: umapi_private_key_passphrase in het bestand connector-umapi.yml hebt opgezet. Zorg er in dit geval voor dat de vermelding in Referentieopslagplaats voor deze en de bijbehorende waarden overeenkomen (zie hieronder).

Windows Referentiebeheer

Geen waarde in veilige opslag voor gebruiker...

Voorbeeld van een logboekvermelding (foutopsporingsmodus):

2018-01-01 09:52:23 7920 CRITICAL main - umapi CRITICAL main - umapi configuration.enterprise: No value in secure storage for user "someUUIDvalue@AdobeOrg", key "umapi_api_key"

Tips:

a) de vermelding voor de Referentieopslagplaats van umapi_api_key ontbreekt mogelijk. Maak de vermelding aan in Referentieopslagplaats. Help-documentatie vindt u hier.

b) Het kan zijn dat de waarde is toegevoegd aan Referentieopslagplaats onder een ander gebruikersaccount. Deze vermelding ontbreekt echter voor de huidige verbonden gebruiker. Voeg het indien nodig toe, of verander van gebruikersaccount.

error.internal.exceptionflys / error.unauthorized


		
	





Voorbeeld van foutuitvoer console:

umapi_client.error.RequestError: Request Error (401): {"lastPage":false,"result":"error.internal.exceptionflys","message":"Failed to exchange token"}

OR

"umapi_client.error.RequestError: Request Error (401): {"lastPage":false,"result":"error.unauthorized","message":"Failed to authenticate provided token"}"

Tip: het kan zijn dat in Admin Console -> Instellingen -> Verificatie-instellingen er een andere optie is geselecteerd dan Makkelijkst voor gebruikers (wachtwoord vervalt nooit). Als de optie Veiliger of Veiligst is ingeschakeld, kan het wachtwoord van de aan de integratie gekoppelde Technische account vervallen.

Om het probleem op te lossen, moet een nieuwe integratie worden gemaakt. Zorg dat de metadata ook in het bestand connector-umapi.yml wordt vernieuwd.

Er is een oplossing voor geïmplementeerd, maar deze kan invloed hebben op integraties die voor oktober 2018 zijn aangemaakt.

Kan geen nieuwe verbinding tot stand brengen [Errno 10061]

Voorbeeld van foutuitvoer console:

ConnectionError: HTTPSConnectionPool(host='usermanagement.adobe.io', port=443): Max retries exceeded with url: /v2/usermanagement/users/someUUID@AdobeOrg/0?directOnly=True (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x00000000027B9630>: Failed to establish a new connection: [Errno 10061] No connection could be made because the target machine actively refused it',))

Tip:

Het heeft te maken met het feit dat UST geen verbinding kan maken met de openbare API-eindpunten. Lokale instellingen kunnen de toegang verhinderen  als gevolg van firewallregels, verkeer dat proxy's blokkeert, accountinstellingen voor internettoegang en meer.

In bepaalde situaties kan het helpen om deze twee omgevingsvariabelen toe te voegen:

http_proxy en de bijbehorende waarde van de indeling http://<host proxy>:<port>

http_proxy en de bijbehorende waarde van de indeling https://<host proxy>:<port>

In andere gevallen kan het toestaan van toegang tot deze eindpunten helpen:

ims-na1.adobelogin.com:443

usermanagement.adobe.io:443

Het kan alleen lokaal worden opgelost door toegang tot de bovenstaande eindpunten mogelijk te maken voor het lopende account.

De metascopen in de JWT zijn geen subset van de metascopen in de binding

Voorbeeld van een logboekvermelding (foutopsporingsmodus):

2017-07-07 09:01:37 4916 CRITICAL main -  Connection to org [...] at endpoint https://usermanagement.adobe.io/v2/usermanagement failed: Unable to authorise against https://ims-na1.adobelogin.com/ims/exchange/jwt: Response Code: 400, Response Text: {"error_description":"The metascopes in the JWT are not a subset of the metascopes in the binding.","error":"invalid_scope"}

Tip: ga naar de door u gemaakte integratie op https://console.adobe.io/projects en kijk in het linkermenu waar de API's staan vermeld. Zorg dat de User Management API wordt toegevoegd als een service (verschijnt in de lijst). 

Er zijn geen geldige bindingen gevonden voor de combinatie van de organisatie en het technische account

Voorbeeld van een logboekvermelding (foutopsporingsmodus):

2017-07-07 09:01:37 4916 CRITICAL main - UMAPI connection to org id 'someUUIDvalue@AdobeOrg' failed: Unable to authorize against https://ims-na1.adobelogin.com/ims/exchange/jwt:
Response Code: 400, Response Text: {"error_description":"No valid bindings were found for organization and technical account combination","error":"invalid_token"}

Tips:

a) Dit kan komen doordat de waarde tech_acct in het bestand connector-umapi.yml overeenkomt met een andere waarde dan het technische account-ID in de integratie op https://console.adobe.io. Controleer de waarde van het technische account-ID van de huidige integratie en kopieer deze naar dit bestand.

b) Dit kan ook komen doordat het openbare certificaat van de integratie verlopen is. Vernieuw de persoonlijke en openbare sleutel. Upload vervolgens de openbare sleutel en vervang de oude persoonlijke privésleutel door de nieuwe. Controleer dat het pad in het bestand connector-umapi.yml naar het juiste bestand wijst.

c) Controleer of de integratie voor de juiste organisatie is gemaakt. Selecteer de organisatie in de vervolgkeuzelijst linksboven op https://console.adobe.io/integrations. Controleer vervolgens de waarde van het technische account-ID voor de actieve integratie samen met de andere metagegevens (org-ID, geheim ID en client-ID).

SSL: CERTIFICATE_VERIFY_FAILED

Voorbeeld van een logboekvermelding (foutopsporingsmodus):

2017-07-07 09:01:37 4916 CRITICAL main - UMAPI connection to org id 'someUUIDvalue@AdobeOrg' failed: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:661)

Tip: Het kan voorkomen omdat er SSL-controle is ingeschakeld op de proxyserver (instelling van de lokale omgeving)

Oplossing1: verkrijg het CA-certificaat van de firewall in PEM-indeling (ga ervan uit dat de naam thecert.crtis). Als de DER-indeling wordt gebruikt, verander het dan naar PEM met behulp van de openssl-opdracht:

openssl x509 -inform DER -in thecert.crt -out thecert.pem -outform PEM

Opmerking: als u niet zeker weet of het .crt-bestand al de PEM-indeling heeft, voer dan eerst de volgende opdrachtregels uit en kijk welke er mislukt.

openssl x509 -text -inform DER -in thecert.crt
openssl x509 -text -inform PEM -in thecert.crt

Als de DER-opdracht mislukt, heeft het bestand al de PEM-indeling. Geef dan thecert.crt de naam thecert.pem. Verander het anders in PEM met de eerste openssl-opdrachtregel hierboven.

Maak vervolgens een omgevingsvariabele aan met de naam REQUESTS_CA_BUNDLE en stel de waarde ervan in als het pad naar het bestand cert.pem.

Oplossing2: op Windows, in gevallen waar de tool wordt uitgevoerd vanuit een ander stuurprogramma dan dat waar het besturingssysteem en Python zijn geïnstalleerd. In dit geval kan het de bundel met vertrouwde basis-CA-certificaten niet bereiken. Het hele script verplaatsen op de schijf waar het besturingssysteem op staat kan een oplossing zijn. Als dit geen optie is, moet het cacert-bestand met alle vertrouwde basis-CA's als doel voor de env-variabele REQUESTS_CA_BUNDLE worden gebruikt. Als een proxy het SSL-verkeer controleert, moet de inhoud van het basis-CA-certificaat worden gekopieerd binnen het cacert.pem-bestand om de certificaten te controleren.

Let op: een standaard Python-installatie zou de bundel certificaten hebben op C:\Python36\Lib\site-packages\certifi\cacert.pem moeten hebben.

Oplossing3: schakel de SSL-controle aan de proxyzijde uit voor de API-eindpunten ims-na1.adobelogin.com en usermanagement.adobe.io

Geen groep gevonden [...]

Voorbeeld van een logboekvermelding (foutopsporingsmodus):

2018-01-01 09:01:37 4916 WARNING ldap - No group found for: Name_Of_The_Group

Tips:

a) Deze groep bestaat niet in LDAP met die exacte naam. Los dit op door de juiste LDAP-naam van de groep toe te voegen

b) De groep is niet detecteerbaar onder de gedeclareerde base_dn (zie het bestand connector-ldap.yml). Wijzig de waarde van base_dn zodat het de genoemde groep bevat (dit komt vooral voor wanneer base_dn naar een organisatie-eenheid wijst).

error.group.not_found

Voorbeeld van een logboekvermelding (foutopsporingsmodus):

2018-01-01 11:25:45 1 ERROR umapi.action - Error in requestID: action_1 (User: {'user': 'myuser@domain.com', 'useAdobeID': True, 'requestID': 'action_1'}, Command: {'add': {'product': ['group_name']}}): code: "error.group.not_found" message: "Group my_group_name was not found"

Tip: de gebruikersgroep group_name in de bovenstaande uitvoer bestaat niet bij Adobe, dus u kunt deze gerust aanmaken. Als het de bedoeling was om de naam van een PLC in te stellen in plaats van een gebruikersgroep, kijk dan op deze documentatiepagina voor een meer visuele uitleg.

afbeelding niet gevonden

Voorbeeld van een logboekvermelding (foutopsporingsmodus):

2018-09-05 10:58:08 96329 CRITICAL main - Connection to org some_Org_UUID@AdobeOrg at endpoint https://usermanagement.adobe.io/v2/usermanagement failed: dlopen(/Users/user/.pex/install/cryptography-2.3-cp37-cp37m-macosx_10_12_x86_64.whl.f77d5cc74b0deef9f1df7eacfe5f5ea57ed94a63/cryptography-2.3-cp37-cp37m-macosx_10_12_x86_64.whl/cryptography/hazmat/bindings/_openssl.abi3.so, 2): Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
  Referenced from: /Users/user/.pex/install/cryptography-2.3-cp37-cp37m-macosx_10_12_x86_64.whl.f77d5cc74b0deef9f1df7eacfe5f5ea57ed94a63/cryptography-2.3-cp37-cp37m-macosx_10_12_x86_64.whl/cryptography/hazmat/bindings/_openssl.abi3.so
  Reason: image not found
2018-09-05 10:58:08 96329 INFO main - ========== End Run (User Sync version: 2.3) (Total time: 0:00:00) 

Tip: deze fout is opgenomen op een macOS High Sierra, bij gebruik van UST v2.3, met  Python 3.7.0. Door brew install openssl in de Terminal uit te voeren werd het probleem opgelost voor dit specifieke scenario.

Kan geen persoon aanmaken voor type 2 of 3 [...]

Voorbeeld van een logboekvermelding (foutopsporingsmodus):

2019-07-28 07:17:51 2220 ERROR umapi.action - Error in requestID: action_1 (User: {'user': 'user@claimed-domain.com', 'requestID': 'action_1'}, Command: {'createFederatedID': {'email': 'user@claimed-domain.com', 'option': 'updateIfAlreadyExists', 'firstname': 'First', 'lastname': 'Last', 'country': 'US'}}): code: "error.internal.create_failed" message: "Could not create person for type 2 or 3. Renga result is NOT_ALLOWED, Resource is externally managed and token is missing the GROUP_SOURCE_UPDATE purpose."

Soms is @claimed-domain.com eigendom van een andere organisatie die een Azure- of Google-connector heeft opgezet om de synchronisatie van accounts naar de Admin Console te beheren. Dit domein wordt dan toevertrouwd aan een andere organisatie die de User Sync Tool gebruikt om accounts met de indeling @claimed-domain.com te synchroniseren

Oorzaak: het geregistreerde bericht verschijnt wanneer de Sync-tool het account
 user@claimed-domain.com uit een LDAP-server ophaalt om deze in de secundaire organisatie aan te maken. Het account is echter nog niet aangemaakt/gesynchroniseerd in de hoofdorganisatie via de Azure- of Google-connector.

Tip: probeer het account user@claimed-domain.com  in de organisatie aan te maken/synchroniseren met de Azure- of Google-connector en probeer vervolgens opnieuw te synchroniseren met de UST in de vertrouwde organisatie.

Onverwachte LDAP-fout bij het lezen van [...]

Voorbeeld van een logboekvermelding (foutopsporingsmodus):

2018-09-05 10:58:08 96329 6348 CRITICAL main - Unexpected LDAP failure reading group info: {'desc': 'Referral', 'info': 'Referral:\nldap://domain.local/DC=sub,DC=domain,DC=local'}

Mogelijke oorzaak: de groep(en) van belang bevinden zich in een subdomein, maar de waarde van de host is een van de hoofddomeinen.

Tip: verander de waarde van de host in de waarde van één van de subdomeinen waar gebruikersgroepen staan. Als gebruikers of groepen van belang zich in zowel het hoofddomein als in de subdomeinen bevinden, gebruik dan de globale cataloguspoort op het hoofddomein. Wijzig de groepen in de subdomeinen naar Universeel in plaats van Globaal. Voorbeeld van hostwaarde met behulp van globale catalogus:  ldap://domain.local:3268 of ldaps://domain.local:3269

In dit laatste scenario zorgt u dat als de globale cataloguspoort wordt gebruikt, de base_dn-waarde geen waarde heeft:

base_dn: ""

Krijg sneller en gemakkelijker hulp

Nieuwe gebruiker?