Přeskočit na hlavní obsah

Provisioning uživatelů

Pro automatickou synchronizaci uživatelů z IDM systémů do UCS je podporován protokol SCIM 2.0 (RFC 7642, 7643 a 7644). UCS vystupuje v roli Service Provider a IDM systém (Microsoft, Google, Oracle, atd.) v roli SCIM Client. Alternativně lze využít vestavěnou synchronizaci UCS pomocí Sync pluginu.

Ověření zdroje IDM se provádí na základě integračního uživatele UCS a jeho přiřazení k uživatelským účtům vytvořeným pomocí daného IDM (username integračního uživatele je v metadatech uživatele pod klíčem scim_source). Uživatelé, kteří nemají v metadatech tento klíč s hodnotou odpovídající danému username, nejsou pro IDM viditelní. Díky této vlastnosti jsou chráněny ručně založené uživatelské účty v UCS a také je možné synchronizovat uživatele z více zdrojů IDM (multitenant).

Microsoft Entra ID

Konfigurace Microsoft Entra ID se provádí následovně:

  1. V UCS vytvořte integračního uživatele, který bude mít oprávnění Add a Edit do skupin, ve kterých mají vznikat uživatelé, a poznamenejte si jeho jméno a heslo. Uživatelé založení pomocí SCIM jsou zařazeni do UCS skupiny, ve které je zařazen integrační uživatel.
  2. Přihlašte se do Azure Portal.
  3. Přejděte do Microsoft Entra ID.
  4. V levém menu Entra ID rozbalte Manage a klikněte na Enterprise applications.
  5. V horní nabídce klikněte na + New application.
  6. V horní nabídce klikněte na + Create your own application.
  7. V pravé části zadejte název aplikace, např. UCS user provisioning, ponechte vybranou možnost Integrate any other application you don't find in the gallery (Non-gallery) a klikněte na tlačítko Create dole.
  8. V levém menu Enterprise Application v sekci Manage klikněte na Provisioning (případně na shortcut 3. Provision User Accounts - Get started).
  9. V hlavní části klikněte na Connect your application.
  10. V New provisioning configuration nastavte:
  11. Klikněte na Test connection
  12. Po úspěšném otestování klikněte na Create.
  13. V levém menu Provisioning v sekci Manage klikněte na Scoping filters.
  14. V horní nabídce klikněte na Edit.
  15. V levém menu Enterprise Application v sekci Manage klikněte na Users and groups.
  16. V horní nabídce klikněte na 3. Select users and groups.
  17. Přidejte jednotlivé skupiny kliknutím na +Add user/group, pomocí kterých se řídí, zda má uživatel oprávnění používat UCS. Tyto Entra ID skupiny budou do UCS synchronizovány jako role. Nepřidávejte jednotlivé uživatele, ti budou přidáni na základě členství v těchto skupinách.
  18. V horní nabídce klikněte na 5. Review and create.
  19. Klikněte na Save vpravo dole.

Nyní můžete vyzkoušet synchronizaci, v levém menu Provisioning klikněte na Provision on demand, napište název skupiny do Select a user or group a vyberte ji. Následně v Selected users vyberte uživatele, u kterých chcete vyvolat synchronizaci, a klikněte na Provision vpravo dole.

Zda je synchronizace aktivní, se nastavuje v levém menu Provisioning, klikněte na Overview a vyberte Start provisioning nebo Pause provisioning. Po nastartování synchronizace se provede prvotní synchronizace a následně Entra ID synchronizuje každých cca 40 minut.

Výběr enterprise aplikace: setup01

Přidání enterprise aplikace: setup02

Parametry enterprise aplikace: setup03

Nastavení provisioningu uživatelů: setup04

Propojení Entra ID s UCS: setup05

Parametry propojení: setup06

Výběr rozsahu synchronizace: setup07

Určení skupin pro synchronizaci: setup08

Uložení rozsahu synchronizace: setup09

Ruční ověření synchronizace: setup10

Spuštění a zastavení automatické synchronizace: setup11

Změny

info

Pokud mají stávající ručně založené uživatelské účty v UCS přejít pod správu IDM, pak je nutný ruční zásah do DB UCS:

BEGIN;

UPDATE users
SET data = jsonb_set(data, '{scim_source}', '"scim_username"')
WHERE username NOT IN ('admin', 'insoft');

UPDATE roles
SET data = jsonb_set(data, '{scim_source}', '"scim_username"')
WHERE id != 1;

COMMIT;
Pozor!

Integračním uživatelským jménem je identifikován IDM zdroj, se kterým jsou provázány založené uživatelské účty. Pokud se toto uživatelské jméno změní, pak pro daný IDM přestanou být spravované uživatelské účty viditelné a je nutný ruční zásah do DB UCS:

BEGIN;

UPDATE users
SET data = jsonb_set(data, '{scim_source}', '"new_scim_username"')
WHERE data->>'scim_source' = 'old_scim_username';

UPDATE roles
SET data = jsonb_set(data, '{scim_source}', '"new_scim_username"')
WHERE data->>'scim_source' = 'old_scim_username';

COMMIT;