User Sync-værktøjet – almindelige problemer

Her er nogle af de almindelige problemer, der kan opstå, når du kører UST, og hvordan du løser dem

Fil ikke fundet: [Fejlnr. 2]

Eksempel på fejlmeddelelse:

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

Kan opstå i Windows, hvis stierne har mere end 256 tegn.

Tip: opret en miljøvariabel PEX_ROOT med værdien C:\pex (hvis scriptet køres fra C-drevet, ellers udskift drevbogstavet). Nogle gange skal computeren genstartes, før ændringen træder i kraft.

 

filen "'user-sync.pex" kan ikke åbnes: [Fejlnr. 2]

Eksempel på fejlmeddelelse:

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

Tip: Sørg for, at python-kommandoen køres fra den mappe, der hvor filen user-sync.pex er placeret.

 

UMAPI-timeout

Eksempel på fejlmeddelelse:

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: Disse advarsler er normale. Når serveren er optaget, svarer den med en 429 HTTP-kode, så du skal bare prøve igen. UST har en indbygget funktion, der automatisk prøver kommandoen igen med ekspotentielt tiltagende pauser imellem. Scriptet stopper efter tre mislykkede forsøg.

error.user.belongs_to_another_org

Eksempel på post i loggen (fejlfindingstilstand):

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: det domæne, der blev brugt til at oprette kontoen, er måske ikke blevet godkendt eller tilføjet til listen over pålidelige domæner i organisationen. Aktive domæner har en grøn markering i Administratorkonsol -> Indstillinger. Hvis det ikke er tilfældet, skal du prøve at godkende domænet og se, om dette løser problemer.

error.user.type_mismatch

Eksempel på post i loggen (fejlfindingstilstand):

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: der forsøges at få oprettet en konto af typen federatedID, men det bibliotek, der oprettes, er af typen Enterprise (eller omvendt). Find frem til attributten user_identity_type i filen user-sync-config.yml. Rediger værdien, så den matcher typen af det bibliotek, der vises i administratorkonsollen (Indstillinger > Identitet > Domæner > Type bibliotek for det pågældende domæne).

Eksempel på post i loggen (fejlfindingstilstand):

Manglende afhængigheder

Eksempel på fejlmeddelelse:

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

Tip:

a) Kontrollér, om den Python-version, der er installeret computeren, er 32-bit. Hvis det er en 32-bit-version, så afinstaller den, og installer 64-bit-versionen i stedet.

b) Kontrollér, om den version af user-sync.pex, som du hentede fra GitHub, er kompatibel med den version af Python og det operativsystem, du har. Du skal f.eks. hente user-sync-v2.3-win64-py365.zip, hvis du har Windows 64-bit og Python 3.

Det er ikke altid en god ide at bruge den allernyeste version af Python. Det er altid bedst at bruge den version af Python, som .pex-filen blev designet til. Suffikset på den .zip-fil, du har hentet, angiver den version af Python, der er kompatibel med filen. Filen i eksemplet ovenfor (user-sync-v2.3-win64-py365.zip) er kompatibel med Python 3.6.5.

Fejl ved dekryptering af privat nøgle

Eksempel på post i loggen (fejlfindingstilstand):

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

Tip:

a) Nogle gange kan den private nøgle indeholde nogle udaterede tegn eller tomme linjer, der er indsat ved en fejltagelse. Prøv at fjerne de tomme linjer, eller generer sættet med den private og offentlige nøgle igen.

b) Brug ikke attributten umapi_private_key_data, hvis du kører scriptet i Windows. Krypter i stedet nøglen, og gem adgangskoden i Styring af legitimationsoplysninger.

c) Prøv med en privat nøgle af typen RSA256/2048bits, hvis du bruger et andet format.

d) Du har måske oprettet secure_priv_key_pass_key: umapi_private_key_passphrase i filen connector-umapi.yml. Hvis det er tilfældet, skal du sikre dig, at posten i Lager med legitimationsoplysninger for denne og de tilknyttede værdier stemmer overens (se nedenfor).

Styring af legitimationsoplysninger i Windows

Der er ingen værdi for sikker lagerplads for brugeren ...

Eksempel på post i loggen (fejlfindingstilstand):

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"

Tip:

