Microsoft Access databáze jako spravovaný systém IdM

Cílem článku je popsat způsob napojení Microsoft Access jako spravovaný systém IdM – Identity Managerem.

Microsoft Access je vyvíjen společností Microsoft již od roku 1992. Je i po letech stále aktivní a k dispozici jako součást balíku Microsoft Office. Samotný program Microsoft Access je uživatelský nástroj pro správu relačních databází a tvoření uživatelských formulářů nad těmito databázemi.

S jakýmkoliv řešením postaveným nad těmito databázemi se dnes už setkáváme velmi zřídka. Ale stále existuje spousta již zaběhnutých systémů. Mohou například řídit docházku, nebo přístup ke dveřím. My jsme se také s jednou z těchto aplikací v průběhu napojování nejrůznějších systému potkali. Pojďme si ukázat, jak to probíhalo.

Jedno z prvních zvažovaných řešení pro napojení Microsoft Access byla migrace do klasické databáze MS SQL databáze. Migrace je ovšem časově náročná a byl by zcela jistě nutný zásah subdodavatele. Proto jsme tuto cestu nezvolili.

Celé napojení se nám podařilo realizovat pomocí opensource JDBC driveru UCanAccess. Výsledek v IdM je pak realizován pomocí standardního napojení, jaké známe z dalších systémů, například LDAP nebo AD. Jako konektor lze například použít tabulkový, který je jeden z nejjednodušších na správu z pohledu IdM a je dostupný již v základní aplikaci IdM.

Diagram průběhu komunikace mezi IdM a Microsoft Access

Celá komunikace s MS Access databází z pohledu IdM probíhá zcela běžně jako u všech jiných napojených systému v IdM. Dokážeme provádět vytvoření, čtení, úpravu a mazání (též známé jako CRUD operace) nad všemi záznamy v databázi. Pro přípravu dat do systému mohou být použity běžné transformační skripty, které lze vytvářet a upravovat přímo v aplikaci IdM. Na celou správu MS Access systému se také mohou vztahovat i všechna běžná chování IdM. Například vygenerování prvního hesla pro založení identity na koncový systém, dopředný provisioning a další.

Samotný JDBC driver má mnoho možností nastavení, které mohou být definovány přímo v GUI IdM pomocí parametrů připojení. Jedná se například o tyto zajímavé nastavení:

Pro napojení více databázových tabulek v IdM využíváme JDBC skriptovaný konektor. Tento konektor lze využít i v případě MS Access. Je tak možné pomocí jednoho napojení spravovat i více hodnotové atributy. Například přiřazené role uživatelům. V samotných skriptech konektoru můžeme využít obvyklé SQL příkazy (DDL, DML, …). Dokumentace UCanAccess obsahuje i příklady jednotlivých příkazů, ze kterých lze vycházet. Co je velmi užitečné je i volání vlastních funkcí přímo v MS Access. Není tak nutné znovu implementovat specifické chování například pro zakládání uživatelů.

Většina MS Access databází je chráněná heslem případně jinou metodou, aby přístup nim byl kontrolovaný. Jak jsme již výše zmiňovali nastavení konektoru encrypt umožňuje nastavit způsob otevření databáze i včetně šifrování. Pro tento krok je nutná implementace vlastního kódu který je zhruba na 10 řádku. Příklad této třídy, která zaručí otevření zaheslované databáze:

 

public class CryptCodecOpener implements JackcessOpenerInterface {
	@Override
	public Database open(File file, String password) throws IOException {
		DatabaseBuilder dbd = new DatabaseBuilder(file);
		dbd.setCodecProvider(new CryptCodecProvider(password));
		dbd.setAutoSync(false);
		dbd.setReadOnly(false);
		return dbd.open();
	}
}

Tímto krokem se nám zpřístupní možnost otevřít zaheslované databáze MS Access, určit kódování souborů a spousta dalších nastavení. Komunikace se zaheslovanou databází pak z pohledu IdM opět funguje zcela běžně jako pro jiné napojené systémy.

Stejně jako provisioning do MS Access je možná i synchronizace, případně pokud není k dispozici časové razítko (timestamp) je možná i rekonciliace. Systém MS Access také umožňuje číst schéma svých tabulek, což v IdM dovoluje automaticky vygenerovat celé schéma pro všechny atributy, které lze mapovat, a usnadní tak práci s vytvářením celého mapováním.


Schéma lze vygenerovat i pro systém MS Access

Pokud vás zajímá více z napojení MS Access, případně chcete celý proces správy vašich identit automatizovat pomocí IdM, neváhejte se ozvat na email: info@bcvsolutions.eu.

Zaujala vás integrace MS Access do IdM? Máte rádi pestrou a zajímavou práci? Chcete si také zkusit napojit nestandardní systém? Zkuste zhlédnout naše volné pozice a příští napojení zajímavého systému do IdM může být to vaše :)

 

 

Mohlo by vás také zajímat

Seriál o Identity Managementu:

  1. Co je to Identity Management?
  2. Jak vybrat IDM?
  3. Jak migrovat Identity Management?
  4. Modely spolupráce s dodavatelem IDM.
  5. Jak zabrátit vendor lock-in?
  6. Jak z personalistiky identifikovat vedoucího pro IDM?
  7. Jak se zbavit rutinních úkolů při správě IT systému automatizací Identity Managementu?
  8. Jak správně testovat IdM?
  9. Jak správně nasadit IDM do produktivního provozu?
  10. API pro připojení systému do IDM
  11. Co je to SCIM?
  12. IdM nebo formulářový systém?
  13. Netradiční využití IdM 1, 2, 3

O CzechIdM:

  1. Podporované konektory
  2. Základní funkce 
  3. Jak na samoregistraci a žádost o VPN?
  4. Jak na reset hesel z Windows? Password filtr
  5. Napojení JIP/KAAS.
  6. Správa MS-Acess.
  7. IdM a napojení Moodle
  8. Integrace CzechIdM a DMS
  9. Integrace CzechIdM a CRM Salesforce
  10. Vytváření nových formulářů v CzechIdM
  11. Napojení MS-AD do CzechIdM
  12. Co jsou to business role
  13. Jak spravovat vnořené skupiny v MS-AD
  14. Správa personálního systému a časové řezy

Líbí se mi to:

Další témata