Några vanliga fel när du kör UST och tips för att lösa dem
FileNotFoundError: [Errno 2]
Exempel på felet konsolutgång:
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\USER\\.pex\\install\\pycryptodome [...]'
Kan visas på Windows på grund av sökvägar > 256 tecken.
Tips: skapa en miljövariabel som heter PEX_ROOT med värde C:\pex (om skriptet körs från C:-enheten eller ändra bokstaven så att den matchar). Ibland krävs en omstart av systemet för att den ska träda i kraft.
kan inte öppna filen 'user-sync.pex': [Errno 2]
Exempel på felet konsolutgång:
python: can't open file 'user-sync.pex': [Errno 2] No such file or directory
Tips! Kontrollera att du kör kommandoraden för python inifrån mappen där user-sync.pex finns.
Exempel på felet konsolutgång:
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...
Tips: Dessa varningsmeddelanden är normala. När servern är upptagen den med 429 HTTP-kod, så felet kan kanske lösas genom ett nytt försök. UST har en exponentiell back-off-mekanism för att försöka åtgärden igen, vilket ökar tiden mellan de nya försöken. Skriptet slutar efter tre misslyckade nya försök.
error.user.belongs_to_another_org
Exempel på loggpost (felsökningsläge):
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"
Tips: domänen som användes för att skapa kontot kanske inte har gjorts anspråk på/är betrodd i din organisation. En grön flagga eller prick ska visas för de aktiva domänerna i Administratörskonsol -> Inställningar. Om så inte är fallet kan det lösas genom att domänanspråksprocessen slutförs.
Exempel på loggpost (felsökningsläge):
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"
Tips: Ett försök görs att skapa ett konto av typen FederatedID, men katalogen skapas för Enterprise-användning eller omvänt. Sök efter attributet user_identity_type i filen user-sync-config.yml. Ändra värdet enligt den katalogtyp som visas i administratörskonsolen (Inställningar > Identitet > Domäner > Katalogtyp värde för den givna domänen).
Exempel på loggpost (felsökningsläge):
Exempel på felet konsolutgång:
Failed to execute PEX file, missing compatible dependencies for:
pyyaml
cryptography
cffi
umapi-client
pycryptodome
pyldap
psutil
user-sync
Tips:
a) Kontrollera om Python-versionen som du har installerat på datorn är 32-bitarsversionen. Avinstallera 32-bitarsversionen och installera 64-bitarsversionen för att lösa problemet.
b) Kontrollera om user-sync.pex-versionen som du har hämtat från GitHub är en matchning till din Python-version och OS-typ. Till exempel, user-sync-v2.3-win64-py365.zip ska hämtas för Windows 64-bitars och Python 3.
Att använda den senaste versionen av Python är inte alltid en bra idé. Att försöka matcha Python-versionen, .pex byggdes i första hand, skulle vara bra. Följ suffixet för den hämtade .zip-filen för att identifiera vilken Python-version som skulle fungera. I exemplet ovan (user-sync-v2.3-win64-py365.zip) kan Python 3.6.5 identifieras.
Fel vid dekryptering av privat nyckel
Exempel på loggpost (felsökningsläge):
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) Ibland kan den privata nyckeln innehålla odaterade tecken eller tomma rader som infogats av misstag. Försök ta bort de tomma raderna eller regenerera parets privata och offentliga nyckel.
b) Använd inte attributet umapi_private_key_data om du kör skript i Windows. Kryptera istället nyckeln och spara det lösenordet i Autentiseringshanteraren.
c) Prova en RSA256/2048-bitars privat nyckel om du använder ett annat format.
d) Det är möjligt att du ställer in secure_priv_key_pass_key: umapi_private_key_passphrase inuti filen connector-umapi.yml. I det här fallet, se till att posten i Autentiseringsbutiken för detta och tillhörande värden matchar (se nedan).
Inget värde i säker lagring för användaren ...
Exempel på loggpost (felsökningsläge):
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) autentiseringsbutikens post för umapi_api_key kanske saknas. Skapa posten i autentiseringsbutiken. Hjälpdokumentation finns här.
b) Det kan vara så att värdet har lagts till i Autentiseringsbutiken under ett annat användarkonto. Men för användaren som för närvarande är ansluten saknas posten. Lägg till det, om det behövs, eller byt användarkonton.
error.internal.exceptionflys / error.unauthorized
Exempel på felet konsolutgång:
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"}"
Tips: Det kan vara så att det i Administratörskonsol -> Inställningar -> Autentiseringsinställningar finns ett annat val än Lättast för användare (Lösenordet löper aldrig ut). Om alternativet Säkrare eller Säkrast är aktiverat, kan det inaktivera lösenordet för det tekniska kontot som är kopplat till integrationen.
För att lösa problemet bör en ny integration skapas. Se till att metadata också förnyas i filen connector-umapi.yml.
En korrigering driftsattes för det, men den kan påverka integrationer som skapats före oktober 2018.
Det gick inte att upprätta en ny anslutning [Errno 10061]
Exempel på felet konsolutgång:
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',))
Tips:
Det är relaterat till att UST inte kan ansluta till de offentliga API-slutpunkterna. Lokala inställningar kan förhindra åtkomst på grund av brandväggsregler, proxy-blockerande trafik, kontoinställningar för internetåtkomst med mera.
I vissa situationer kan det hjälpa att lägga till dessa två miljövariabler:
http_proxy och tillhörande värde av format http://<host proxy>:<port>
https_proxy och tillhörande värde av format https://<host proxy>:<port>
I andra fall kan åtkomst till dessa slutpunkter hjälpa:
ims-na1.adobelogin.com:443
usermanagement.adobe.io:443
Det kan bara lösas lokalt genom att du rensar åtkomst till ovanstående slutpunkter för kontot som körs.
Metaskoperna i JWT är inte en delmängd av metaskoperna i bindningen
Exempel på loggpost (felsökningsläge):
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"}
Tips: Få åtkomst till integrationen du har skapat på https://console.adobe.io/projects och kontrollera den vänstra menyn där API:erna listas. Se till att API:n för User Management är tillagt som en tjänst (visas i listan).
Inga giltiga bindningar hittades för organisation och teknisk kontokombination
Exempel på loggpost (felsökningsläge):
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) Det kan bero på att värdet tech_acct i filen connector-umapi.yml motsvarar ett annat värde än det tekniska konto-ID som ingår i integreringen på https://console.adobe.io. Verifiera det tekniska kontots ID-värde från den aktuella integrationen och kopiera det till filen.
b) Det kan också orsakas eftersom det offentliga certifikatet från integrationen har löpt ut. Förnya den privata och offentliga nyckeln. Ladda sedan upp den offentliga nyckeln och ersätt den gamla privata nyckeln med den nya nyckeln. Verifiera sökvägen inuti filen connector-umapi.yml för att hitta rätt fil.
c) Kontrollera om integrationen är gjord för korrekt organisation. Välj organisation i listrutan i det övre vänstra hörnet vid https://console.adobe.io/integrations. Kontrollera sedan det tekniska kontots ID-värde för den aktiva integrationen ihop med andra metadata (Organisations-ID, hemligt och klient-ID).
SSL: CERTIFICATE_VERIFY_FAILED
Exempel på loggpost (felsökningsläge):
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)
Tips: Det beror på att det kan finnas någon SSL-inspektion aktiverad på proxyservern (lokal miljöinställning)
Lösning1: Skaffa brandväggens CA-certifikat i PEM-format (anta att dess namn är thecert.crt). Om DER-format används ska du göra om det till PEM med hjälp av openssl-kommandot:
openssl x509 -inform DER -in thecert.crt -out thecert.pem -outform PEM
Obs! Om du är osäker på om .crt-filen redan är i PEM-format eller inte ska du köra dessa kommandorader först och se vilken som misslyckas.
openssl x509 -text -inform DER -in thecert.crt
openssl x509 -text -inform PEM -in thecert.crt
Om DER ett misslyckas har du redan filen i PEM-format, så byt namn på thecert.crt till thecert.pem. Annars gör du om den till PEM med hjälp av den första openssl-kommandoraden ovan.
Skapa sedan en miljövariabel som heter REQUESTS_CA_BUNDLE och ställ in dess värde som sökvägen till filen thecert.pem.
Lösning2: I Windows, i de fall där verktyget körs från en drivrutin som skiljer sig från den där OS och Python är installerade. I det här fallet kan den inte nå paketet med pålitliga rot-CA-certifikat. Att flytta hela skriptet på enheten där OS finns kan vara en lösning. Om det inte är ett alternativ, bör cacert-filen som innehåller alla pålitliga rot-CA användas som mål för miljövariablen REQUESTS_CA_BUNDLE. Om en proxy inspekterar SSL-trafiken måste innehållet i rot-CA-certifikatet kopieras inuti cacert.pem-filen för att verifiera certifikaten.
Obs! Python installerar som standard paketet med certifikaten på C:\Python36\Lib\site-packages\certifi\cacert.pem.
Lösning3: inaktivera SSL-inspektionen på proxysidan för API-slutpunkterna ims-na1.adobelogin.com och usermanagement.adobe.io
Ingen grupp hittades [...]
Exempel på loggpost (felsökningsläge):
2018-01-01 09:01:37 4916 WARNING ldap - No group found for: Name_Of_The_Group
Tips:
a) Den här gruppen finns inte i LDAP med exakt det namnet. Åtgärda det genom att lägga till korrekt LDAP-namn för gruppen
b) Gruppen är inte upptäckbar under deklarerad base_dn (se filen connector-ldap.yml). Ändra värdet base_dn så att det innehåller nämnd grupp (det händer framförallt när base_dn pekar på någon OU).
Exempel på loggpost (felsökningsläge):
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"
Tips: Användargruppen group_name i utgången ovan finns inte på Adobes sida, så du kan skapa den. Om avsikten var att ställa in namnet på en PLC istället för en användargrupp kan du kontrollera denna dokumentationssida för en mer visuell förklaring.
Exempel på loggpost (felsökningsläge):
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)
Tips: felet registrerades på en macOS High Sierra vid användning av UST v2.3 som använde Python 3.7.0. Att köra brygginstallera openssl inuti terminalen åtgärdade det för just det här scenariot.
Det gick inte att skapa person för typ 2 eller 3 [...]
Exempel på loggpost (felsökningsläge):
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."
Ibland ägs @claimed-domain.com av en annan organisation som har konfigurerat en Azure- eller Google-anslutning för att hantera synkroniseringen av konton med Admin Console. Samma domän tilldelas sedan en annan organisation som använder verktyget för användarsynkronisering för att synkronisera konton med formatet @claimed-domain.com
Orsak: Det loggade meddelandet visas när synkroniseringsverktyget extraherar
user@claimed-domain.com-kontot från en LDAP-server för att skapa det i den sekundära organisationen. Kontot har emellertid ännu inte skapats/synkroniserats i huvudorganisationen via Azure- eller Google-kontakt.
Tips: försök skapa/synkronisera user@claimed-domain.com -kontot i organisationen med Azure- eller Google-kontakt och försök sedan synkronisera på nytt med UST i förvaltarorganisationen.
Oväntat LDAP-fel vid läsning av [...]
Exempel på loggpost (felsökningsläge):
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'}
Möjlig orsak: Gruppen av intresse finns i en underdomän, men värdvärdet är en av rotdomänerna.
Tips: Ändra värdet för värden till en av underdomänerna där användargrupper kan hittas. Om användare eller grupper av intresse finns i både rotdomänen och dess underdomäner ska du använda den globala katalogporten på rotdomänen. Ändra grupperna i underdomänen till Universal istället för Global. Exempel på värdvärden när global katalog används: ldap://domain.local:3268 eller ldaps://domain.local:3269
I det sista scenariot, om global katalogport används, ska du se till att base_dn-värdet inte tar något värde:
base_dn: ""