Oracle Data Safe ist ein Cloud basierte Kontrollzentrum für Datenbank-Sicherheit. Data Safe ermöglicht das Überwachen von Oracle Datenbank Sicherheitsrichtlinien und das Maskieren von sensiblen Daten in der Oracle Datenbank. Aktuell wird Oracle Data Safe ausschließlich in der Oracle Cloud angeboten, die zu überwachenden Oracle Datenbanken sind ebenfalls auf die Oracle Cloud Infrastructure Datenbanken beschränkt.
Dieser Artikel befasst sich mit dem Setup/Konfiguration der Umgebung, um Data Safe nutzen zu können müssen einige Einstellungen vorgenommen werden. Voraussetzung zur Durchführung ist ein Oracle Cloud Infrastructure Tenant und administrative Zugriffsrechte. Sollten Sie keinen Oracle Cloud Infrastructure Tenant haben, können Sie sich hier einen Free-Trial einrichten. Das Setup unterteilt sich in folgende Punkte:
Sollte Ihr verwendeter OCI Benutzer Administrationsrechte besitzt, können Sie zum Punkt 2 springen. Der Data Safe Benutzer muss in der Oracle Cloud Infrastructure (OCI) angelegt sein, dies kann ein lokaler oder federated Benutzer sein. Federation heißt: Der Benutzer wird in einem zentralen Identity Management System angelegt und in die OCI synchronisiert. Der IDM Default Service der OCI ist der Oracle Identity Cloud Service (IDCS), kann jedoch auch durch andere Systeme ersetzt werden (Active Directory, etc.).
In der Praxis hat es sich bewährt Benutzer in Gruppen zu unterteilen. Diese Gruppen bekommen unterschiedliche, an die Aufgaben angepasste, Rechte zugeordnet. So wird z.B. eine Administrations-Gruppe angelegt, die neue Datenbank-Ziele in Data Safe konfiguriert und eine andere User-Gruppe, die nur lesenden Zugriff auf die Überwachungsergebnisse hat. Wichtig ist, dass der Benutzer und ggf. die Gruppe in OCI vorhanden ist.
Hier können Sie nachlesen, wie in der OCI eine neue Gruppe angelegt werden kann.
Bild 1: OCI Synchronisierung mit dem Oracle Identity System
In unserer Beispiel-Konfiguration vergeben wir dem Benutzer der Einfachheit halber Administrationsrechte. Für ein produktives System müssen selbstverständlich bestimmte Richtlinien eingehalten werden und Nutzer und Administratoren sind zu trennen. Die Rechte können in der OCI Console unter Menü > Identity > Policies gesetzt werden. Hier erstellen Sie eine neue Policy mit folgendem Eintrag:
Allow group <eine existierende Gruppe> to manage data-safe in tenancy
Vor der Aktivierung noch ein paar Hintergrundinformationen: Hinter dem Data Safe Cloud Service Instanz steckt eine Web-Applikation und eine Pluggable Database (PDB) die in jeder Region (Cloud Rechenzentrums-Standort) separat vorhanden sind. D.h. bevor Sie diesen Service nutzten können, müssen Sie sich für die Nutzung der Web-Applikation und PDB freischalten. Dies können Sie einfach über das OCI Console Menü > Data Safe > Enable Data Safe. Wenn Sie unter diesem Punk bereits den Schalter „Service Console“ sehen, ist Data Safe bereits aktiviert.
Bild 2: Aktivierung von Data Safe in einer Region
Dieser Schritt ist abhängig von dem zu überwachenden Datenbank-Typ. Folgende Datenbanken (Stand Juni 2020) werden unterstützt:
Bild 3: Liste der unterstützten Datenbanken.
Die Konfiguration unterscheidet sich zwischen VM, Bare Metal oder Exadata Cloud Service basierten Datenbanken und Autonomous Datenbanken. Eine zweite Unterscheidung ist die Fähigkeit die Datenbank über eine Public IP in Data Safe einzubinden oder über eine Private IP. Die Einbindung per Public IP ist für alle unterstütze Datenbank außer Exadata Cloud Service möglich, die Nutzung einer Private IP ist nur bei der VM, Bare Metal oder Exadata Cloud Service Variante möglich.
Für Test bzw. öffentliche Datenbanken kann die Public IP Variante gewählt werden, für Datenbanken mit sensiblen Inhalten oder keiner Public IP ist die Variante der Private IP zu empfehlen.
Bild 4: Public IP vs. Private IP Verbindung
Kümmern wir uns zuerst um das Einbinden der VM, Bare Metal bzw. Exadata Cloud Service Variante:
Für die Registrierung öffnen wird die Data Safe Console OCI Console Menü > Data Safe > Service Console und klicken auf den Reiter „Targets“. Um eine neue Datenbank zu registrieren klicken Sie auf den Punkt „Register“. Ein Pop-Up-Fenster öffnet sich und Sie müssen einige Konfigurations-Parameter eingeben. Doch bevor Sie dies tun können, muss in der Ziel-Datenbank ein Skript gestartet werden. Dieses Skript kann direkt aus diesem Fenster unter den Punkt „Download Privilege Script“ runtergeladen werden. Das Skript enthält GRANT/REVOKE Statements für den zu verwendenden Datenbank Benutzer.
Bild 5: Runterladen des Download Privilege Scripts
Hinweis: Das Skript muss in jeder Pluggable Database als Administrator ausgeführt werden, die überwacht werden soll, es kann und soll nicht in der Container PDB ausgeführt werden. Also erst einen Benutzer in der Pluggable Database anlegen, dann das Skript als Datenbank-Administrator laufen lassen! In dem Skript wird der Name des Benutzers abgefragt, der die Grants bekommt, ich habe hierfür in der PDB einen eigenen Benutzer angelegt.
Bild 6: Ausführen des dscs_privileges.sql Skripts
Im nächsten Schritt werden die Konfigurations-Parameter eingegeben. Nachfolgend werden die (benötigten) Parameter genannt und beschrieben:
Data Safe Ziel (Target) Daten
Verbindungs-Details
Anschließend testet man die Verbindung und klickt nach erfolgreichem Test „Register Target“.
Hinweis: Es kann vorkommen, dass man anschließend eine Fehlermeldung bekommt, dass ein federated User nicht ausreicht und man einen lokalen Benutzer benötigt. Diesen Fehler bekommt man, wenn man z.B. in einer frühen Version des Data Safes Services eine Datenbank registriert hat. In der Vergangenheit konnte man nur lokale OCI Benutzer für Data Safe nutzen. Sollten Sie diesen Fehler bekommen, einfach den Browser-Cache leeren, anschließend funktioniert alles wie erwartet.
Bild 7: Verbindungsparameter Registrierung VM Basierte OCI Datenbank
Dies war der letzte Schritt, anschließend sieht man die Datenbank in der Liste der Ziele.
Möchte man eine Autonomous Database in Data Safe einbinden, geht dies in einem Schritt, da die nötigen Privilegien schon vorhanden sind und die Konfigurationsparameter dem System bekannt sind. In dem nachfolgenden Beispiel registriere ich eine Autonomous Data Warehouse DB.
Im ersten Schritt geht man auf Menü > Autonomous Data Warehouse, man klickt auf die gewünschte Datenbank und registriert diese durch ein Klick auf Register im Bereich Data Safe.
Bild 8: Data Safe Registrierung Autonomous Data Warehouse
Anschließend kann man aus der Detailansicht der Autonomous Database direkt in den Data Safe Cloud Service springen und sieht dort unter Targets die neu registrierte Autonomous Database.
Für das De-Registrieren geht man einfach auf die Target Seite von Data Safe, wählt das gewünschte Ziel aus und löscht den Eintrag.
Fazit: Diese Beispiele hat einen möglichen Weg aufgezeigt, um eine VM basierte und eine Autonomous Datenbank in Data Safe zu registrieren. Die Autonomous Database geht wesentlich schneller, da die nötigen Privilegien, Benutzer etc. schon vorhanden sind. Die Registrierung kann natürlich auch über die APIs durchgeführt werden, dies ist wichtig, wenn es zum Beispiel darum geht viele Datenbanken einzubinden.
Hilfreiche Links:
Dokumentations-Einstieg Data Safe
Einführungs-Video Data Safe (7 Minuten)