Automatisches Aktualisieren des One Identity Manager
Aufgrund der räumlichen Verteilung der Server und Arbeitsstationen gestaltet sich vor allem das manuelle lokale Installieren und Aktualisieren von Software als problematisch. Um einen erträglichen Arbeitsaufwand der Netzwerkadministratoren zu gewährleisten, wurde für den One Identity Manager ein Verfahren zur automatischen Aktualisierung des One Identity Manager entwickelt. Neben der Aktualisierung bekannter Dateien einer One Identity Manager-Installation können neue, kundenspezifische Dateien auf einfache Weise in das Verfahren aufgenommen werden und somit über die Mechanismen der automatischen Softwareaktualisierung an die Arbeitsstationen und Server eines One Identity Manager-Netzwerkes verteilt werden.
Detaillierte Informationen zum Thema
Grundlagen zur automatischen Softwareaktualisierung
Alle Dateien einer One Identity Manager-Installation sind mit Namen und ihrem Binärcode in der One Identity Manager-Datenbank in der Tabelle QBMFileRevision abgelegt. Für jede Datei die Dateigröße und ein Hashwert zur Dateierkennung hinterlegt.
Die benötigten Dateien werden beim Einspielen eines Hotfixes, eines Service Packs oder einer Versionsänderung in die One Identity Manager-Datenbank eingefügt und aktualisiert.
In der Datenbank wird ein Semaphor Softwarerevision gepflegt. Beim Hinzufügen, Ändern oder Löschen einer Datei in der Datenbank wird der Semaphorwert durch den DBQueue Prozessor neu berechnet. Im Installationsverzeichnis aller One Identity Manager-Installationen liegt eine Datei Softwarerevision.viv. Diese Datei ist im Dateisystem mit den Berechtigungen nur lesen und nicht sichtbar gekennzeichnet und wird damit vom Betriebssystem normalerweise nicht angezeigt.
Die Datei Softwarerevision.viv enthält die folgenden Informationen:
-
den Revisionsstand der Installation
Der Revisionsstand wird aus dem Wert des Semaphors Softwarerevision in der Datenbank ermittelt.
-
den Startzeitpunkt der letzten Änderung
Die Datei Update.zip spielt eine zentrale Rolle in der automatischen Aktualisierung. Das Zip-Archiv enthält das Aktualisierungsprogramm Update.exe und alle Dateien, die auf den Clients oder Servern für die Produktaktualisierung notwendig sind. Das Zip-Archiv ist nicht Bestandteil der One Identity Manager-Installationsdaten, sondern wird nach der Aktualisierung der Datenbank vom Configuration Wizard und auch vom Software Loader neu erstellt. Die Dateien Update.zip und wird in der Tabelle QBMFileRevision abgelegt.
Das Zip-Archiv wird mit allen Dateien aus den Installationsdaten erweitert, die dem Namensfilter *.Update.zip entsprechen. Damit ist es möglich, dass verschiedene Module weitere Funktionalitäten zur automatischen Aktualisierung beisteuern.
Zusätzlich befindet sich im Installationsverzeichnis aller One Identity Manager-Installationen eine Datei InstallState.config. Diese Datei enthält die Informationen über die installierten Maschinenrollen, Installationspakete und Dateien.
Durch den Vergleich der Semaphorwerte aus der Datenbank und aus der Datei Softwarerevision.viv wird festgestellt, ob eine Softwareaktualisierung notwendig ist. Unterscheiden sich die Semaphorwerte, wird anhand der InstallState.config ermittelt, welche Maschinenrollen für den Computer oder den Server definiert sind. Für jede Datei, die zu einer Maschinenrolle gehört, wird geprüft, ob diese Datei in der Datenbank bekannt ist.
Gibt es die Datei in der Datenbank, wird geprüft:
-
Hat sich die Dateigröße geändert?
Ist dies der Fall, wird die Datei in die Liste der zu aktualisierenden Dateien aufgenommen.
-
Hat sich der Hashwert geändert?
Ist dies der Fall, wird die Datei in die Liste der zu aktualisierenden Dateien aufgenommen.
Neue Dateien, die durch das Einspielen eines Hotfixes, eines Service Packs, einer Versionsänderung oder durch Einspielen einer kundenspezifischen Datei in die One Identity Manager-Datenbank geladen wurden, werden ebenfalls in die Liste aufgenommen. Alle in der Liste aufgeführten Dateien werden aktualisiert. Dateien, die nicht mehr vorhanden sind, werden gelöscht.
Alle Aktionen werden in der Datei update.log protokolliert. Nach Abschluss der Aktualisierung wird der aktuelle Semaphorwert aus der Datenbank in die Datei Softwarerevision.viv übernommen.
Automatische Aktualisierung der One Identity Manager-Werkzeuge
Beim Start eines Programms stellt dieses die Verbindung zur Datenbank her und führt den Semaphortest aus. Wird die Datei SoftwareRevision.viv nicht gefunden, so wird eine neue Datei angelegt.
Ist im Installationsverzeichnis des One Identity Manager keine Schreibberechtigung vorhanden, wird eine Fehlermeldung ausgegeben und die Softwareaktualisierung fortgesetzt.
Das Aktualisierungsprogramm (Update.exe) erwartet bei aktivierter Benutzerkontensteuerung die Angabe einer administrativen Anmeldung, sofern der angemeldete Benutzer keine administrativen Berechtigungen auf das Installationsverzeichnis besitzt (zum Beispiel %ProgramFiles%). Erfolgt die Installation in ein Verzeichnis, dass nicht über die Benutzerkontensteuerung verwaltet wird, entfällt diese Abfrage. Anschließend wird der Aktualisierungsprozess gestartet.
Die Anwendung lädt die Datei Update.zip aus der Datenbank oder holt diese Datei vom Anwendungsserver. Die Datei wird in einem temporären Verzeichnis entpackt.
Im ersten Schritt teilt die Update.exe der Hauptanwendung mit, ob sie eine Aktualisierung durchführen kann. Abhängig von der Konfiguration kann der Anwender jetzt eventuell noch die automatische Aktualisierung abbrechen.
Um den Start weiterer Anwendungen während der Aktualisierungsphase zu unterbinden, wird im Installationsverzeichnis eine Datei Update.Lock erzeugt. Das auslösende Programm und das Aktualisierungsprogramm (Update.exe) schreiben ihre Prozess-ID in die Datei. Nach erfolgreichem Abschluss der Aktualisierung wird die Update.Lock-Datei aus dem Installationsverzeichnis gelöscht. Das Programm wird anschließend neu gestartet. Um sicherzustellen, dass nach einem unerwarteten Programmabbruch in der Aktualisierungsphase, die automatische Aktualisierung bei Neustart einer Anwendung erneut startet, wird eine Update.Lock-Datei, die älter als zwei Stunden ist, ignoriert. Ist bei Neustart einer Anwendung keiner der Prozesse, deren ID’s in der Update.Lock-Datei stehen, auf der Arbeitsstation vorhanden, so wird die Update.Lock-Datei ebenfalls ignoriert und die Aktualisierung erneut gestartet.
Vor der eigentlichen Aktualisierung werden die Vorbereitungsschritte aus den *.Update.dlls aufgerufen, die die Installation auf die Aktualisierung vorbereiten. Ein Vorbereitungsschritt kann beispielsweise die Umbenennung einer Maschinenrolle sein.
Für die eigentliche Aktualisierung ermittelt die Update.exe alle notwendigen Dateien und speichert diese in einem temporären Verzeichnis. Die Kommunikation mit dem System erfolgt dabei über die zu aktualisierende Clientanwendung, da nur diese die erforderlichen Berechtigungen zum Kontaktieren der Datenbank oder des Anwendungsservers besitzt. Sind alle erforderlichen Dateien übertragen, so übernimmt die Update.exe die Steuerung und beginnt mit dem Dateiaustausch. An dieser Stelle wird der Anwender aufgefordert, die noch geöffnete Anwendung zu beenden, wenn sie den Aktualisierungsprozess verhindert. Gleichzeitig erfolgt eine Anforderung von Administrationsberechtigungen per Benutzerkontensteuerung, falls diese nötig sind.
Bei diesem Aktualisierungsvorgang werden nicht nur die Dateien ausgetauscht, sondern es erfolgt auch die Ausführung von weiteren Migrationsschritten aus den *.Update.dlls. Die Funktionalität in diesen Migrationsschritten ist nicht beschränkt. Typische Beispiele sind Anpassungen in der Registrierungsdatenbank oder in den Konfigurationsdateien und das Entfernen von veralteten Programminformationen auf den Rechnern. Diese Migrationsschritte werden ausgeführt, nachdem die Dateien ausgetauscht wurden.
Konnten alle Aktualisierungsschritte erfolgreich ausgeführt werden, so erstellt die Update.exe eine neue SoftwareRevision.viv und startet die Clientanwendung neu. Danach beendet sich die Update.exe und entfernt selbst das temporäre Arbeitsverzeichnis. Die Softwareaktualisierung ist damit abgeschlossen.
Im laufenden Betrieb wird durch die VI.DB.dll zyklisch der Semaphortest ausgeführt. Wird eine Datei zum Austausch erkannt, so wird der Aktualisierungsprozess gestartet.
Eingreifen des Benutzers in die automatische Aktualisierung der One Identity Manager-Werkzeuge
Wird die Aktualisierung der One Identity Manager-Komponenten auf einer Arbeitsstation erkannt, erfolgt der Hinweis alle geöffneten Programme zu schließen. Nachdem der Benutzer alle Programme geschlossen hat, wird die Aktualisierung ausgeführt.
Ob die Benutzer der One Identity Manager-Werkzeuge entscheiden können, wann die Aktualisierung ihrer Arbeitsstationen erfolgt, wird über den Konfigurationsparameter Common | AutoUpdate | AllowOutOfTimeApps gesteuert.
-
Ist der Konfigurationsparameter nicht aktiviert, hat ein Benutzer keine Möglichkeit in die Aktualisierung einzugreifen. Die Aktualisierung wird sofort ausgeführt.
-
Ist der Konfigurationsparameter aktiviert, wird dem angemeldeten Benutzer ein Meldungsfenster angezeigt. Der Benutzer kann entscheiden, ob die Aktualisierung der One Identity Manager-Werkzeuge auf seiner Arbeitsstation sofort oder zu einem späteren Zeitpunkt ausgeführt wird.
HINWEIS: Lehnt der Benutzer die sofortige Aktualisierung ab, so kann er weiterarbeiten. Die Aktualisierung kann dann mit dem nächsten Start des Programms durchgeführt werden.