Datenbankverbindung mit dem Datenbankkennwort-Plug-in authentifizieren
Oracle GoldenGate 23.5 und höher enthält ein benutzerfreundliches Plug-in, mit dem benutzerdefinierter Code geschrieben werden kann, um Datenbankzugangsdaten aus einem Vault eines Drittanbieters abzurufen und dann in einer vordefinierten API an Oracle GoldenGate zurückzugeben.
Da erweiterte Sicherheitsregeln von Organisationen als Best Practices verwendet werden, erlauben einige Organisationen nicht, die Datenbankzugangsdaten, wie z.B. das Kennwort, im lokalen Wallet von Oracle GoldenGate (Credential Store) zu speichern. Das Kennwort muss in einem Vault außerhalb von Oracle GoldenGate gespeichert werden. Um diese Authentifizierungsmethode zu implementieren, wurde das Datenbankkennwort-Plug-in eingeführt. Damit kann Oracle GoldenGate das Kennwort aus einem beliebigen Vault eines Drittanbieters oder OCI Vault abrufen, wenn eine Verbindung zu einer Datenbankinstanz hergestellt werden muss.
Erfahren Sie mehr über den Workflow zum Aktivieren des Datenbankkennwort-Plug-ins in Oracle GoldenGate und zum Abrufen des Secret-Kennworts, wenn Sie eine Datenbankverbindung aus Oracle GoldenGate herstellen.
Verwenden Sie eine der folgenden Optionen, um einen Datenbankkennwort-Plug-in-Service für Oracle GoldenGate einzurichten:
Für Datenbankkennwort-Plug-in erforderliche APIs
In diesem Plug-in müssen mindestens zwei Funktions-APIs vorhanden sein. Diese APIs werden wie folgt beschrieben:
getManifest()
Jedes Plug-in muss die Funktion getmanifest bereitstellen, die eine JSON-Stilzeichenfolge zurückgibt, die das Plug-in beschreibt, wie folgt:
{"$schema": "ogg:plugin", "version": "23.4" }
Die Versionsnummer kann kleiner/gleich der Oracle GoldenGate-Versionsnummer sein. Beispiel: Wenn Sie Oracle GoldenGate Version 23.6 ausführen, könnte die Versionsnummer in der JSON-Zeichenfolge 23.4, 23.5 oder 23.6 lauten.
getUseridAliasPassword(oggDomain *C.char, oggAlias *C.char, oggUserid *C.char, oggPassword *C.char)
Diese Funktion wird von Oracle GoldenGate aufgerufen, um das Kennwort für eine USERIDALIAS abzurufen.
Gibt einen Ganzzahlwert zurück. 0 bedeutet Erfolg und ein Wert ungleich Null ist ein Fehler.
oggDomain, oggAlias und oggUserid sind die Eingabeparameter zur Identifizierung der Datenbankbenutzerzugangsdaten. oggPassword ist der Ausgabeparameter, der das aus dem Vault abgerufene Kennwort zurückgibt.
Datenbankkennwort-Plug-in zum Speichern und Zugreifen auf das Datenbankkennwort aus einem Drittanbieter-Vault konfigurieren
Um das Secret-Kennwort aus einem Vault eines Drittanbieters Ihrer Wahl zu erstellen, zu speichern und abzurufen, müssen Sie Ihren eigenen benutzerdefinierten Code schreiben. Der Code muss eine gemeinsame Benutzer-Library generieren, mit der das Plug-in als Service von Oracle GoldenGate Service Manager aktiviert wird. Nachdem das Plug-in aktiviert wurde, können Sie auf den Vault eines Drittanbieters zugreifen, um das gespeicherte Secret-Kennwort abzurufen, wenn Sie eine Datenbankverbindung aus Oracle GoldenGate herstellen. Oracle GoldenGate speichert diese USERID als Alias in seinem Zugangsdatenspeicher unter domain_name.alias_name. domain_name und alias_name werden als Eingabeparameter zum Aufrufen des Plug-ins verwendet. Beispiel: Wenn der Domainname OracleGoldenGate lautet und der Alias ggeastadmin lautet, lautet der Secret-Name OracleGoldenGate.ggeastadmin. Das Plug-in identifiziert den Secret-Namen, der das Secret (Kennwort) aus dem Vault abrufen soll.
Der benutzerdefinierte Code kann in jeder Sprache geschrieben werden, solange er in einer gemeinsamen Benutzerbibliothek kompiliert werden kann. Die beliebtesten Sprachen, die verwendet werden können, sind GoLang, C/C++ und Python.
Das folgende Diagramm zeigt den Workflow, wenn das Datenbankkennwort-Plug-in mit Oracle GoldenGate zum Einrichten einer Datenbankverbindung aus einem Vault eines Drittanbieters verwendet wird. Der USERIDALIAS wird im Oracle GoldenGate-Zugangsdatenspeicher gespeichert, und das Secret-Kennwort wird im Vault eines Drittanbieters gespeichert.

