Auditní log pro entity v CzechIdM 7.0
Na nové verzi CzechIdM 7 jsme dokončili auditní log pro entity. Nyní již v plném proudu auditujeme dění na všech entitách v systému a zároveň na jejich vazbách. Audit jsme postavili nad ORM Envers. Envers nám poskytl základní stavební kámen, který jsme si přizpůsobili, aby zapadl přesně do našeho systému a auditoval jak a kdy si přejeme.
Pro představu, jak funguje audit v CzechIdM 7.0, nám pomůže následující zjednodušený obrázek. Ten zobrazuje změnu existující role. Na roli jsme změnili její popis, přidali garanta role a odebrali podřazenou roli.
Na začátku máme Roli, které upravíme popis. To znamená, že se v tabulce Role smaže záznam Popis, označeno oranžovou barvou. Následně odebereme Podřazenou roli – zcela zmizí vazba mezi Rolí a záznamem v tabulce Podřazené role, označeno červenou barvou. Poslední změnou v pořadí je přidání nového Garanta role. Zde nám nově vznikne záznam v tabulce Garanti role, označeno zelenou barvou.
Pro ještě lepší představu, jsou zde dva snímky z aplikace. Přesněji formulář s detailem role před a po editaci. Na druhém snímku je vidět role po úpravě a barevně jsou znázorněny změněné položky.
Po této úpravě se vytvoří 3 nové záznamy v auditních tabulkách. Auditní tabulky existují pro každou auditovanou entitu a její vazbu. Vytvoří se tedy tři nové záznamy, které budou obsahovat stav po uložení. Pro lepší představu následuje snímek z CzechIdM 7 – tabulka s auditními záznamy.
V tabulce jsou přehledně zobrazeny všechny auditní záznamy standardně seřazeny podle data vytvoření.
V této tabulce máme pro vyhledávání velmi komplexní filtr, který nám umožňuje přesně zobrazit pouze záznamy, které chceme. Mimo obvyklých filtrů Od a Do, máme také možnost zvolit přesný typ entity, které jsou do formuláře dynamicky vloženy z aplikace. Omezit výsledky pouze na Vytvoření nám umožňuje Typ modifikace a v neposlední řadě chceme filtrovat podle toho, kdo změnu provedl.
Tento způsob auditování nám přidává zásadní výhodu oproti jiným přístupům a tím je – stroj času. V CzechIdM 7 jsme schopni zobrazit, jak vypadala určitá entita před rokem, měsícem, hodinou atd.. U každého takto vytvořeného auditního záznamu zobrazujeme, kdo entitu měnil, kdy změnu provedl, co přesně změnil oproti předchozímu záznamu. Do budoucna plánujeme i možnost vracet tyto změny zpět.
Pokud tedy administrátor CzechIdM 7 například smaže roli, včetně všech jejích nastavení, budeme schopni vrátit tyto změny velmi rychle zpět a ušetřit tak administrátorův čas při opětovném vytváření role. Stejně jako jsou auditované lidské zásahy do entity, jsou auditované i ty strojové. Může se jednat o úpravy z naplánovaných úloh, automatického schvalování, atd.. Samozřejmostí je, že i strojové zásahy mohou být vráceny.
Budoucí rozvoje
Do budoucna plánujeme přidat výše zmíněné funkcionality – vrácení změn a také porovnání jednotlivých záznamů s libovolným předchozím záznamem. Plánujeme vytvořit log akcí svázaný s auditním logem pro entity. Pod logem akcí si představme auditování každého „kliknutí“ uživatele při průchodu aplikací, jako je přihlášení, prohlížení, editace… Log akcí a auditní log pro entity se společně stanou velmi silným nástrojem pro kontrolu a zobrazení statistik CzechIdM 7 a nebudete muset mít strach z neopatrných úprav, vše jde přece vrátit zpět.