Eigene Policies in Grid Control ab 10.2.0.5 Ralf Durben
Oracle Enterprise Manager Grid Control ermöglicht im Rahmen des lizenzpflichtigen Configuration Management Packs die Überprüfung der ermittelten Konfigurationsdaten mittels Policies. Dabei handelt es sich um Regeln, die eine korrekte Konfiguration sicherstellen. Diese Regeln sind zum Beispiel sehr hilfreich, wenn es darum geht, Sicherheitslücken durch falsche Konfiguration aufzudecken. Es kommt zum Beispiel immer wieder vor, daß Anwendungen ausnahmsweise ein Skript laufen lassen müssen, unter dem Datenbankbenutzer SYSTEM. Dazu setzen manche DBAs das Passwort auf den Standard (manager). Das ist schon schlimm genug, aber oft wird dann vergessen das Passwort nach Ablauf des Scripts wieder zu verändern. Und schon ist die Datenbank offen wie ein Scheunentor.
Oracle liefert eine große Menge derartiger Policies, jedoch gibt es Situationen, in denen man eine eigene Policy erstellen möchte. Das Erstellen eigener Policies ist in Grid Control 10.2.0.4 zwar prinzipiell möglich, aber nicht in der GUI, sondern nur mit viel Mühe. Ab dem Patchset 10.2.0.5 ändert sich das: Man kann sehr einfach eigene Policies erstellen.
Bevor eine eigene Policy erstellt wird, muss jedoch zunächst einmal über die Datenquelle nachgedacht werden. Eine Policy in Grid Control prüft nämlich nicht Daten direkt in einem Zielsystem, sondern nur Daten, die im Grid Control Repository gespeichert sind. Bevor also eine neue Policy erstellt werden kann, muß überprüft werden, ob der Oracle Management Agent die notwendigen Daten im Rahmen des Konfigurationsmanagements sowieso schon ermittelt, oder ob man selbst die Ermittlung programmieren muß.
Die Datenquelle für eine Policy ist die View SYSMAN.ESM_COLLECTION_LATEST, bzw. die Tabelle SYSMAN.ESM_COLLECTION. Dort sind drei Spalten von Wichtigkeit: PROPERTY, VALUE und VALUE2. Wenn die Daten, die man für die neue Policy braucht, dort schon vorhanden sind, kann man direkt mit dem Erstellen der Policy anfangen (siehe unten).
Wenn das nicht der Fall ist, müssen die Daten erst erhoben werden. Ich stelle dazu eine einfache Variante vor:
In der Zieldatenbank wird eine Tabelle mit den drei Spalten PROPERTY, VALUE, VALUE2 erstellt. Diese Tabelle kann dann von verschiedenen Skripten gefüllt werden. Der Oracle Management Agent holt in regelmäßigen Abständen diese Daten ab und transportiert diese in das Repository.
Die Tabelle erstellt man mit
|