KEYnote42 Deutsch - Herbst Ausgabe 2021 | Page 8

tems als Beispiel zur Verfügung gestellte Konfiguration verwendet dazu dasselbe Image wie für den Container mit dem CodeMeter Lizenzserver , jedoch mit anderen Einstiegspunkten .
Gebundene Lizenzen Die zweite wesentliche Neuerung für Docker ist die Bereitstellung einer speziellen Bindung für Cm- ActLicenses . Bei einer CmActLicense werden bei der Erstellung auf dem Zielsystem die Hardwareeigenschaften ausgelesen und für das patentierte SmartBind-Verfahren nach einem hinterlegten Rezept so kombiniert , dass kleinere Veränderungen am System nicht zu einem Brechen der Lizenz führen , hingegen größere Veränderungen oder gar der Betrieb auf einem anderen System die Lizenz unbrauchbar machen .
Die Herausforderung hier war , dass eine Duplizierung , also das Starten einer zweiten Instanz des Containers mit dem CodeMeter Lizenzserver , auf keinen Fall die vorhandenen Lizenzen verdoppeln sollte . Die Lösung besteht in der Verwendung eines Named Volume . Dieses Named Volume wird in den Container mit dem CodeMeter Lizenzserver eingehängt und die CmActLicense wird sowohl an dieses Volume gebunden als auch auf diesem Named Volume abgelegt . In Kombination mit einem Sperrmechanismus kann dadurch die aktivierte CmActLicense nicht mehrfach betrieben werden , überlebt aber trotzdem den Wechsel des Containers , in den sie eingebunden ist . Das passiert zum Beispiel beim Austausch des Containers mit dem CodeMeter Lizenzserver gegen einen Container , der auf einem Image mit einer neueren Version von CodeMeter basiert . Bei so einem Versionsupdate braucht also nur der alte Container gestoppt und einer mit der neuen Version gestartet werden . Damit die Bindung auch sicher durchgeführt und überprüft werden kann , benötigt der Container mit dem CodeMeter Lizenzserver für den Betrieb einer CmActLicense Zugriff auf den Docker-Socket .
Aufgrund der Abstraktionsmöglichkeiten einer Container-Umgebung lässt sich der Betrieb einer CmActLicense in einem Docker-Container nicht so gut schützen wie auf einem realen System . Daher ist es weiterhin notwendig , CmActLicenses für Container-Umgebungen
CodeMeter License Server
License Server
CodeMeter CloudServer
Container : CodeMeter License Server
Host
explizit freizuschalten ( zum Beispiel CmBox- Pgm-Option -lopt : vm , container “). Grundsätzlich sollte man daher überlegen , ob eine Lizenz in einem Container wirklich notwendig ist .
Container : CodeMeter License Server + Credential File
Host
CodeMeter Network
CodeMeter Network
Lizenzen in der Cloud Von dem ( lokal notwendigen ) Container mit dem CodeMeter-Lizenzserver ( kurz : dem Code- Meter Docker-Container ) kann man sehr gut auf Lizenzen in der Cloud zugreifen . Die Lizenzen in einem CmCloudContainer stecken gefühlt direkt in dem Docker-Container und bieten dabei aber höchste Sicherheit gegen Lizenzmissbrauch . Die Zählung der Lizenzen findet zunächst vordergründig im CodeMeter Docker-Container statt ; die Lizenzen werden aber ebenso in der CmCloud selbst gezählt und verwaltet . Es ist bei einer CmCloud-Lizenz daher nicht möglich , mehr als die bereitgestellten Lizenzen gleichzeitig zu verwenden . Wenn Sie sicher sein können , dass Ihr Code- Meter Docker-Container eine immer verfügbare Internetverbindung hat , dann ist die Verwendung von Lizenzen in einem CmCloudContainer eine sehr gute Wahl .
Lizenzen im Netzwerk Wir haben oben gelernt , dass die Zugriffe aus dem App-Container im CodeMeter Docker-Container als lokale CodeMeter-Zugriffe gewertet
Container : Application + CodeMeter Library
...
Container : Application + CodeMeter Library
Container : CodeMeter WebAdmin
Container : Application + CodeMeter Library
...
Container : Application + CodeMeter Library
Container : CodeMeter WebAdmin werden . Genau das ermöglicht uns jetzt , alternativ zu einer CmActLicense im Docker-Container oder einem CmCloudContainer auch Lizenzen im Netzwerk zu verwenden . Dazu benötigen Sie einen immer erreichbaren Rechner , an den Sie einen oder mehrere CmDongles anstecken oder CmActLicenses aktivieren . Diese Lizenzen können von anderen Rechnern in Ihrem Netzwerk verwendet werden , und damit auch vom CodeMeter Docker-Container . Dazu genügt es , im Profiling des im CodeMeter Docker- Container laufenden CodeMeter Lizenzservers ( der hier als Client fungiert ) den Namen oder die Adresse des CodeMeter Lizenzservers ( mit Serverfunktionalität ) anzugeben . Schon werden die Lizenzanfragen der geschützten Applikation zunächst zum Code- Meter Lizenzserver im Docker- Container geschickt und von dort an alle hinterlegten CodeMeter Lizenzserver im Netzwerk weitergegeben . Wir sehen also , dass uns die Trennung der Applikation vom CodeMeter Lizenzserver nicht in der Nutzung einschränkt .
Nebenbedingungen Das Docker-Image mit den Code- Meter-Komponenten muss auf einem Linux basieren , das glibc verwendet . In den Beispielen verwenden wir ein schlankes Image , das auf Debian basiert . Für die Container mit den geschützten Applikationen wird mit der nächsten Version diese Voraussetzung entfallen . Wibu-Systems arbeitet daran , sowohl die CodeMeter-Bibliothek bereitzustellen als auch die CodeMeter Protection Suite zu erweitern , sodass die geschützten Applikationen auf der in Docker-Umgebungen beliebten Linux-Variante Alpine lauffähig sein werden .
8