a) Posten i Lager med legitimationsoplysninger for umapi_api_key mangler muligvis. Opret posten i Lager med legitimationsoplysninger. Oplysninger om, hvordan dette gøres, findes her.

b) Værdien i Lager med legitimationsoplysninger er muligvis blevet tilføjet under en anden brugerkonto. Men posten mangler for den aktuelle bruger. Tilføj den om nødvendigt, eller skift brugerkonti.

error.internal.exceptionflys/error.unauthorized


		
	





Eksempel på fejlmeddelelse:

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: Det er muligt, at under Administratorkonsol -> Indstillinger -> Authentication er der valgt en anden indstilling end Nemmest for brugeren (Adgangskoden udløber aldrig). Hvis indstillingen Mere sikker eller Mest sikker er aktiveret, kan adgangskoden til Teknisk konto, der er knyttet til integrationen, være udløbet.

Problemet kan løses ved at oprette en ny integration. Sørg for, at metadataene også opdateres i filen connector-umapi.yml.

En opdatering, der løser dette problem, er blevet udgivet, men integrationer, der blev oprettet inden oktober 2018, kan stadig være påvirket.

En ny forbindelse kunne ikke oprettes [Fejlnr. 10061]

Eksempel på fejlmeddelelse:

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:

Problemet skyldes, at UST ikke kan oprette forbindelse til de offentligt tilgængelige API-slutpunkter. Den manglende adgang kan skyldes  firewall-regler, en proxyserver, der blokerer trafikken, kontoindstillinger for internetadgang osv.

I nogle situationer kan problemet løses ved at tilføje følgende to variabler:

http_proxy sammen med et værdi i formatet http://<værtsproxy>:<port>

https_proxy sammen med et værdi i formatet https://<værtsproxy>:<port>

Andre gange kan det hjælpe at give adgang til disse slutpunkter:

ims-na1.adobelogin.com:443

usermanagement.adobe.io:443

Det kan kun løses lokalt ved at sørge for, at den aktuelle konto har adgang til ovennævnte slutpunkter.

Metascope-værdierne i JWT er ikke en del af metascope-værdierne i bindingen

Eksempel på post i loggen (fejlfindingstilstand):

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: Gå ind på den integration, du har oprettet, på https://console.adobe.io/projects, og kontrollér API'erne i menuen i venstre side. Kontrollér, at API'en til brugerstyring er tilføjet som en tjeneste, så den findes på listen. 

Der blev ikke fundet nogen gyldige bindinger for organisationen og den tekniske konto

Eksempel på post i loggen (fejlfindingstilstand):

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"}

Tip:

a) Problemet kan skyldes, at værdien af tech_acct i filen connector-umapi.yml svarer til en anden værdi end det tekniske konto-id i integrationen på https://console.adobe.io. Kontrollér værdien for det tekniske konto-id i den aktuelle integration, og kopiér den til denne fil.

b) Det kan også skyldes, at det offentlige certifikat i integrationen er udløbet. Forny den private og den offentlige nøgle. Upload derefter den offentlige nøgle, og erstat den gamle private nøgle med den nye nøgle. Bekræft, at stien i connector-umapi.yml peger til den rigtige fil.

c) Kontrollér, at integrationen er oprettet for den rigtige organisation. Vælg organisationen på rullelisten øverst til venstre på https://console.adobe.io/integrations. Kontrollér derefter værdien for det tekniske konto-id for den aktive integration og de andre metadata (Org ID, secret og client ID).

SSL: CERTIFICATE_VERIFY_FAILED

Eksempel på post i loggen (fejlfindingstilstand):

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: Problemet kan skyldes, at der er aktiveret SSL-tjek som en lokal indstilling på proxyserveren

Løsning 1: Skaft firewallens CA-certifikat i PEM-format (under forudsætning af, at navnet er thecert.crt). Hvis der bruges DER-format, skal du konvertere det til PEM-format ved hjælp af openssl-kommandoen:

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

Bemærk: hvis du er usikker på, om .crt-filen allerede er i PEM-format eller ej, skal du køre disse kommandoer først og se, hvilken af dem der giver fejl.

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

Hvis det er DER-kommandoen, der giver fejl, er filen allerede i PEM-format, så omdøb thecert.crt til thecert.pem, eller konverter den til PEM-format vha. den første openssl-kommando nævnt ovenfor.