Führen Sie die folgenden Schritte aus, um das Datenbankkennwort-Plug-in zum Speichern des Datenbankkennworts in einem Vault eines Drittanbieters zu konfigurieren und es abzurufen, um eine Datenbankverbindung von Oracle GoldenGate zu authentifizieren:
-
Suchen Sie das Datenbankkennwort-Plug-in, das im Verzeichnis
GG Service Manager Home/var/lib/plugins/vorhanden ist. Unter diesem Verzeichnis befindet sich standardmäßig keine Bibliothek.Hinweis: Obwohl es keine Einschränkungen für den Bibliotheksdateinamen gibt, greift das Plug-in nur die erste Bibliotheksdatei auf, die an diesem Speicherort vorhanden ist.
-
Prüfen Sie die Funktions-APIs, die mit dem Plug-in verwendet werden. Weitere Informationen finden Sie unter APIs erforderlich für Datenbankkennwort-Plug-in.
-
Schreiben und kompilieren Sie den Code, um eine gemeinsame Benutzerbibliothek zu erstellen, die zur Aktivierung des Datenbankkennwort-Plug-ins verwendet wird. Sie müssen den Code basierend auf dem Vault eines Drittanbieters schreiben und kompilieren, mit dem Sie das Datenbankkennwort-Plug-in einrichten.
-
Kopieren Sie die kompilierte Benutzer-Library in das Verzeichnis
Service_Manager_Home/var/lib/plugins/. -
Führen Sie den REST-API-Befehl aus, um das Plug-in als neuen Service unter "Service Manager" zu aktivieren. Wenn der Service Manager lokal auf Port 9011 ausgeführt wird, sieht der Befehl wie folgt aus:
shell>OGG_ADMIN_PASSWORD="xxxx" shell>curl -svu "oggadmin:${OGG_ADMIN_PASSWORD}" http://127.0.0.1:9011/services/v2/deployments/ServiceManager/services/pluginsrvr \ -XPOST --data '{"$schema":"ogg:service", "config":"external", "enabled":true, "critical":true, "status":"running"}'Sie können den Status des Plugins im Service Manager anzeigen, nachdem es aktiviert wurde, wie in der folgenden Abbildung gezeigt. Sie können den Service als Plug-in-Service unter Services anzeigen.

