Hinweis:
- Dieses Tutorial erfordert Zugriff auf Oracle Cloud. Informationen zur Registrierung für einen kostenlosen Account finden Sie unter Erste Schritte mit Oracle Cloud Infrastructure Free Tier.
- Es verwendet Beispielwerte für Oracle Cloud Infrastructure-Zugangsdaten, -Mandanten und -Compartments. Ersetzen Sie diese Werte nach Abschluss der Übung durch Werte, die für Ihre Cloud-Umgebung spezifisch sind.
Optimieren Sie die kontinuierliche Datenbanküberwachung durch Automatisierung der Oracle Data Safe-Registrierung mit OCI-CLI
Einführung
Die Aufrechterhaltung eines robusten Cybersicherheitsstatus für Oracle Datenbanken ist in der heutigen komplexen Bedrohungsumgebung von wesentlicher Bedeutung. Kontinuierliche Überwachung ist der Schlüssel zur proaktiven Identifizierung von Schwachstellen, Fehlkonfigurationen und potenziellen Bedrohungen, bevor sie ausgenutzt werden können. Da Cyberbedrohungen immer ausgefeilter und gezielter werden, werden regelmäßige Bewertungen für Compliance, ungewöhnliche Aktivitäten und unbefugten Zugriff immer wichtiger.
Die manuelle Registrierung mehrerer Datenbanken in Oracle Data Safe mit der Oracle Data Safe-Konsole kann aufwändig und zeitaufwendig sein. Dieses Tutorial bietet einen optimierten Ansatz zur Automatisierung des Registrierungsprozesses mit Oracle Cloud Infrastructure Command Line Interface-(OCI-CLI-)Befehlen und -Skripten innerhalb der OCI Cloud Shell-Schnittstelle, wodurch der manuelle Aufwand und die erforderliche Zeit erheblich reduziert werden.
Zielgruppe
- Datenbankadministratoren und OCI-Sicherheitsadministratoren.
Ziele
-
Automatisieren Sie die Oracle Data Safe-Registrierung mit der OCI-CLI, um den manuellen Aufwand zu reduzieren und eine konsistente Konfiguration sicherzustellen.
Anwendungsfall: Automatisieren Sie die gesamte Oracle Database as a Service-(DBaaS-)Registrierung und -Verwaltung mit Oracle Data Safe mit der OCI-CLI.
In diesem Tutorial erfahren Sie, wie Sie die Registrierung von Oracle Database as a Service (DBaaS) mit Oracle Data Safe mit der OCI-CLI automatisieren. Anhand eines einfachen Beispiels demonstrieren wir den Prozess mit dem Schwerpunkt auf OCI-CLI-Befehlen, die auf ein bestimmtes Compartment zugeschnitten sind, in dem Sie Ihre Oracle Data Safe-Vorgänge verwalten. Dieses Tutorial kann auch als Referenz dienen, um die Prozedur für die Registrierung Ihrer On-Premise-Zieldatenbanken anzupassen. Weitere Informationen finden Sie unter Oracle On-Premise-Datenbank registrieren.
Informationen zum Herunterladen vollständiger Skripte finden Sie unter GitHub Repository.
Voraussetzungen
-
Auf OCI Cloud Shell zugreifen:
Um OCI Cloud Shell verwenden zu können, müssen Sie zunächst den Benutzerzugriff über eine Oracle Cloud Infrastructure Identity and Access Management-(OCI IAM-)Policy erteilen. Weitere Informationen finden Sie unter OCI Cloud Shell.
Beispiel für eine OCI-IAM-Policy zum Zulassen des Zugriffs:
allow group <GROUP-NAME> to use cloud-shell in tenancy
Wenn Sie eine Domain angeben möchten, verwenden Sie:
allow group <DOMAIN-NAME>/<GROUP-NAME> to use cloud-shell in tenancy
-
Berechtigung für Oracle Data Safe:
Erteilen Sie die Benutzergruppenberechtigung für alle Oracle Data Safe-Ressourcen. Weitere Informationen finden Sie unter Oracle Data Safe-Administratorengruppe erstellen.
Beispiel für eine OCI-IAM-Policy:
Allow group Data-Safe-Admins to manage data-safe-family in tenancy
-
Oracle Data Safe-Serviceaccount in allen Zieldatenbanken erstellen:
Jede Zieldatenbank für Oracle Data Safe benötigt einen Serviceaccount. Autonome Datenbanken enthalten dies standardmäßig. Bei nicht autonomen Datenbanken müssen Sie es jedoch manuell erstellen. Weitere Informationen finden Sie unter Oracle Data Safe-Serviceaccount in der Zieldatenbank erstellen.
SQL-Befehl:
CREATE USER DATASAFEADMIN identified by password DEFAULT TABLESPACE "DATA" TEMPORARY TABLESPACE "TEMP"; GRANT CONNECT, RESOURCE TO DATASAFEADMIN;
Hinweis:
- Das Kennwort muss aus mehr als 14 Zeichen bestehen, einschließlich Großbuchstaben, Kleinbuchstaben, Zahlen und Sonderzeichen.
- Vermeiden Sie die Verwendung von SYSTEM- oder SYSAUX-Tablespaces.
Um Rollen zu erteilen, laden Sie das Skript
datasafe_privileges.sql
über die Oracle Data Safe-Konsole herunter, und führen Sie es aus. Führen Sie das Skript als SYS aus. Weitere Informationen finden Sie unter Rollen für den Oracle Data Safe-Serviceaccount in der Zieldatenbank erteilen.Beispiel-Skriptausgabe:
SQL> @datasafe_privileges.sql DATASAFEADMIN GRANT ALL Enter value for USERNAME (case sensitive matching the username from dba_users) Setting USERNAME to DATASAFEADMIN Enter value for TYPE (grant/revoke) Setting TYPE to GRANT Enter value for MODE (audit_collection/audit_setting/data_discovery/masking/assessment/all) Setting MODE to ALL Granting AUDIT_COLLECTION privileges to "DATASAFEADMIN" ... Granting AUDIT_SETTING privileges to "DATASAFEADMIN" ... Granting DATA_DISCOVERY role to "DATASAFEADMIN" ... Granting MASKING role to "DATASAFEADMIN" ... Granting ASSESSMENT role to "DATASAFEADMIN" ... Done. Disconnected from Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production Version 21.1.0.0.0 [oracle@dbcs21c ~]$
Aufgabe 1: Auf OCI Cloud Shell zugreifen
Greifen Sie auf OCI Cloud Shell zu, um die integrierten Funktionen zu nutzen.
-
Melden Sie sich bei der OCI-Konsole an.
-
Klicken Sie im Konsolenheader auf das Symbol Cloud Shell/Codeeditor, und wählen Sie im Dropdown-Menü die Option Cloud Shell aus. Beachten Sie, dass die in der OCI Cloud Shell ausgeführte OCI-CLI Befehle für die Region ausführt, die beim Starten von OCI Cloud Shell im Regionsauswahlmenü der Konsole ausgewählt wurde.
Aufgabe 2: Private Endpunkte für Zieldatenbanken erstellen
Oracle Data Safe unterstützt die Konnektivität zu Oracle-Datenbanken mit öffentlichen oder privaten IP-Adressen. Bei Datenbanken mit privaten IP-Adressen stehen Ihnen zwei Optionen zur Verfügung: ein privater Oracle Data Safe-Endpunkt oder ein On-Premise-Connector von Oracle Data Safe. In diesem Tutorial konzentrieren wir uns darauf, private Endpunkte für die Registrierung von DBaaS-Datenbanken zu erstellen.
Skriptname: generate_private_endpoints_and_commands_for_missing_vcns.sh
.
Beschreibung: Dieses Skript identifiziert VCNs in einem angegebenen OCI-Compartment, denen private Oracle Data Safe-Endpunkte fehlen. Es generiert eine CSV-Datei mit den fehlenden VCNs und den zugehörigen Subnetzen und erstellt ein Shellskript mit OCI-CLI-Befehlen, um die erforderlichen privaten Endpunkte für jedes VCN zu erstellen.
Führen Sie die Schritte aus:
-
Fordern Sie den Benutzer zur Compartment-OCID auf.
-
Identifizieren Sie VCNs, denen private Oracle Data Safe-Endpunkte fehlen.
-
Listen Sie die fehlenden VCNs und die zugehörigen Subnetze auf.
-
Generieren Sie eine CSV-Datei mit dem Namen
list_vcns_without_private_endpoints.csv
mit Details zu fehlenden VCNs und Subnetzen. -
Erstellen Sie ein Shellskript namens
create_private_endpoints_commands.sh
mit OCI-CLI-Befehlen, um private Endpunkte für die identifizierten VCNs zu erstellen.
Beispielausgabe:
Aufgabe 3: Zugangsdaten der Zieldatenbank im JSON-Format generieren
In diesem Tutorial wird ein einzelner Oracle Data Safe-Serviceaccount für alle Zieldatenbanken verwendet. Daher ist die JSON-Datei mit den Datenbankzugangsdaten für alle Zieldatenbanken identisch.
Skriptname: generate_target_db_credentials.sh
.
Beschreibung: Dieses Skript fordert den Benutzer auf, einen Benutzernamen und ein Kennwort einzugeben. Anschließend wird eine JSON-Datei mit dem Namen Credentials_Target_DBaaS.json
mit den angegebenen Zugangsdaten erstellt. Mit der JSON-Datei werden Benutzername und Kennwort der Zieldatenbank sicher gespeichert.
Führen Sie die Schritte aus:
-
Bitten Sie den Benutzer, einen Benutzernamen einzugeben.
-
Bitten Sie den Benutzer, ein Kennwort einzugeben.
-
Erstellen Sie eine JSON-Datei mit dem Namen
Credentials_Target_DBaaS.json
, die den Benutzernamen und das Kennwort enthält.
Beispiel-Skriptausgabe:
Aufgabe 4: Verbindungsoptionen für privaten Endpunkt im JSON-Format generieren
Skriptname: generate_Connection_Options_private_endpoints.sh
.
Beschreibung: Dieses Skript automatisiert das Auflisten von VCNs, Subnetzen und privaten Oracle Data Safe-Endpunkten in einem OCI-Compartment. Es generiert eine CSV-Datei mit detaillierten Informationen zu jedem privaten Endpunkt, einschließlich zugehöriger VCN- und Subnetznamen, und erstellt individuelle JSON-Dateien für jeden Endpunkt, um Oracle Data Safe-Verbindungsoptionen zu definieren.
Führen Sie die Schritte aus:
-
Fordern Sie den Benutzer zur Angabe der Compartment-ID auf.
-
Listen Sie alle VCNs auf, und speichern Sie die Ausgabe unter
vcn_list.txt
. -
Listen Sie alle Subnetze auf, und speichern Sie die Ausgabe unter
subnet_list.txt
. -
Listen Sie alle privaten Oracle Data Safe-Endpunkte auf, und speichern Sie die Ausgabe in
PE_list.txt
. -
Generieren Sie eine CSV-Datei mit dem Namen
list_All_private_endpoints_details.csv
mit detaillierten Informationen zu jedem privaten Endpunkt. -
Erstellen Sie JSON-Dateien für jeden privaten Endpunkt, um Oracle Data Safe-Verbindungsoptionen anzugeben.
Beispiel-Skriptausgabe:
Aufgabe 5: Autonome Datenbanken bei Oracle Data Safe registrieren
Bei der Registrierung einer Oracle Autonomous Database Serverless mit Sicherer Zugriff von überall müssen Sie keine Konnektivitätsoption auswählen oder Serviceaccountdetails angeben, da diese standardmäßig enthalten sind. In diesem Tutorial erfahren Sie, wie Sie Oracle Autonomous Database Serverless verwalten und registrieren.
Skriptname: generate_Autonomous_database_details_with_data_safe.sh
.
Beschreibung: Dieses Skript automatisiert den Prozess, Oracle Autonomous Databases in einem OCI-Compartment aufzulisten und den Oracle Data Safe-Registrierungsstatus zu prüfen. Er generiert eine CSV-Datei mit Details zu allen autonomen Oracle-Datenbanken und erstellt JSON-Dateien für Datenbanken, die nicht bei Oracle Data Safe registriert sind. Darüber hinaus bereitet das Skript Oracle Data Safe-Registrierungsbefehle für jede nicht registrierte Datenbank vor und speichert sie in einem Shellskript. Dadurch können Benutzer nicht registrierte Datenbanken schnell registrieren, indem sie die generierten Befehle ausführen.
Führen Sie die Schritte aus:
-
Prompt für Compartment-ID.
-
Generieren Sie eine CSV-Datei mit Oracle Autonomous Database-Details.
-
Erstellen Sie JSON-Dateien für nicht registrierte Datenbanken.
-
Bereiten Sie Oracle Data Safe-Registrierungsbefehle in einem Shellskript vor.
-
Führen Sie die Registrierungsbefehle aus, um die Datenbanken zu registrieren.
Beispielskriptausgabe:
Aufgabe 6: Oracle Cloud-Datenbanken bei Oracle Data Safe registrieren
Skriptname: generate_Cloud_database_details_with_data_safe.sh
.
Beschreibung: Automatisiert die Extraktion und Verarbeitung von Oracle Cloud-Datenbankdetails und deren privaten Endpunkten, erstellt JSON-Konfigurationsdateien und generiert Registrierungsbefehle für Oracle Data Safe.
Führen Sie die Schritte aus:
-
Prompt für Compartment-ID.
-
Listen Sie DBaaS-Datenbanken auf, und speichern Sie sie in
Output1.txt
. -
Hängen Sie Subnetz-IDs für Datenbanken an, in denen VM-Cluster-IDs und Datenbanksystem-IDs fehlen.
-
Speichern Sie die Ergebnisse unter
Oracle_Cloud_Databases_Details.csv
. -
Listen Sie private Endpunkte auf, und speichern Sie sie in
Datasafe_Private-Endpoint_List.txt
. -
Generieren Sie JSON-Dateien für jeden PDB-Namen.
-
Erstellen Sie Registrierungsbefehle in
Datasafe_CloudDB_Registration_Commands.sh
.
Beispielskriptausgabe:
Aufgabe 7: Sicherheits- und Benutzerbewertungspläne aktualisieren
Sie können Zeitpläne konfigurieren, um die neuesten Sicherheits- und Benutzerbewertungen für Ihre Zieldatenbanken automatisch in einem bestimmten Compartment in OCI zu speichern. Weitere Informationen finden Sie unter Sicherheitsbewertungen planen und Benutzerbewertungen planen.
Skriptname: generate_datasafe_assessment_schedules.sh
.
Beschreibung: Dieses Shellskript wurde entwickelt, um den Prozess des Abrufs von Oracle Data Safe-Zieldatenbanken, die entsprechenden Sicherheits- und Benutzerbewertungen und das Generieren von Updateplänen für OCI zu automatisieren. Das Skript fordert den Benutzer zur Eingabe einer Compartment-ID auf, ruft aktive Zieldatenbanken in Oracle Data Safe ab und generiert zwei Skripte für den Aktualisierungsplan - eines für Sicherheitsbewertungen und eines für Benutzerbewertungen.
Führen Sie die Schritte aus:
-
Prompt für Compartment-ID.
-
Geben Sie die Compartment-ID ein.
-
Aktive Ziele auflisten: Speichern Sie in
Datasafe_Active_TargetDB_list.txt
. -
Bewertungen abrufen: Hängen Sie Details an
Datasafe_Active_TargetDBs.txt
an. -
Skripte generieren: Erstellen Sie
schedule_security_assessments.sh
undschedule_user_assessments.sh
.
Beispielskriptausgabe:
Aufgabe 8: Erfassung der Auditlogs für die Zieldatenbanken starten
Wenn eine Zieldatenbank registriert ist, erkennt Oracle Data Safe automatisch die verfügbaren Audittrails und erstellt eine entsprechende Audit Trailressource für jede Zieldatenbank. Nachdem die Audittrailerfassung gestartet wurde, kopiert Oracle Data Safe Auditdatensätze zur Überwachung und Analyse aus der Zieldatenbank in das Repository. Sie können die Erfassung von Auditdaten steuern, indem Sie sie nach Bedarf starten oder stoppen. Weitere Informationen finden Sie in Audit-Trails.
Skriptname: Generate_DataSafe_Audit_Collection_Scripts.sh
.
Beschreibung: Das Skript Generate_DataSafe_Audit_Collection_Scripts.sh
automatisiert den Prozess der Erfassung von Audittraildaten für Oracle Data Safe-Zieldatenbanken. Er fordert den Benutzer zur Eingabe einer Compartment-ID und einer Startzeit für die Audittrailerfassung auf, ruft die Audittrails mit dem Status NOT_STARTED ab und generiert ein einzelnes Shellskript, um die Audittrailerfassung für alle Zieldatenbanken zu initiieren.
Führen Sie die Schritte aus:
-
Compartment-ID eingeben: Fordert den Benutzer zur Eingabe der OCI-Compartment-ID auf.
-
Startzeit eingeben: Fordert zur Eingabe der Startzeit der Auditerfassung im Format
YYYY-MM-DD
auf. -
Audittrails abrufen: Ruft Audittrails mit dem Status NOT_STARTED aus OCI ab.
-
CSV generieren: Extrahiert relevante Audittraildaten in
audit_trails.csv
. -
Skript erstellen: Generiert
Data_safe_Target_DB_Audit_Collection_Start.sh
mit Befehlen, um die Auditerfassung für alle Ziele zu starten.
Beispiel-Skriptausgabe:
Aufgabe 9: Oracle Data Safe-Bestand vorbereiten
Skriptname: generate_data_safe_db_inventory.sh
.
Beschreibung: Dieses Shellskript interagiert mit OCI, um Informationen zur Oracle Data Safe-Zieldatenbank basierend auf ihren Typen abzurufen und zu verarbeiten: AUTONOMOUS_DATABASE, DATABASE_CLOUD_SERVICE und INSTALLED_DATABASE. Es generiert Ausgabedateien mit detaillierten Informationen zu jedem Datenbanktyp.
Führen Sie die Schritte aus:
-
Eingabe-Compartment-ID: Bitten Sie den Benutzer, die Compartment-ID einzugeben, in der sich die Datenbanken befinden.
-
Datenbanken auflisten und filtern: Listen Sie alle Oracle Data Safe-Zieldatenbanken im angegebenen Compartment auf, und filtern Sie sie nach Typ.
-
Datenbankdetails abrufen:
-
AUTONOMOUS_DATABASE: Rufen Sie Details ab, wie Anzeigename, Datenbank-ID und Infrastrukturtyp.
-
DATABASE_CLOUD_SERVICE: Rufen Sie Details ab, wie Datenbanksystem-ID, VM-Cluster-ID (Nullwerte werden verarbeitet) und Listener-Port.
-
INSTALLED_DATABASE: Rufen Sie Informationen ab, einschließlich Instanz-ID, IP-Adressen und Servicename.
-
-
Ausgabedateien generieren: Erstellen Sie separate Dateien für jeden Datenbanktyp mit den erfassten Details.
-
Bereinigung: Entfernen Sie temporäre Dateien, und schließen Sie die Ausgabe ab.
Beispiel-Skriptausgabe:
Verwandte Links
Danksagungen
-
Autor - Alex Kovuru (Principal Cloud Architect)
-
Mitwirkender – Indiradarshni Balasundaram (Cloud Engineer)
Weitere Lernressourcen
Sehen Sie sich andere Übungen zu docs.oracle.com/learn an, oder greifen Sie im Oracle Learning YouTube-Channel auf weitere kostenlose Lerninhalte zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um Oracle Learning Explorer zu werden.
Die Produktdokumentation finden Sie im Oracle Help Center.
Streamline Continuous Database Monitoring by Automating Oracle Data Safe Registration with OCI CLI
G15069-01
September 2024