Autenticar a Conexão do Banco de Dados Usando o Plug-in de Senha do Banco de Dados
O Oracle GoldenGate 23.5 e versões posteriores inclui um plug-in amigável que permite gravar código personalizado para recuperar credenciais de banco de dados de um vault de terceiros e, em seguida, retorná-las em uma API predefinida ao Oracle GoldenGate.
Com o aumento das regras de segurança incluídas como melhores práticas pelas organizações, algumas organizações não permitem armazenar as credenciais do banco de dados, como senha, na wallet local (armazenamento de credenciais) do Oracle GoldenGate. A senha precisa ser armazenada em um vault fora do Oracle GoldenGate. Para implementar esse método de autenticação, o Plug-in de Senha do Banco de Dados foi introduzido. Ele permite que o Oracle GoldenGate recupere a senha de qualquer vault de terceiros de sua escolha ou do OCI Vault, quando ele precisar se conectar a uma instância de banco de dados.
Saiba mais sobre o workflow para ativar o Plug-in de Senha do Banco de Dados no Oracle GoldenGate e usá-lo para recuperar a senha secreta ao estabelecer uma conexão de banco de dados com o Oracle GoldenGate.
Use qualquer uma das seguintes opções para configurar um serviço de plug-in de senha do banco de dados para o Oracle GoldenGate:
APIs Necessárias para o Plug-in de Senha do Banco de Dados
No mínimo duas APIs de função precisam existir neste plug-in. Essas APIs são descritas da seguinte forma:
getManifest()
Cada plug-in deve expor a função getmanifest que retorna uma string de estilo JSON descrevendo o plug-in, conforme mostrado:
{"$schema": "ogg:plugin", "version": "23.4" }
O número da versão pode ser igual ou inferior ao número da versão do Oracle GoldenGate. Por exemplo, se você estiver executando o Oracle GoldenGate versão 23.6, o número da versão na string JSON poderá ser 23.4, 23.5 ou 23.6.
getUseridAliasPassword(oggDomain *C.char, oggAlias *C.char, oggUserid *C.char, oggPassword *C.char)
Essa função é chamada pelo Oracle GoldenGate para recuperar a senha de um USERIDALIAS.
Retorna um valor inteiro. 0 significa sucesso e qualquer valor diferente de zero é uma falha.
oggDomain, oggAlias e oggUserid são os parâmetros de entrada para identificar as credenciais do usuário do banco de dados. oggPassword é o parâmetro de saída que retorna a senha extraída do vault.
Configurar o Plug-in de Senha do Banco de Dados para Armazenar e Acessar a Senha do Banco de Dados em um Vault de Terceiros
Para criar, armazenar e recuperar a senha secreta de um vault de terceiros de sua escolha, você precisa escrever seu próprio código personalizado. O código precisa gerar uma biblioteca de usuários compartilhada, que seria usada para ativar o plug-in como um serviço do Oracle GoldenGate Service Manager. Depois que o plug-in for ativado, você poderá acessar o vault de terceiros para recuperar a senha secreta armazenada ao estabelecer uma conexão de banco de dados do Oracle GoldenGate. O Oracle GoldenGate armazena esse USERID como um alias em seu armazenamento de credenciais em domain_name.alias_name. Os parâmetros domain_name e alias_name são usados como parâmetros de entrada para chamar o plug-in. Por exemplo, se o nome do domínio for OracleGoldenGate e o alias for ggeastadmin, o nome do segredo será OracleGoldenGate.ggeastadmin. O plug-in identifica o nome do segredo para recuperar o segredo (senha) do vault.
O código personalizado pode ser escrito em qualquer idioma, desde que possa ser compilado em uma biblioteca de usuários compartilhada. As linguagens mais populares que podem ser usadas incluem GoLang, C/C++ e Python.
O diagrama a seguir mostra o workflow quando o Plug-in de Senha do Banco de Dados é usado com o Oracle GoldenGate para configurar uma conexão de banco de dados de um vault de terceiros. O USERIDALIAS é armazenado no armazenamento de credenciais do Oracle GoldenGate e a senha secreta é armazenada no vault de terceiros.

