Metadaten zu Änderungen speichern

Für jedes Objekt sollen automatisch die Metadaten zu Änderungen gespeichert werden:

  • Objekt angelegt von [User] am [Datum]
  • Objekt zuletzt geändert von [User] am [Datum]

Die Metadaten sollen in einem zusätzlichen Kartei-Reiter schreibgeschützt angezeigt werden.

1 Like

und auch gerne was geändert wurde.

3 Likes

Ja, bitte!

Das im Parallelthread (Änderungen (Historie) - Versionierung) genannte Skript zur Anzeige interner verinice-Protokollierung (https://verinice.com/support/toolbox) hilft bei Oracle nur bedingt (Skript basiert auf einem Postgresql-Command) und ist nicht sehr benutzerfreundlich. :wink:

Ich meine mich zu erinnern, dass beim Aussteuern von Aufgaben nach der Bearbeitung von z.B. Controls durch andere User eine Zusammenfassung erkennbar ist, welche Daten wie verändert wurden - ggf. wiedervewendbar?

Hallo,

der Script ist sicherlich nur ein Behelf. Angesichts des hohen Interesses werden wir dieses Feature in Kürze angehen.

MfG mflue

3 Likes

In verinice 1.19 umgesetzt.

Hallo zusammen,

wer das ausführlichere Log haben möchte, welche Elemente wann, durch wen und wie geändert wurden, der kann in der Datenbank eine Abfrage über die changelogentry-Tabelle machen. Hier stehen offenbar schon seit früheren Versionen die Aktivitäten drin. In der entry-Tabelle ja erst die „neuen“ Felder, welche jedoch überschrieben werden.
(Eine Übersicht welche Felder am Element geändert wurden, habe ich leider nicht sehen können…)

select 
    ch.elementclass, ce.object_type,
    ch.elementchange, ch.username, ch.changetime,
    pr.propertyvalue
from 
    changelogentry ch 
    join cnatreeelement ce
        on ch.uuid = ce.uuid 
    join entity e on 
        e.dbid = ce.entity_id 
    join propertylist pl on
        pl.typedlist_id = e.dbid 
    join properties pr on
        pr.properties_id = pl.dbid
where
    ch.username = 'veriniceusername' and
    pr.propertytype in (
        'process_name',
        'asset_name',
        'person-iso_name',
        'control_name',
        'incident_name',
        'incident_scenario_name',
        'document_name',
        'org_name'
        )
order by ch.changetime desc

Vier Worte dazu:

  • Zugriff zur DB muss hergestellt werden können
  • Hier wurde mit where ch.username = 'veriniceusername' auf einen speziellen Anmeldenamen die Suche eingeschränkt, weglassen, wenn für alle User gesucht werden soll
  • die Liste propertytype hat nur eine Auswahl an Feldern, um zu erkennen, wie die geänderten Elemente heißen (die Feldnamen stehen in der SNCA.xml)
  • In der Spalte elementchange stehen vier mögliche Werte:
    • ‚0‘ falls Felder überschrieben wurden (Speichern der Daten)
    • ‚1‘ für das Anlegen der verinice-Elemente
    • ‚2‘ für das Löschen der Elemente (Ausschneiden und Einfügen ist 2 und dann 1)
    • ‚3‘ für das Ändern der Rechte am Objekt (unerkennbar ob Entfernen oder Hinzufügen)

(Korrektur: In der Abfrage kann keine ‚2‘ beim Löschen auftauchen (nur beim Ausschneiden und wieder Einfügen), da der Join über die Entities erstellt wird. Wenn das Element gelöscht wurde, gibt es dazu keinen Eintrag mehr. Es gibt nur noch einen Eintrag in der changelogentry-Tabelle mit uuid, welche nicht mehr zu einem Namen aufgelöst werden kann. Sorry.)

Eine Beispielausgabe sieht dann so aus

Elementclass Object_Type Elementchange Username ChangeTime Propertyvalue
sernet.verinice.model.iso27k.Process process 0 Member123 30.01.20 12:34:19,596000000 Telefon- und Geburtstagsliste
sernet.verinice.model.iso27k.Process process 0 Member123 29.01.20 13:52:56,363000000 Kommunikation im Büro
sernet.verinice.model.iso27k.Process process 0 Member123 29.01.20 13:08:30,799000000 Verteilerlisten TF
sernet.verinice.model.iso27k.Asset asset 3 Member123 29.01.20 10:32:22,728000000 Asset
sernet.verinice.model.iso27k.Asset asset 3 Member123 29.01.20 10:31:43,560000000 Asset2
sernet.verinice.model.iso27k.Asset asset 1 Member123 29.01.20 10:28:19,255000000 Asset

Ich hoffe es hilft euch so sehr wie mir für den zufriedenen Auditor oder zum Finden von unerfahrenen verinice-Anwendern die versehentlich Objekte löschen :wink:
Liebe Grüße

2 Likes