Sinhronizacija uporabnikov iz Active Directory (LDAP) in Microsoft Entra ID

Avtor probit

Zadnja posodobitev Pred približno 1 uro

Pregled

Funkcionalnost samodejno ustvari in vzdržuje uporabnike v PRO.4 na podlagi imenika vaše organizacije. Namesto ročnega vnašanja uporabnikov se ti prevzamejo iz izbrane skupine v imeniku, PRO.4 pa ob vsakem zagonu poskrbi, da so podatki usklajeni.

Ob zagonu sinhronizacija:

  • ustvari nove PRO.4 uporabnike za člane izbrane imeniške gruppe

  • posodobi obstoječe uporabnike (ime, priimek, e‑pošta, domensko uporabniško ime)

  • po želji deaktivira uporabnike, ki jih v imeniški skupini ni več

  • po želji ustvari tudi kadrovski zapis (delavca)

  • po želji pošlje (samo Entra ID) pozdravno e‑sporočilo s povezavo za nastavitev gesla

Sinhronizacija se izvede v ozadju. Ob zaključku prejmete obvestilo s poročilom o tem, kaj je bilo narejeno.

Lokacija

Modul: Administracija > Uporabniki
Akcija: Sinhronizacija uporabnikov iz lokalnega AD (LDAP) ali Sinhronizacija uporabnikov iz Entra ID (Azure AD)


Kako deluje

  1. PRO.4 se poveže na imenik in prebere člane nastavljene skupine

  2. Vsak član se poveže z obstoječim PRO.4 uporabnikom prek enoličnega identifikatorja (SYSUser.uid):

    • Pri LDAP: Windows SID

    • Pri Entra ID: Azure object ID

    ℹ️ Zakaj je to važno: Tudi če se osebi v imeniku spremenijo ime, priimek ali uporabniško ime, se prek uid še vedno poveže z istim PRO.4 računom (ne nastane podvojen račun)

  3. Če ujemajočega uporabnika ni, se ustvari nov; če obstaja, se po potrebi posodobi

  4. Če je vklopljena deaktivacija, se uporabniki, ki jih imenik ne vrne več, deaktivirajo

  5. Rezultat se prikaže v obvestilu akcije

Prijava uporabnikov

🔒 LDAP: Uporabniki se prijavljajo z domenskim geslom (preverjanje na AD strežniku). Nastavitev gesla v PRO.4 ni potrebna.

🔒 Entra ID: Uporabniki se lahko prijave prek Microsoft računa (SSO) ali nastavijo lastno PRO.4 geslo po prejemu pozdravnega e‑sporočila.


Predpogoji

Splošne predpostavke

⚠️ Dostopnost: Funkcionalnost je na voljo le za dedicated cloud ali on-premise postavitve PRO.4 aplikacije. Ni dostopna za standard cloud (SaaS) storitve. V primeru zanimanja se obrnite na prodaja@pro-bit.si.

💰 Naročnina: AD sinhronizacija je plačljiva funkcionalnost. Dodatne informacije in cene so dostopne pri prodajnem timu: prodaja@pro-bit.si.

Del nastavitev je vezan na strežnik in jih nastavi Pro‑bit oz. skrbnik gostovanja. Teh nastavitev ne urejate v aplikaciji.

Za LDAP (lokalni AD)

  • Dosegljivost domenskih strežnikov s PRO.4 strežnika (seznam gostiteljev).

  • Vklop SSL (priporočeno) in vrata (privzeto 636 za SSL, 389 brez).

  • Način prijave: NTLM ali SIMPLE ter privzeta domena.

  • Servisni (bind) račun z bralnim dostopom do imenika.

Za Microsoft Entra ID (Azure AD)

V Azure Portalu je potrebna registracija aplikacije (App registration) s podatki:

  • Tenant ID, Client ID, Client Secret.