Use as seguintes etapas para configurar o Plug-in de Senha do Banco de Dados para armazenar a senha do Banco de Dados em um vault de terceiros e recuperá-la para autenticar uma conexão de banco de dados do Oracle GoldenGate:
-
Localize o Plug-in de Senha do Banco de Dados, que está presente no diretório
GG Service Manager Home/var/lib/plugins/. Por padrão, não há biblioteca neste diretório.Observação: Embora não haja restrições no nome do arquivo de biblioteca, o plug-in só selecionará o primeiro arquivo de biblioteca existente neste local.
-
Verifique as APIs de função usadas com o plug-in. Consulte APIs Necessárias para o Plug-in de Senha do Banco de Dados para obter detalhes.
-
Grave e compile o código para criar uma biblioteca de usuários compartilhada que seria usada para ativar o Plug-in de Senha do Banco de Dados. Você precisa gravar e compilar o código, com base no vault de terceiros que está usando para configurar o Plug-in de Senha do Banco de Dados.
-
Copie a biblioteca de usuários compilada para o diretório
Service_Manager_Home/var/lib/plugins/. -
Execute o comando da API REST para ativar o plug-in como um novo serviço no Gerenciador de Serviços. Supondo que o Service Manager esteja sendo executado localmente na porta 9011, o comando terá uma aparência semelhante à seguinte:
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"}'Você pode exibir o status do plug-in no Gerenciador de Serviços depois que ele for ativado, conforme mostrado na imagem a seguir. Você pode exibir o serviço como Plugin Service em Services.

