Configuración de autenticación Kerberos

Para activar la autenticación de Kerberos en Oracle GoldenGate para Oracle AI Database, se asumen las siguientes configuraciones:

Implementación y uso de una cuenta de Kerberos para acceder a Oracle AI Database desde Oracle GoldenGate

Para iniciar la autenticación de Kerberos en la arquitectura de microservicios de Oracle GoldenGate, primero debe crear un alias de cuenta de usuario de base de datos antes de utilizar DBLOGIN.

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

El siguiente ejemplo utiliza el despliegue demo para configurar el alias de ID de usuario para una cuenta de 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.

Aquí, NET SERVICE es el nombre simple del servicio de base de datos. También se puede utilizar una cadena de conexión completa (descriptor) en lugar del nombre del servicio de red de Oracle.

A continuación, se muestra un ejemplo de un nombre de servicio de red predefinido y una asignación de descriptor de conexión:

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

Un comando DBLOGIN válido sin USERID y una contraseña se pueden especificar como:

DBLOGIN USERID /@EAST

Para obtener más información, consulte los comandos ALTER CREDENTIALSTORE, DBLOGIN USERIDALIAS y MININGDBLOGIN. Consulte también los parámetros USERIDALIAS.

En el lado de Oracle GoldenGate, si desea emitir el comando DBLOGIN con diferentes usuarios autenticados externamente, el uso de una ubicación de caché de Kerberos por defecto se especifica en el archivo SQLNET.ORA. A continuación, se asume que es el usuario autenticado externamente para conectarse a la base de datos.

Por ejemplo, observe una ubicación de caché de Kerberos especificada en el archivo SQLNET.ORA del 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

En este ejemplo, krb.cc es la caché de Kerberos utilizada en este despliegue de Oracle GoldenGate. Si abre el archivo de caché krb.cc con la utilidad oklist, puede ver que el principal por defecto se utiliza como usuario 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

Configuración de la autenticación de Kerberos con MA

A continuación, se muestran los pasos para configurar la autenticación de kerberos desde el cliente de administración. A partir de Oracle GoldenGate 26ai, puede utilizar la opción NOPASSWORD o una palabra clave KERBEROS para configurar las credenciales de una cuenta de kerberos.

Conéctese al servicio de administración desde el cliente de administración:

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

Modifique el almacén de credenciales después de conectarse al servicio de administración del despliegue oggdep, mediante KERBEROS:

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

La salida muestra:

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

Si utiliza la opción NOPASSWORD, el comando sería similar al siguiente:

ALTER CREDENTIALSTORE ADD USER /@dbwest NOPASSWORD ALIAS u1alias;

Ejecute el siguiente comando para verificar que el almacén de credenciales se ha modificado correctamente:

INFO CREDENTIALSTORE

La salida muestra lo siguiente:

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

Al utilizar la interfaz de usuario web de MA para crear la credencial, si el campo User ID (ID de usuario) comienza con un carácter /, la contraseña no es necesaria. Por lo tanto, en el campo ID de usuario, introduzca /connect_string, donde connect_string es la cadena de conexión.

Aquí, NET SERVICE es el nombre simple del servicio de base de datos. También se puede utilizar una cadena de conexión completa (descriptor) en lugar del nombre del servicio de red de Oracle.

A continuación, se muestra un ejemplo de un nombre de servicio de red predefinido y una asignación de descriptor de conexión:

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

Ejemplo: Uso de USERIDALIAS en el archivo de parámetros para la cuenta de Kerberos

El siguiente ejemplo muestra cómo definir los valores USERIDALIAS en el archivo de parámetros después de crear el almacén de credenciales con autenticación Kerberos:

Considere que tanto la sintaxis antigua como la nueva funcionan.

Autenticación de Kerberos mediante la palabra clave KERBEROS:

ALTER CREDENTIALSTORE ADD USER /@ggadmin KERBEROS ALIAS u1alias;

Autenticación de Kerberos con 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

La salida para el comando es la siguiente:

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

Después de modificar el almacén de credenciales, puede especificar las opciones USERIDALIAS en el archivo de parámetros:

USERIDALIAS ggadmin
DOMAIN OracleGoldenGate
TRANLOGOPTIONS MININUSERIDLIAS ggadmin_mining
DOMAIN OracleGoldenGate