Opret derefter en variabel med navnet REQUESTS_CA_BUNDLE, og tildel den værdien svarende til stien til filen thecert.pem.

Løsning 2: Gælder i tilfælde, hvor værktøjet køres i Windows og fra et andet drev end det, hvor operativsystemet og Python er installeret. Værktøjet kan i sådan en situation ikke finde de pålidelige CA-rodcertifikater. Problemet kan løses ved at flytte hele scriptet til det drev, som operativsystemet er installeret på. Hvis dette ikke er muligt, skal den cacert-fil, der indeholder de pålidelige CA-rodcertifikater, bruges som destination i variablen REQUESTS_CA_BUNDLE. Hvis SSL-trafikken kontrolleres af en proxyserver, skal indholdet af CA-rodcertifikatet kopieres til filen cacert.pem, så certifikaterne kan bekræftes.

Bemærk: I en standard Python-installation findes certifikaterne på følgende placering: C:\Python36\Lib\site-packages\certifi\cacert.pem.

Løsning 3: deaktiver SSL-tjek i proxyserveren for API-slutpunkterne ims-na1.adobelogin.com og usermanagement.adobe.io

Der blev ikke fundet nogen gruppe [...]

Eksempel på post i loggen (fejlfindingstilstand):

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

Tip:

a) Gruppen med dette navn findes ikke i LDAP. Problemet kan løses ved at bruge gruppens korrekte LDAP-navn

b) Gruppen findes ikke i den angivne base_dn (se filen connector-ldap.yml). Rediger værdien af base_dn, så den indeholder den relevante gruppe (problemet opstår typisk, når base_dn peger på en OU).

error.group.not_found

Eksempel på post i loggen (fejlfindingstilstand):

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: Brugergruppen gruppenavn i eksemplet ovenfor findes ikke på Adobe-siden,, så opret den. Hvis hensigten var at angive navnet på en PLC i stedet for en brugergruppe, findes der en visuel forklaring på denne side i dokumentationen.

billede blev ikke fundet

Eksempel på post i loggen (fejlfindingstilstand):

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: denne fejlmeddelelse stammer fra macOS High Sierra med UST v2.3, og  Python 3.7.0-kommandoen brew install openssl køres i Terminal.

Person for type 2 eller 3 kan ikke oprettes [...]

Eksempel på post i loggen (fejlfindingstilstand):

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."

I visse tilfælde tilhører @claimed-domain.com en anden organisation, der har konfigureret en Azure- eller Google-connector til at håndtere synkroniseringen af konti til administratorkonsollen. Dette domæne overdrages derefter til en anden organisation, der bruger User Sync-værktøjet til at synkronisere kontiene i formatet @claimed-domain.com

Årsag: Denne fejlmeddelelse vises i loggen, når Sync-værktøjet henter kontoen
 bruger@claimed-domain.com fra en LDAP-server for at oprette den i den sekundære organisation. Imidlertid er kontoen endnu ikke oprettet/synkroniseret i hovedorganisationen via Azure- eller Google-connectoren.

Tip: prøv at oprette/synkronisere kontoen bruger@claimed-domain.com i den primære organisation vha. Azure- eller Google-connectoren, og prøv derefter igen at synkronisere med UST i den sekundære organisation.

Uventet LDAP-fejl ved læsning af [...]

Eksempel på post i loggen (fejlfindingstilstand):

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'}

Mulig årsag: Den relevante gruppe/grupperne er placeret i et underdomæne, men host-værdien er et root-domæne.

Tip: Sæt værdien host til et af de underdomæner, der indeholder de relevante brugergrupper. Hvis de relevante brugere eller grupper findes i både root-domænet og dets underdomæner, skal du bruge en global katalogport på root-domænet. Sæt grupperne i underdomænerne til at være af typen Universel i stedet for Global. Eksempel på en værtsværdi ved at bruge den globale katalog:  ldap://domain.local:3268 eller ldaps://domain.local:3269

Hvis den globale katalogport bruges i den sidste scenarie, skal du sikre dig, at værdien base_dn er tom:

base_dn: ""

Få hjælp hurtigere og nemmere

Ny bruger?