Observação: Se você estiver usando NGINX ou uma implantação segura, precisará usar https em vez de http e o caminho de certificado CA apropriado na linha de comando.
-
Configure quaisquer variáveis de ambiente para o vault de terceiros, se necessário, e reinicie o Gerenciador de Serviços.
-
Configure o vault de terceiros e armazene a senha nele.
-
Execute o Admin Client e configure as credenciais de log-in do banco de dados com a opção
PLUGINou a opçãoNOPASSWORDusada anteriormente e teste se a conexão com o banco de dados foi bem-sucedida. O exemplo a seguir ilustra esta configuração:a. Conecte-se à implantação:
OGG (not connected) 1> CONNECT http://127.0.0.1:9011 AS oggadminb. Adicionar credenciais:
-
Usando a opção
Plugin:OGG (http://127.0.0.1:9011 Deployment) 2> ALTER CREDENTIALSTORE ADD USER ggeastadmin@//dbms:1521/ORCLPDB1 PLUGIN ALIAS ggeastadminSaída:
2026-04-02T18:34:14Z INFO OGG-15114 Credential store altered. Credential Type: Plugin -
Usando a opção
PLUGIN SECRET:OGG (http://127.0.0.1:9011 Deployment) 2> ALTER CREDENTIALSTORE ADD USER ggeastadmin@//dbms:1521/ORCLPDB1 PLUGIN SECRET abc ALIAS ggeastadminSaída:
2026-04-02T18:34:14Z INFO OGG-15114 Credential store altered. Credential Type: Plugin Secret -
Usando a opção
NOPASSWORDlegada, usando o seguinte comando:ALTER CREDENTIALSTORE ADD USER ggeastadmin@//dbms:1521/ORCLPDB1 NOPASSWORD ALIAS u1alias;
c. Faça log-in no banco de dados usando o alias de credencial:
OGG (http://127.0.0.1:9011 Deployment) 3> DBLOGIN USERIDALIAS ggadmin -
Configurar o Plug-in de Senha do Banco de Dados para Armazenar e Acessar a Senha do Banco de Dados no OCI Vault
Para criar, armazenar e recuperar a senha secreta do OCI Vault, você pode usar o código de amostra, que mostra como recuperar a senha secreta do OCI Vault. O Oracle GoldenGate armazena o USERID como um alias em seu armazenamento de credenciais em domain_name.alias_name. A senha é armazenada no OCI Vault como segredo com o nome do segredo domain_name.alias_name. Por exemplo, se o nome do domínio for OracleGoldenGate e o alias for ggeastadmin, o nome do segredo será OracleGoldenGate.ggeastadmin. O plug-in identifica o nome do segredo para recuperar o segredo (senha) do vault.
As etapas no diagrama demonstram o workflow para configurar o Plug-in de Senha do Banco de Dados com o OCI Vault:

-
Crie uma senha no OCI Vault.
-
Verifique se o segredo foi criado no OCI Vault que contém a senha deste usuário do banco de dados `ggeastadmin`. Verifique se o nome do segredo corresponde à convenção de nomenclatura esperada, por exemplo, `OracleGoldenGate.ggeastadmin` no formato `domain_name.alias_name`. 
-
Localize o Plug-in de Senha do Banco de Dados, que está presente no diretório
GG Service Manager Home/var/lib/plugins/. Por padrão, não há biblioteca neste diretório.Observação: Embora não haja restrições no nome do arquivo de biblioteca, o plug-in só selecionará o primeiro arquivo de biblioteca existente neste local.
-
Verifique as APIs de função que você precisa usar com o plug-in. Consulte APIs Necessárias para o Plug-in de Senha do Banco de Dados para obter detalhes.
-
Acesse o código de amostra de
OGG_HOME/src/PluginExamples/OCIVault/OCIVault.gopara gerar a biblioteca de usuários compartilhada. -
Compile o código executando o comando
makenoOGG_HOME/src/PluginExamples/OCIVault/OCIVault.go. Isso gera a biblioteca de usuários, chamadalibOCIVault.so. -
Copie a biblioteca de usuário
libOCIVault.sopara o diretórioService_Manager_Home/var/lib/plugins/. -
Emita o comando da API REST para ativar esse plug-in como um novo serviço no Gerenciador de Serviços. Supondo que o Service Manager esteja sendo executado localmente na porta 9011, o comando terá uma aparência semelhante à seguinte:
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"}'Você pode exibir o status do plug-in no Gerenciador de Serviços depois que ele for ativado, conforme mostrado na imagem a seguir. Você pode exibir o serviço como Plugin Service em Services.

Observação: Se você estiver usando NGINX ou uma implantação segura, precisará usar
httpsem vez dehttpe o caminho do certificado CA apropriado na linha de comando. -
Na interface Web do Service Manager, defina as variáveis de ambiente
OCI_AUTHeOCID_VAULT_OCIDcom os seguintes valores:-
OCI_AUTH = instance_principal: O método de autenticação
instance_principalfoi usado neste exemplo. No entanto, o Plug-in de Senha do Banco de Dados suporta os seguintes métodos de autenticação para o OCI Vault, incluindo:-
instance_pricinpal: Autenticação do Controlador de Instâncias. -
DEFAULT: Perfil padrão no arquivo de configuração do OCI. -
Nome personalizado: Perfil personalizado no arquivo de configuração do OCI.
-
OCID_VAULT_OCID = ocid1.vault.oc1-us-sanjose-1.exxxxxxxxxxxxxxxxxx42upinp4mfxwta: Este valor é derivado da etapa 2.Ambas as variáveis de ambiente devem ser configuradas corretamente na seção de variáveis de ambiente na Configuração do Gerenciador de Serviços.

Observação: Se você estiver usando NGINX ou uma implantação segura, precisará usar
httpsem vez dehttpe o caminho do certificado CA apropriado na linha de comando.
-
-
-
Reinicie o Gerenciador de Serviços para ativar as configurações.
-
Identifique a instância da VM na qual o Oracle GoldenGate Service Manager está sendo executado.
-
Adicione a instância da VM a um grupo dinâmico para fazer com que a autenticação
instance_principalfuncione. -
Designe uma tag para a instância da VM, por exemplo, EASTVaultTest. Isso facilitaria a criação de grupos dinâmicos. Consulte Gerenciando Grupos Dinâmicos para obter detalhes. O grupo dinâmico precisa de uma política para usar o segredo nesse vault.
-
Crie uma política para permitir que esse grupo dinâmico use o recurso secreto (senha secreta). Para obter detalhes sobre como criar uma política para controlar o acesso ao serviço Vault, consulte Detalhes do Serviço Vault.

-
Execute o Admin Client para criar o alias de log-in do Banco de Dados com a opção
NOPASSWORDe teste se a conexão foi bem-sucedida, conforme mostrado no seguinte exemplo: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.
Configurar o Plug-in de Senha do Banco de Dados para Armazenar e Acessar a Senha do Banco de Dados no Oracle Key Vault
O Oracle GoldenGate 23.5 e releases posteriores incluem um serviço de plug-in que permite gravar código personalizado para recuperar credenciais de banco de dados de um vault de terceiros e, em seguida, retornar as credenciais em uma API predefinida para o Oracle GoldenGate, conforme mencionado em Configurar o Plug-in de Senha do Banco de Dados para Armazenar e Acessar a Senha do Banco de Dados de um Vault de Terceiros. Esse recurso inclui a biblioteca libokvoggdbpwd.so que pode ser configurada no Oracle GoldenGate para gerenciar senhas do Oracle Key Vault.
O diagrama a seguir representa o workflow entre o Oracle GoldenGate e o Oracle Key Vault para configurar o Serviço de Plug-in e, em seguida, usar a Biblioteca de Plug-ins do OKV para solicitar e recuperar senhas do banco de dados do servidor do Oracle Key Vault.

O processo de armazenamento e recuperação das senhas do banco de dados do Oracle Key Vault pode ser resumido da seguinte forma:
-
O administrador do Oracle GoldenGate usa o utilitário de serviços RESTful para fazer upload das senhas do Oracle GoldenGate para o Oracle Key Vault.
-
O Oracle GoldenGate solicita as credenciais do banco de dados do servidor do Oracle Key Vault usando a biblioteca de plug-ins
libokvoggdbpwd.so. Esta senha é extraída do servidor OKV após validações de backend bem-sucedidas. -
Após a recuperação da senha, os processos do Oracle GoldenGate poderão estabelecer conexão com o banco de dados usando uma senha armazenada remotamente.
Consulte Centralizing the Management of Oracle GoldenGate Passwords no Oracle Key Vault Administrator's Guide para obter detalhes sobre como implementar esse recurso para armazenamento e recuperação de senhas de banco de dados do Oracle GoldenGate.