Aplikaciji je treba dodeliti aplikacijske pravice (application permissions) za Microsoft Graph in potrditi skrbniško soglasje (Grant admin consent):

  • za branje članov skupine: GroupMember.Read.All (ali Group.Read.All ali Directory.Read.All);

  • za branje uporabnikov (vključno s statusom accountEnabled): User.Read.All (ali Directory.Read.All).

Pomembno: če manjka pravica za branje uporabnikov, sinhronizacija namenoma prekine z jasnim sporočilom, saj brez tega ni mogoče zanesljivo prepoznati onemogočenih računov.


Nastavitve v aplikaciji

Nastavitve se urejajo v modulu Nastavitve → Administracija (nastavitve modula admin) in veljajo za posamezno podjetje. Ureja jih lahko skrbnik.

Skupne nastavitve (LDAP in Entra imata svojo različico vsake)

NastavitevPomen

..._SYNC_ENABLED

Vklopi sinhronizacijo in prikaže servisno akcijo v modulu Administracija.

..._SYNC_DEFAULT_DBCOMPANY

Privzeto podjetje, ki se dodeli novim uporabnikom.

..._SYNC_DEFAULT_USER_GROUPS

Seznam ID‑jev PRO4 skupin za nove uporabnike (ločeno s podpičjem: id1;id2).

..._SYNC_DEACTIVATE_MISSING

Če je vklopljeno, se uporabniki, ki jih imenik ne vrne več, deaktivirajo.

..._SYNC_RESET_GROUPS_ON_REACTIVATION

Če je vklopljeno, se uporabniku, ki je bil deaktiviran in se ob naslednji sinhronizaciji ponovno najde v imeniku, vse obstoječe skupinsko članstvo izbriše in ponovno dodelijo privzete skupine (nastavljene v ..._SYNC_DEFAULT_USER_GROUPS). Deluje le skupaj z ..._SYNC_DEACTIVATE_MISSING; privzeto izklopljeno.

..._SYNC_NOTIFY_USERS

ID‑ji uporabnikov, ki ob načrtovani sinhronizaciji prejmejo obvestilo (ločeno s podpičjem).

..._SYNC_CREATE_WORKER

Če je vklopljeno, se za vsakega novega uporabnika ustvari tudi zapis delavca (CBWorker).

..._SYNC_CUSTOM_CLASS

Ime prilagojene (customer‑specific) izvedbe. Prazno = privzeto delovanje.

Dodatno za LDAP

NastavitevPomen / primer

LDAP_SYNC_SEARCH_BASE

Iskalna osnova (Base DN). Primer: DC=CORP,DC=LOCAL

LDAP_SYNC_SEARCH_FILTER

LDAP filter za izbor uporabnikov. Primer: (memberOf=CN=PRO4,OU=Groups,DC=CORP,DC=LOCAL)

LDAP_SYNC_BIND_USERNAME

Uporabniško ime servisnega računa (UPN user@corp.local ali DOMENA\user).

LDAP_SYNC_BIND_PASSWORD

Geslo servisnega računa.

LDAP_SYNC_PAGE_SIZE

Velikost strani pri branju (privzeto 500).

Dodatno za Entra ID

NastavitevPomen / primer

ENTRA_SYNC_GROUP_IDS

Azure object ID‑ji skupin, katerih člani se sinhronizirajo (ločeno s podpičjem).

ENTRA_SYNC_SEND_WELCOME_EMAIL

Če je vklopljeno, novi uporabniki prejmejo pozdravno e‑sporočilo s povezavo za nastavitev gesla.


Korak 1: Ročni zagon sinhronizacije

  1. V modulu Administracija odprite pregled Uporabniki

  2. Nad preglednico kliknite gumb za sinhronizacijo:

    • Sinhronizacija uporabnikov iz lokalnega AD (LDAP) ali

    • Sinhronizacija uporabnikov iz Entra ID (Azure AD)

    ℹ️ Akcija je vidna le administratorjem in samo, kadar je ustrezna sinhronizacija vklopljena (LDAP_SYNC_ENABLED oz. ENTRA_SYNC_ENABLED)

  3. V oknu akcije izberite mode:

    • ☑️ Testni način = samo pregled, brez sprememb (priporočeno pri prvi uporabi)

    • Brez testnega načina = dejanske spremembe

  4. Kliknite Zaženi in počakajte obvestilo s poročilom