Hinweis: Wenn Sie NGINX oder ein gesichertes Deployment verwenden, müssen Sie https anstelle von http und den entsprechenden CA-Zertifikatspfad in der Befehlszeile verwenden.
-
Richten Sie gegebenenfalls Umgebungsvariablen für den Vault eines Drittanbieters ein, und starten Sie den Service Manager neu.
-
Konfigurieren Sie den Vault eines Drittanbieters, und speichern Sie das Kennwort darin.
-
Führen Sie den Admin-Client aus, und richten Sie die Zugangsdaten für die Datenbankanmeldung mit der Option
PLUGINoder der zuvor verwendeten OptionNOPASSWORDein, und testen Sie, ob die Verbindung zur Datenbank erfolgreich ist. Diese Konfiguration wird im folgenden Beispiel veranschaulicht:a. Stellen Sie eine Verbindung zum Deployment her:
OGG (not connected) 1> CONNECT http://127.0.0.1:9011 AS oggadminb. Zugangsdaten hinzufügen:
-
Verwenden Sie die Option
Plugin:OGG (http://127.0.0.1:9011 Deployment) 2> ALTER CREDENTIALSTORE ADD USER ggeastadmin@//dbms:1521/ORCLPDB1 PLUGIN ALIAS ggeastadminAusgabe:
2026-04-02T18:34:14Z INFO OGG-15114 Credential store altered. Credential Type: Plugin -
Verwenden Sie die Option
PLUGIN SECRET:OGG (http://127.0.0.1:9011 Deployment) 2> ALTER CREDENTIALSTORE ADD USER ggeastadmin@//dbms:1521/ORCLPDB1 PLUGIN SECRET abc ALIAS ggeastadminAusgabe:
2026-04-02T18:34:14Z INFO OGG-15114 Credential store altered. Credential Type: Plugin Secret -
Verwenden der Legacy-Option
NOPASSWORDmit dem folgenden Befehl:ALTER CREDENTIALSTORE ADD USER ggeastadmin@//dbms:1521/ORCLPDB1 NOPASSWORD ALIAS u1alias;
c. Melden Sie sich mit dem Zugangsdatenalias bei der Datenbank an:
OGG (http://127.0.0.1:9011 Deployment) 3> DBLOGIN USERIDALIAS ggadmin -
Datenbankkennwort-Plug-in zum Speichern und Zugreifen auf das Datenbankkennwort aus OCI Vault konfigurieren
Um das Secret-Kennwort aus OCI Vault zu erstellen, zu speichern und abzurufen, können Sie den Beispielcode verwenden. Dieser zeigt, wie Sie das Secret-Kennwort aus dem OCI Vault abrufen. Oracle GoldenGate speichert die USERID als Alias in seinem Zugangsdatenspeicher unter domain_name.alias_name. Das Kennwort wird in OCI Vault als Secret unter dem Secret-Namen domain_name.alias_name gespeichert. Beispiel: Wenn der Domainname OracleGoldenGate lautet und der Alias ggeastadmin lautet, lautet der Secret-Name OracleGoldenGate.ggeastadmin. Das Plug-in identifiziert den Secret-Namen, der das Secret (Kennwort) aus dem Vault abrufen soll.
Die Schritte im Diagramm veranschaulichen den Workflow zum Einrichten des Datenbankkennwort-Plug-ins mit OCI Vault:

-
Erstellen Sie ein Kennwort in OCI Vault.
-
Prüfen Sie, ob das Secret im OCI Vault erstellt wurde, der das Kennwort für diesen Datenbankbenutzer "ggeastadmin" enthält. Stellen Sie sicher, dass der Secret-Name mit der erwarteten Benennungskonvention übereinstimmt. Beispiel: `OracleGoldenGate.ggeastadmin` im Format `domain_name.alias_name`. 
-
Suchen Sie das Datenbankkennwort-Plug-in, das im Verzeichnis
GG Service Manager Home/var/lib/plugins/vorhanden ist. Unter diesem Verzeichnis befindet sich standardmäßig keine Bibliothek.Hinweis: Obwohl es keine Einschränkungen für den Bibliotheksdateinamen gibt, greift das Plug-in nur die erste Bibliotheksdatei auf, die an diesem Speicherort vorhanden ist.
-
Prüfen Sie die Funktions-APIs, die Sie mit dem Plug-in verwenden müssen. Weitere Informationen finden Sie unter APIs erforderlich für Datenbankkennwort-Plug-in.
-
Greifen Sie über
OGG_HOME/src/PluginExamples/OCIVault/OCIVault.goauf den Beispielcode zu, um die gemeinsam verwendete Benutzerbibliothek zu generieren. -
Kompilieren Sie den Code, indem Sie den Befehl
makeausOGG_HOME/src/PluginExamples/OCIVault/OCIVault.goausführen. Dadurch wird die Benutzerbibliothek mit dem NamenlibOCIVault.sogeneriert. -
Kopieren Sie die Benutzer-Library
libOCIVault.soin das VerzeichnisService_Manager_Home/var/lib/plugins/. -
Geben Sie den REST-API-Befehl aus, um dieses Plug-in als neuen Service unter "Service Manager" zu aktivieren. Wenn der Service Manager lokal auf Port 9011 ausgeführt wird, sieht der Befehl wie folgt aus:
shell>OGG_ADMIN_PASSWORD="xxxx" shell>curl -svu "oggadmin:${OGG_ADMIN_PASSWORD}" http://127.0.0.1:9011/services/v2/deployments/ServiceManager/services/pluginsrvr \ -XPOST --data '{"$schema":"ogg:service", "config":"external", "enabled":true, "critical":true, "status":"running"}'Sie können den Status des Plugins im Service Manager anzeigen, nachdem es aktiviert wurde, wie in der folgenden Abbildung gezeigt. Sie können den Service als Plug-in-Service unter Services anzeigen.

Hinweis: Wenn Sie NGINX oder ein gesichertes Deployment verwenden, müssen Sie
httpsanstelle vonhttpund den entsprechenden CA-Zertifikatspfad in der Befehlszeile verwenden. -
Setzen Sie in der Service Manager-Weboberfläche die Umgebungsvariablen
OCI_AUTHundOCID_VAULT_OCIDauf die folgenden Werte:-
OCI_AUTH = instance_principal: In diesem Beispiel wurde die Authentifizierungsmethode
instance_principalverwendet. Das Datenbankkennwort-Plug-in unterstützt jedoch die folgenden Authentifizierungsmethoden für OCI Vault, einschließlich:-
instance_pricinpal: Instanz-Principal-Authentifizierung. -
DEFAULT: Standardprofil in der OCI-Konfigurationsdatei. -
Angepasster Name: Angepasstes Profil in der OCI-Konfigurationsdatei.
-
OCID_VAULT_OCID = ocid1.vault.oc1-us-sanjose-1.exxxxxxxxxxxxxxxxxx42upinp4mfxwta: Dieser Wert wird aus Schritt 2 abgeleitet.Beide Umgebungsvariablen müssen im Abschnitt "Umgebungsvariable" unter der Konfiguration des Service Managers korrekt eingerichtet werden.

Hinweis: Wenn Sie NGINX oder ein gesichertes Deployment verwenden, müssen Sie
httpsanstelle vonhttpund den entsprechenden CA-Zertifikatspfad in der Befehlszeile verwenden.
-
-
-
Starten Sie den Service Manager neu, um die Einstellungen zu aktivieren.
-
Identifizieren Sie die VM-Instanz, auf der Oracle GoldenGate Service Manager ausgeführt wird.
-
Fügen Sie die VM-Instanz einer dynamischen Gruppe hinzu, damit die
instance_principal-Authentifizierung funktioniert. -
Weisen Sie ein Tag für die VM-Instanz zu. Beispiel: EASTVaultTest. Dies würde es einfacher machen, dynamische Gruppen zu erstellen. Weitere Informationen finden Sie unter Dynamische Gruppen verwalten. Die dynamische Gruppe benötigt eine Policy, um das Secret in diesem Vault zu verwenden.
-
Erstellen Sie eine Policy, damit diese dynamische Gruppe die Secret-Ressource (Secret-Kennwort) verwenden kann. Einzelheiten zum Erstellen einer Policy zur Kontrolle des Zugriffs auf den Vault-Service finden Sie unter Details zum Vault-Service.

-
Führen Sie den Admin-Client aus, um den Datenbankanmeldealias mit der Option
NOPASSWORDzu erstellen, und testen Sie, ob die Verbindung erfolgreich ist, wie im folgenden Beispiel dargestellt:OGG (not connected) 1> CONNECT http://127.0.0.1:9011 AS oggadmin Using default deployment 'Deployment'OGG (http://127.0.0.1:9011 Deployment) 2> ALTER CREDENTIALSTORE ADD USER ggeastadmin@//dbms:1521/ORCLPDB1 ALIAS ggeastadmin NOPASSWORD 2024-04-02T18:34:14Z INFO OGG-15114 Credential store altered.OGG (http://127.0.0.1:9011 Deployment) 3> DBLOGIN USERIDALIAS ggadmin Successfully logged into database.
Datenbankkennwort-Plug-in zum Speichern und Zugreifen auf das Datenbankkennwort aus Oracle Key Vault konfigurieren
Oracle GoldenGate 23.5 und höhere Releases enthalten einen Plug-in-Service, mit dem Sie benutzerdefinierten Code zum Abrufen von Datenbankzugangsdaten aus einem Vault eines Drittanbieters schreiben und die Zugangsdaten in einer vordefinierten API an Oracle GoldenGate zurückgeben können, wie unter Datenbankkennwort-Plug-in zum Speichern und Zugreifen auf das Datenbankkennwort aus einem Vault eines Drittanbieters konfigurieren beschrieben. Dieses Feature umfasst die libokvoggdbpwd.so-Bibliothek, die in Oracle GoldenGate zur Verwaltung von Kennwörtern aus Oracle Key Vault konfiguriert werden kann.
Das folgende Diagramm stellt den Workflow zwischen Oracle GoldenGate und Oracle Key Vault dar, mit dem der Plug-in-Service konfiguriert wird. Anschließend können Sie mit der OKV-Plug-in-Bibliothek Datenbankkennwörter vom Oracle Key Vault-Server anfordern und abrufen.

Der Prozess zum Speichern und Abrufen der Datenbankkennwörter aus Oracle Key Vault kann wie folgt zusammengefasst werden:
-
Oracle GoldenGate-Administrator lädt Oracle GoldenGate-Kennwörter mit dem Serviceutility RESTful in Oracle Key Vault hoch.
-
Oracle GoldenGate fordert die Datenbankzugangsdaten vom Oracle Key Vault-Server mit der Plug-in-Library
libokvoggdbpwd.soan. Dieses Kennwort wird nach erfolgreichen Backend-Validierungen vom OKV-Server abgerufen. -
Nachdem das Kennwort abgerufen wurde, können Oracle GoldenGate-Prozesse mit einem remote gespeicherten Kennwort eine Verbindung zur Datenbank herstellen.
Weitere Informationen zur Implementierung dieses Features für das Speichern und Abrufen von Oracle GoldenGate-Datenbankkennwörtern finden Sie unter Verwalten von Oracle GoldenGate-Kennwörtern zentralisieren im Oracle Key Vault-Administratorhandbuch.