Hören Sie auf, Zeit mit Routinearbeiten zu verschwenden, lassen Sie den DataSunrise Resource Manager diese Arbeit machen
Haben Sie sich jemals gefragt, wie zeitaufwendig die Arbeit mit einer GUI sein kann? Stellen Sie sich nur vor, wie viel Aufwand und Zeit eine einfache Reproduktion einer Infrastruktur auf mehreren Computern in Anspruch nehmen kann – Sie drücken mehrmals dieselben Tasten, sehen dieselben Bildschirme, stellen dieselben Parameter ein… All diese Prozesse wiederholen sich immer wieder, und manchmal kann dies zu menschlichen Fehlern führen. Geben Sie zu, manchmal möchte man einfach die Einstellungen kopieren und einfügen, um die ganze Routine loszuwerden.
Glücklicherweise gibt es solch eine Technologie. Dies wird als Infrastruktur als Code (oder manchmal als programmierbares Framework) bezeichnet. Mehr als nur das Kopieren und Einfügen von Anpassungen, automatisiert dieser Ansatz das Infrastrukturmanagement mithilfe von Softwareentwicklungstechniken und überbrückt effektiv die Lücke zwischen der Codierung von Anwendungen und der Erstellung von Umgebungen für diese Anwendungen.
Die Arbeit an dieser Technik beruht auf der Verwendung von Konfigurationsdateien, die Code enthalten, der die Infrastruktur beschreibt. Die gesamte Funktionalität zum Erstellen von Anwendungsressourcen steht Ihnen auf die gleiche Weise zur Verfügung, aber jetzt müssen Sie nicht mehr zwischen verschiedenen Einstellungsbildschirmen hin und her wechseln, sondern können sie einfach über den Code beschreiben. Dies eröffnet großartige Möglichkeiten:
- Automatisierung – importieren Sie einfach die Vorlage, und die Anwendung wird alle Ressourcen für Sie bereitstellen. Dies spart viel Zeit und Aufwand und reduziert die Fehlerquote.
- Elastische Reproduktion – Sie können die Infrastruktur mit demselben Code auf beliebig vielen Maschinen bereitstellen.
- Laden Sie Ihre Vorlagen in das Versionskontrollsystem hoch, wie z. B. Git, SVN usw. – Sie werden immer die Änderungshistorie kennen und frühere Versionen wiederherstellen können.
- Verwalten Sie Ressourcen bequem – als Gruppe, nicht einzeln, und definieren Sie Abhängigkeiten zwischen Ressourcen, um sie in der richtigen Reihenfolge zu starten.
DataSunrise Resource Manager ist eine Funktion, die es Ihnen ermöglicht, Ihre DataSunrise-Struktur nach dem Prinzip „Infrastruktur als Code“ zu verwalten. Es bietet alle gleichen Fähigkeiten wie eine grafische Oberfläche und ermöglicht es Ihnen, DataSunrise-Infrastrukturobjekte bereitzustellen, zu bearbeiten und zu löschen.
Vorlagen
Die Hauptfunktionalität des Resource Managers wird durch die Arbeit mit Vorlagen bereitgestellt. Eine Vorlage ist eine deklarative JSON-Datei (in Zukunft wird auch XML möglich sein), die Informationen über die bereitgestellte Ressourcengruppe enthält. Diese Datei sieht aus wie ein Dokument mit Code, der von der API verarbeitet wird.
Vorlagen-Code kann manuell geschrieben oder aus einer bestehenden DataSunrise-Instanz mit fertiger Infrastruktur exportiert werden. In jedem Fall können Sie die Werte der Parameter frei ändern, um die Infrastruktur an Ihre Sicherheitsanforderungen anzupassen.
Nachfolgend finden Sie ein Beispiel für den Code einer Vorlage zur Erstellung einer Audit Regel:
{ "DSTemplateVersion" : "2020-03-10", "ExternalResources" : { "Instance_4" : { "Properties" : { "DatabaseType" : "MySQL", "InstanceName" : "Test database" }, "Type" : "Instance" } }, "Mappings" : {"LocalServerID": "1",}, "Parameters" : { "Password_instance" : { "Description" : "", "Type" : "String" }, }, "Resources" : { "AuditRule_17" : { "DependsOn" : "Interface_4", "Properties" : { "Action" : "Default", "ApplySelectForWhereAndJoin" : "True", "ApplySelectWithoutFrom" : "True", "AuditDestinationDatabase" : "Database", "BlockCounterLimit" : "0", "BlockCounterPeriod" : "0", "BlockingMessage" : "", "BlockingType" : "None", "CefGroup" : "0", "ChainType" : "Audit", "CheckNextRule" : "False", "Comment" : "", "DataFilter" : "", "DataFilterIsRegexp" : "True", "DepersonalizeQueries" : "False", "DmlDeleteEnabled" : "True", "DmlExcludes" : [], "DmlFilter" : [ { "DatabaseName" : "[[database]]", "DatabaseNameIsRegexp" : "False", "ObjectName" : "actor", "ObjectNameIsRegexp" : "False", "ObjectsItemFilter" : [], "ObjectType" : "Table", "SchemaName" : "sakila", "SchemaNameIsRegexp" : "False" } ], "DmlInsertEnabled" : "True", "DmlSelectEnabled" : "True", "DmlUpdateEnabled" : "True", "Enable" : "True", "ExcludeObjectGroups" : [], "FileParams" : "", "FilterType" : "ObjectBased", "FuncCallEnabled" : "False", "FuncExcludes" : [], "FuncFilter" : [], "IncludeObjectGroups" : [], "Instance" : { "Ref" : "Instance_4" }, "LimitCountType" : "ByOperations", "LimitCountValue" : "0", "LimitEnable" : "False", "LimitFilterType" : "ByRule", "LimitPeriodType" : "Hour", "MaxRowsCount" : "DefaultRowsCount", "Name" : "Audit_rule", "Priority" : "17", "RowLimit" : "0", "SaveDataBindings" : "True", "SaveOnlyFirst" : "False", "SaveReturnedData" : "False", "SaveToEventMonitor" : "True", "Schedule" : "0", "SessionCriteria" : { "criteria" : [], "filterType" : "AND", "operatorType" : "complex" }, "Subscribers" : [], "Tags" : [], "UseFunctionDDL" : "False", "UserBlockingPeriod" : "0", "UserBlockingType" : "NoBlock", "UseViewDDL" : "False", "WhoBlock" : "UserAndHost" }, "Type" : "AuditRule" } } }
ExternalResources
Enthält Verweise auf externe Objekte, die außerhalb der DataSunrise-Vorlage existieren und nicht von ihr kontrolliert werden, in deren Kontext jedoch das Framework, das in die Vorlage exportiert wurde, funktionierte. Wenn diese Objekte in einem anderen DataSunrise gerendert werden, bevor die Vorlage bereitgestellt wird, wird die bereitgestellte Infrastruktur auch ohne Änderung der Einstellungen funktionieren.
In diesem Fall beschreibt dieser Abschnitt die bestehende Testdatenbank Instanz, deren Infrastruktur in die Vorlage exportiert wird.
Mappings
Dieser Abschnitt enthält Konstanten der Vorlage und erlaubt es, ihren Wert festzulegen. Sie können sich auf diese Werte mit der Ref-Funktion beziehen, um die Angabe dieses Wertes in Ihrem Code zu vermeiden. Dies verbessert die Lesbarkeit der Vorlage und reduziert die Zahl der möglichen Fehler.
"Mappings" : {"LocalServerID": "1",}
Dieser Abschnitt enthält die ID des lokalen Servers. Beim Ändern des Wertes dieser Konstante müssen Sie diese Angabe nicht in der gesamten Vorlage neu schreiben, es genügt, sie in diesem Abschnitt zu ändern.
Parameter
Dieser Abschnitt deklariert Ressourcenattribute, die mit vordefinierten Werten bereitgestellt werden sollen. Er hilft ebenfalls, Wiederholungen in der Vorlage zu vermeiden, aber im Gegensatz zu den Konstanten aus dem Abschnitt Mappings können die Parameterwerte für verschiedene Bedingungen überschrieben werden, beispielsweise auf einem anderen Host mit einer anderen IP. Jedes Attribut kann als Parameter genommen und beim Bereitstellen einer Vorlage extern eingestellt werden.
"Parameters" : "Parameters" : { "Password_instance" : { "Description" : "", "Type" : "String" },
In unserem Beispiel ist ein String-Typ für Passwörter angegeben, und wenn der Passworttyp für eine der Infrastrukturen anders sein muss, können Sie diesen Wert manuell oder durch Einbeziehung einer optionalen Parameters JSON-Datei ändern. Sie können auch vertrauliche Daten wie Passwörter in dieser Datei speichern, sodass Sie sie nicht direkt in der Vorlage notieren müssen.
Sie können sich auch mit der “Ref”-Funktion auf diese Parameter beziehen:
"Password" : { "Ref" : "Password_instance" },
Ressourcen
Die Beschreibung der bereitgestellten Auditregel beginnt im Abschnitt Resources, der eine Beschreibung der importierten Ressourcen enthält. Dieser Abschnitt beschreibt alle DataSunrise-Ressourcen, die Sie in die Vorlage hochgeladen haben. Diese gleichen Ressourcen werden bereitgestellt.
Der Unterabschnitt Properties beschreibt die Eigenschaften, die auf die Regel angewendet werden. Zum Beispiel, Anfragen, auf die die Regel reagieren soll (True Werte der Argumente ApplySelectForWhereAndJoin und ApplySelectWithoutFrom, die den markierten Anfragen in den Filter Statements in der GUI zur Erstellung einer Auditregel entsprechen). Der DmlFilter gibt die Informationsquelle an, die die Regel auslöst.
So wird beim Bereitstellen dieser Vorlage eine Auditregel erstellt, die jede Interaktion mit Informationen in der actor-Tabelle des sakila-Schemas aufzeichnet. Um die kopierte Vorlage unter anderen Bedingungen zum Laufen zu bringen (zum Beispiel einer anderen Datenquelle für die Überwachung), genügt es, die Werte einiger Argumente zu ändern, in diesem Fall – ObjectName und SchemaName.
Andere Möglichkeiten zum Bereitstellen von Vorlagen
Sie können die DataSunrise-Ressourcen bereitstellen, wenn DataSunrise startet. Dazu müssen Sie den DataSunrise Database Security-Dienst in den Windows-Diensten stoppen, die entsprechenden Argumente in die Startparameter schreiben und den Dienst erneut starten.
DataSunrise wird die gesamte Infrastruktur aus der Vorlage bereitstellen. Dies ist nützlich, wenn Sie keine Zeit mit der Bereitstellung von Ressourcen über die Benutzeroberfläche verschwenden möchten. Indem Sie die erforderliche Vorlage in den Startparametern angeben, erhalten Sie eine einsatzbereite Infrastruktur.
Liste von Argumenten für die Arbeit mit Vorlagen im DataSunrise-Dienst sowie Beispiele für ihre Verwendung:
- Vorlagendateipfad:
TEMPLATE_PATH = “C: /Users/Tom/IaCTemplates/templatePeriodicTask.json”
- Pfad zur TemplateParams-Datei (optional):
TEMPLATE_PARAMS_PATH = “C:
/Users/Tom/IaCTemplates/paramsPostgreSql.json” - Was mit der Infrastruktur zu tun ist (Action = InfrastructureName), wählen Sie eine der drei:
CREATE_INFRASTRUCTURE = deployment1 – Infrastruktur erstellen
UPDATE_INFRASTRUCTURE = deployment1 – Infrastruktur aktualisieren (Ressourcen basierend auf dem Unterschied zwischen früheren und aktuellen Vorlagen hinzufügen oder entfernen)
DELETE_INFRASTRUCTURE = deployment1 – Infrastruktur und alle zugehörigen Ressourcen löschen
Das Beispiel für Import-Argumente:
UPDATE_INFRASTRUCTURE = deployment1 TEMPLATE_PATH = “C:/ Users/Tom/IaCTemplates/templatePeriodicTask.json” TEMPLATE_PARAMS_PATH = “C:/ Users/Tom/IaCostgostgles”
Erforderliche Argumente für den Export:
- Der Pfad, wohin die Vorlage exportiert wird (optional, wenn nicht angegeben, wird es neben dem ausführbaren Programm exportiert):
EXPORT_INFRASTRUCTURE_PATH = “C:/Users/Tom/”
- Name der Infrastruktur:
EXPORT_INFRASTRUCTURE = deployment1
Fazit
Die Verwendung des DataSunrise Resource Managers ist eine effektive Lösung zum Verwalten von DataSunrise-Konfigurationen. Die Arbeit mit Vorlagen ermöglicht es Ihnen, die exportierte Infrastruktur an Ihre Bedürfnisse anzupassen, indem Sie mehrere Werte ändern und Ressourcen über den Code verwalten. Dieser Ansatz spart Ihnen Zeit und Budget und befreit Sie von der Wiederholung derselben Routinearbeiten.
Erfahren Sie mehr über das Bereitstellen von Vorlagen und das Beschreiben von Ressourcen in Kapitel 12 des Benutzerhandbuchs.