Korak 2: Načrtovan (samodejni) zagon

Sinhronizacija se lahko izvaja tudi po urniku brez ročnega zagona. Seznam prejemnikov obvestila se prebere iz nastavitve ..._SYNC_NOTIFY_USERS. Nastavitev urnika izvede skrbnik strežnika prek Celery Beat.


Korak 3: Razumevanje poročila sinhronizacije

Obvestilo ob zaključku prikaže rezultate po sekcijah:

SekcijaPomen

✅ Novi uporabniki

Na novo ustvarjeni računi

✏️ Posodobljeni uporabniki

Računi, katerih podatki so bili usklajeni

🔄 Ponovno aktivirani uporabniki

Deaktivirani računi, ki se ponovno pojavijo v imeniku in se reaktivirajo

⚠️ Deaktivirani uporabniki

Vedno prikazani na vidnem mestu (občutljivo dejanje)

❌ Konflikti (preskočeni)

Vnosi, ki trčijo z obstoječimi (ročno preverjanje potrebno)

⏭️ Preskočeni v imeniku

Vnosi brez obveznih podatkov

👤 Novi delavci / Povezani delavci

Samo ob vklopljeni izdelavi delavca (..._SYNC_CREATE_WORKER)

📧 Napake pri e-sporočilih

Samo Entra ID – uporabniki ustvarjeni, a e-sporočilo ni poslano

Posebne napomene

  • 🔄 Reaktivacija s ponastavitvijo skupin: Če je vklopljeno SYNC_RESET_GROUPS_ON_REACTIVATION, reaktivirani uporabniki dobijo samo privzete skupine

  • 🧪 Testni način: Če je bila akcija zagnana v testnem načinu (dry-run), je to v poročilu jasno označeno


Kako funkcionira ujemanje in ažuriranje

Ujemanje uporabnikov

Uporabnik iz imenika se poveže z obstoječim PRO.4 uporabnikom prek enoličnega identifikatorja SYSUser.uid:

  • Pri LDAP: Windows SID

  • Pri Entra ID: Azure object ID

Rezultat: Tudi če se osebi v imeniku spremenijo ime, priimek ali uporabniško ime, se prek uid vedno poveže z istim računom (ne nastane podvojen račun)

Kaj se zgodi ob sinhronizaciji

PrimerKaj se zgodi

Novi uporabnik v imeniku

Ustvari se nov PRO.4 račun s privzetim podjetjem, jezikom, skupinami in naključnim geslom

Podatki posodobljeni v imeniku

PRO.4 uskladi ime, priimek, e-pošto in domensko ime (prazna e-pošta iz imenika ne prepiše obstoječe)

Uporabnik izbrisan/onemogočen v imeniku

Odvisno od nastavitve SYNC_DEACTIVATE_MISSING

Deaktivirani uporabnik reaktiviran v imeniku

Odvisno od nastavitve SYNC_RESET_GROUPS_ON_REACTIVATION

Deaktivacija uporabnikov (SYNC_DEACTIVATE_MISSING)

NastavitevObnašanje

☑️ Vklopljeno

Imenik je avtoritativni vir: deaktivirani uporabnik, ki je še v imeniku, se znova aktivira

Izklopljeno

Ročne deaktivacije ostanejo (imenik se spoštuje le za nove/obstoječe podatke)

🔒 Trajno onemogočenje: Uporabnika trajno onemogočite z brisanjem iz imeniške skupine ali onemogočenjem računa v imeniku (onemogočeni računi se pri sinhronizaciji preskočijo)

Varnostni mehanizmi pri deaktivaciji

Deaktivacija je zaščitena na več načinov:

MehanizemNamen

🛡️ Prazen rezultat = preskok deaktivacije

Če imenik ne vrne nobenega uporabnika (napačen filter ali napaka), se deaktivacija preskoči

🔒 Zaščiteni računi

Računi z imenom probit* se nikoli ne deaktivirajo

🔄 Menjava ponudnika

Prehod LDAP ↔ Entra ID ne deaktivira uporabnikov prejšnjega ponudnika

Kako se filtrirajo uporabniki pri uvozu

PogojKaj se zgodi

LDAP: onemogočen račun

Preskoči (zastavica userAccountControl = ACCOUNTDISABLE)

Entra ID: gostujoči račun

Preskoči (userType = Guest ali #EXT# v UPN)

Entra ID: onemogočen račun

Preskoči (accountEnabled = False)

Manjkajo obvezni podatki

Preskoči in navedi v poročilu


Omejitve in opozorila

Arhitektura

OmejitevVpliv

⚠️ En ponudnik na strežnik

Na posameznem strežniku je aktiven LDAP ali Entra ID, ne oba hkrati

🔗 LDAP = samo Microsoft AD

Zahteva atribute sAMAccountName, objectSid, userAccountControl. OpenLDAP ne deluje brez prilagoditve. (Samba4 kot AD domenenski krmilnik deluje)

📧 Entra ID = obvezna e-pošta

Uporabniki brez atributa mail se ne uvozijo

Pravice in konfiguracija

Omejitev

Kaj poskrbeti

🔑 Entra ID zahteva Graph pravice

Mora imeti User.Read.All / Directory.Read.All, sicer se sinhronizacija ustavi

Posebne razmere

Scenarij

Obnašanje

🔄 Menjava domene (novo objectSid)

Sinhronizacija obravnava kot novega uporabnika (ustvari nov račun)

📧 Pozdravno e-sporočilo

Dostopno samo pri Entra ID; pri LDAP prijava poteka na AD strežniku

↩️ Reaktivacija ob vrnitvi v imenik

S SYNC_DEACTIVATE_MISSING=ON: deaktivirani je ponovno aktiviran. S SYNC_DEACTIVATE_MISSING=OFF: ročna deaktivacija ostane

🔄 Ponastavitev skupin pri reaktivaciji

S SYNC_RESET_GROUPS_ON_REACTIVATION=ON: reaktivirani uporabnik dobi samo privzete skupine (varnostna mera). Deluje samo z SYNC_DEACTIVATE_MISSING=ON


Pogosta vprašanja in odpravljanje težav

Kako se sinhronizacija ni zagnan / Akcija ni vidna

❓ Vprašanje: Gumb za sinhronizacijo ne vidim v modulu Administracija.

✅ Rešitev:

  1. Preverite, da je ustrezni ..._SYNC_ENABLED vklopljen v nastavitvah (LDAP_SYNC_ENABLED ali ENTRA_SYNC_ENABLED)

  2. Preverite, da ste administrator

  3. Osvežite stran (F5)


Napaka: privzete skupine niso nastavljene

❓ Vprašanje: Poročilo prikaže „Privzete uporabniške skupine niso nastavljene” ali „skupina ne obstaja”.

✅ Rešitev:

  1. Preverite ..._SYNC_DEFAULT_USER_GROUPS v nastavitvah

  2. Preverite, da so navedene skupine res prikazane v sistemu (Administracija > Skupne)

  3. Preverite, da so skupine aktivne


Vsi uporabniki so “preskočeni v imeniku” (LDAP)

❓ Vprašanje: Poročilo kaže, da so vsi uporabniki označeni kot „preskočeni v imeniku” – nobeden se ni uvozil.

✅ Rešitev:

  1. Preverite, da je vir res Microsoft Active Directory (OpenLDAP ne deluje brez prilagoditve)

  2. Preverite LDAP filter (LDAP_SYNC_SEARCH_FILTER) – ali je prav nastavljen?

  3. Preverite Base DN (LDAP_SYNC_SEARCH_BASE) – ali je prav?

  4. Testirajte filter ročno z LDAP orodjem:

    ldapsearch -x -H ldap://server -D “CN=svc_pro4,CN=Users,DC=corp,DC=local” \
      -w password -b “DC=corp,DC=local” \
      “(memberOf=CN=PRO4Users,OU=Groups,DC=corp,DC=local)” sAMAccountName objectSid
    

Entra: Aplikaciji manjkajo Graph API pravice

❓ Vprašanje: Sinhronizacija se ustavi s sporočilom „Aplikaciji manjkajo potrebne Graph API pravice”.

✅ Rešitev:

  1. V Azure Portalu pojdite na App registration za PRO.4

  2. Dodelite pravice User.Read.All in GroupMember.Read.All (v Microsoft Graph)

  3. Kliknite Grant admin consent (skrbniško soglasje)

  4. Počakajte nekaj minut in poskusite znova


Entra: Napaka pri pridobivanju tokena

❓ Vprašanje: Sinhronizacija se ustavi z „pridobivanje tokena neuspešno”.

✅ Rešitev:

  1. Preverite Tenant ID (je to res vaš Azure tenant?)

  2. Preverite Client ID in Client Secret (morda je potekel – ga po potrebi obnovite)

  3. Preverite, da je aplikacija res registrirana v Azure Portalu

  4. Preverite dostop do strežnika (omrežna povezava do Azure)


LDAP: Nepravilno uporabniško ime ali geslo

❓ Vprašanje: Sinhronizacija se ustavi z „Nepravilno uporabniško ime ali geslo”.

✅ Rešitev:

  1. Preverite LDAP_SYNC_BIND_USERNAME – je to prava oblika? (UPN user@corp.local ali DOMENA\user)

  2. Preverite LDAP_SYNC_BIND_PASSWORD – ali je pravilno kopirano (brez presledkov)?

  3. Preverite, da servisni račun res obstaja v AD in ima bralni dostop do imenika

  4. Testirajte ročno z LDAP orodjem (glej vprašanje zgoraj)


Deaktivacija se ni izvedla

❓ Vprašanje: Imenik je vrnil uporabnike, a deaktiviranih jih ni bilo, čeprav je SYNC_DEACTIVATE_MISSING=ON.

✅ Rešitev:

  1. Preverite, da je imenik res vrnil uporabnike (glej Korak 3 poročilo)

  2. Če je imenik vrnil 0 uporabnikov, je deaktivacija namenoma preskočena (varnostna mera)

  3. Preverite, da so uporabniki res manjkajoči v imeniku (morda se ujemanje ne zgodi)

  4. Preverite domenske imena (DomainUsername) – ali se ujemajo z imenikom?


Obvestilo se konča z „Neuspešno” ali ostane „V teku”

❓ Vprašanje: Sinhronizacija se konča z „Neuspešno” ali obvestilo ostane „V teku”.

✅ Rešitev:

  • „Neuspešno” z besedilom napake: preberi sporočilo o napaki in sledite odgovorom na vprašanja zgoraj

  • Trajno „V teku”: to je trda prekinitev procesa. Preverite:

    • Ali je Celery worker še vedno zagnan?

    • Preverite dnevnike aplikacije

    • Se obrnite na podporo: podpora@pro-bit.si


Prvo zagon – kaj bi moral storiti?

✅ Best practice:

  1. 🧪 Vedno zaženite testni način (dry-run) prvi

  2. 📋 Preglejte poročilo – kaj bi se zgodilo?

  3. ✅ Ko vam je rezultat všeč, zaženite brez testnega načina (dejanske spremembe)

To se izognete nepričakovanim stvarem! 👍


Ključne besede

Sinhronizacija, Active Directory, LDAP, Entra ID, Azure AD, uporabniki, avtomatskI uvoz


Povezane teme

Kako dodati novega uporabnika?