Configurar Autenticação Kerberos

Para ativar a autenticação do Kerberos no Oracle GoldenGate for Oracle AI Database, as seguintes configurações são assumidas:

Implementar e Usar uma Conta do Kerberos para Acessar o Oracle AI Database do Oracle GoldenGate

Para iniciar a autenticação do Kerberos na Arquitetura de Microsserviços do Oracle GoldenGate, primeiro crie um alias de conta de usuário do banco de dados antes de usar DBLOGIN.

CONNECT http://localhost:9005 as ggadmin password We1come_$

A amostra a seguir usa a implantação demo para configurar o alias do ID do usuário para uma conta kerberos:

ALTER CREDENTIALSTORE ADD USER
/@EAST nopassword alias dbeast

2020-06-22T21:08:33Z  INFO OGG-15102  Credential store created.
2020-06-22T21:08:33Z  INFO OGG-15114  Credential store altered.

INFO CREDENTIALSTORE

Default domain: OracleGoldenGate
  Alias: dbeast
  Userid: /@EAST

DBLOGIN USERIDALIAS dbeast

Successfully logged into database EAST.

Aqui, o NET SERVICE é o nome simples do serviço de banco de dados. Como alternativa, uma string de conexão completa (descritor) pode ser usada em vez do nome do serviço de rede Oracle.

Veja um exemplo de um nome de serviço de rede predefinido e mapeamento de descritor de conexão:

EAST = (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=db1))
(CONNECT_DATA=(SERVICE_NAME=EAST.regress.rdbms.test.us.oracle.com)))

Um comando DBLOGIN válido sem USERID e senha pode ser especificado como:

DBLOGIN USERID /@EAST

Para saber mais, consulte os comandos ALTER CREDENTIALSTORE, DBLOGIN USERIDALIAS e MININGDBLOGIN. Consulte também os parâmetros USERIDALIAS.

No Oracle GoldenGate, se você quiser emitir o comando DBLOGIN com diferentes usuários autenticados externamente, o uso de um local de cache padrão do Kerberos será especificado no arquivo SQLNET.ORA. Este é, então, considerado o usuário autenticado externamente para fazer login no banco de dados.

Por exemplo, observe um local do Cache do Kerberos especificado no arquivo SQLNET.ORA do cliente:

SQLNET.KERBEROS5_CONF = /test/b/1234567890/oracle/work/krb/krb.conf
SQLNET.KERBEROS5_KEYTAB = /test/b/9876543210/oracle/work/krb/v5srvtab
SQLNET.KERBEROS5_CC_NAME = /test/b/1234506789/oracle/work/krb/krb.cc

Neste exemplo, o krb.cc é o Cache Kerberos usado nesta implantação do Oracle GoldenGate. Se você abrir o arquivo de cache krb.cc com o utilitário oklist, poderá ver que o principal padrão é usado como o usuário autenticado externamente oratst@US.ORACLE.COM.

[ demo_vw2 ] [demo@test02swv krb]$ oklist krb.cc

Kerberos Utilities for Linux: Version 21.0.0.0.0 - Production on 27-JUN-2025 23:59:13

Copyright (c) 1996, 2025 Oracle.  All rights reserved.

Configuration file : /test/b/1234567890/oracle/work/krb/krb.conf
Ticket cache: FILE:krb.cc
Default principal: oratst@US.ORACLE.COM

Valid starting     Expires            Service principal
06/27/20 12:12:34  06/28/20 12:12:34  krbtst/US.ORACLE.COM@US.ORACLE.COM
06/27/20 12:12:34  06/28/20 12:12:34  oratst/demo2swv.us.oracle.com@US.ORACLE.COM

Configurar Autenticação do Kerberos com MA

Aqui estão as etapas para configurar a autenticação kerberos do Admin Client. A partir do Oracle GoldenGate 26ai, você pode usar a opção NOPASSWORD ou uma palavra-chave KERBEROS para configurar as credenciais de uma conta do kerberos.

Conecte-se ao Administration Service pelo Admin Client:

CONNECT http://localhost:9005 DEPLOYMENT oggdep as ggadmin PASSWORD We1come_$

Altere o armazenamento de credenciais após estabelecer conexão com o Serviço de Administração da implantação oggdep, usando KERBEROS:

ALTER CREDENTIALSTORE ADD USER /@dbwest ALIAS ggwest KERBEROS ALIAS u1alias;

A saída mostra:

2020-06-22T21:08:33Z  INFO OGG-15102  Credential store created.
2020-06-22T21:08:33Z  INFO OGG-15114  Credential store altered.

Se você usar a opção NOPASSWORD, o comando será semelhante ao seguinte:

ALTER CREDENTIALSTORE ADD USER /@dbwest NOPASSWORD ALIAS u1alias;

Execute o seguinte comando para verificar se o credentialstore foi alterado com sucesso:

INFO CREDENTIALSTORE

A saída exibe o seguinte:

Default domain: OracleGoldenGate
  Alias: ggeast
  Userid: /@DBEAST
  Type: Kerberos

Ao usar a UI da Web do MA para criar a credencial, se o campo ID do Usuário começar com um caractere /, a senha não será obrigatória. Portanto, no campo ID do Usuário, digite /connect_string, em que connect_string é sua string de conexão.

Aqui, o NET SERVICE é o nome simples do serviço de banco de dados. Como alternativa, uma string de conexão completa (descritor) pode ser usada em vez do nome do serviço de rede Oracle.

Veja um exemplo de um nome de serviço de rede predefinido e mapeamento de descritor de conexão:

DBEAST = (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=db1))
(CONNECT_DATA=(SERVICE_NAME=DBEAST.regress.rdbms.test.example.com)))

Exemplo: Usando USERIDALIAS no Arquivo de Parâmetros da Conta Kerberos

O exemplo a seguir mostra como definir os valores USERIDALIAS no arquivo de parâmetros após criar o armazenamento de credenciais com autenticação Kerberos:

Considere que a sintaxe antiga e a nova funcionam.

Autenticação do Kerberos usando a palavra-chave KERBEROS:

ALTER CREDENTIALSTORE ADD USER /@ggadmin KERBEROS ALIAS u1alias;

Autenticação do Kerberos com NOPASSWORD

ALTER CREDENTIALSTORE ADD USER /@ggadmin NOPASSWORD ALIAS ggadmin
2020-12-17T21:08:33
INFO    OGG-15102  Credential store created.2020-12-17T21:08:33
INFO    OGG-15114  Credential store altered.
ALTER CREDENTIALSTORE ADD USER /@ggadmin_mining NOPASSWORD ALIAS ggadmin_mining
2020-12-17T21:09:45
INFO    OGG-15102  Credential store created.2020-12-17T21:09:45
INFO    OGG-15114  Credential store altered.
INFO CREDENTIALSTORE

A saída do comando é a seguinte:

Default domain: OracleGoldenGate
Alias: ggadmin
Userid: /@ggadmin
Type: Kerberos
Default domain: OracleGoldenGate
Alias: ggadmin_mining
Userid: /@ggadmin_mining
Type: Kerberos

Após alterar o armazenamento de credenciais, você pode especificar as opções USERIDALIAS no arquivo de parâmetros:

USERIDALIAS ggadmin
DOMAIN OracleGoldenGate
TRANLOGOPTIONS MININUSERIDLIAS ggadmin_mining
DOMAIN OracleGoldenGate