Configuration d'authentification Kerberos

Pour activer l'authentification Kerberos dans Oracle GoldenGate pour Oracle AI Database, les configurations suivantes sont supposées :

Implémenter et utiliser un compte Kerberos pour accéder à Oracle AI Database à partir d'Oracle GoldenGate

Pour commencer l'authentification Kerberos dans l'architecture de microservices Oracle GoldenGate, vous devez d'abord créer un alias de compte utilisateur de base de données avant d'utiliser DBLOGIN.

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

L'exemple suivant utilise le déploiement demo pour configurer l'alias d'ID utilisateur pour un compte 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.

Ici, NET SERVICE est le nom simple du service de base de données. Vous pouvez également utiliser une chaîne de connexion complète (descripteur) à la place du nom de service réseau Oracle.

Voici un exemple de mappage prédéfini de nom de service réseau et de descripteur de connexion :

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

Une commande DBLOGIN valide sans USERID et sans mot de passe peut ensuite être indiquée comme suit :

DBLOGIN USERID /@EAST

Pour en savoir plus, reportez-vous aux commandes ALTER CREDENTIALSTORE, DBLOGIN USERIDALIAS et MININGDBLOGIN. Reportez-vous également aux paramètres USERIDALIAS.

Côté Oracle GoldenGate, si vous voulez exécuter la commande DBLOGIN avec différents utilisateurs authentifiés en externe, l'utilisation d'un emplacement de cache Kerberos par défaut est spécifiée dans le fichier SQLNET.ORA. Il est alors considéré comme l'utilisateur authentifié en externe pour la connexion à la base de données.

Par exemple, observez un emplacement de cache Kerberos spécifié dans le fichier SQLNET.ORA côté client :

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

Dans cet exemple, krb.cc est le cache Kerberos utilisé dans ce déploiement Oracle GoldenGate. Si vous ouvrez le fichier cache krb.cc avec l'utilitaire oklist, vous pouvez constater que le principal par défaut est utilisé en tant qu'utilisateur authentifié en externe 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

Configuration de l'authentification Kerberos avec MA

Voici les étapes à suivre pour configurer l'authentification kerberos à partir du client Admin. A partir d'Oracle GoldenGate 26ai, vous pouvez utiliser l'option NOPASSWORD ou un mot-clé KERBEROS pour configurer les informations d'identification d'un compte kerberos.

Connectez-vous au service d'administration à partir du client Admin :

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

Modifiez la banque d'informations d'identification après la connexion au service d'administration du déploiement oggdep, à l'aide de KERBEROS :

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

La sortie affiche :

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

Si vous utilisez l'option NOPASSWORD, la commande est semblable à la suivante :

ALTER CREDENTIALSTORE ADD USER /@dbwest NOPASSWORD ALIAS u1alias;

Exécutez la commande suivante pour vérifier que la banque d'informations d'identification a été modifiée :

INFO CREDENTIALSTORE

La sortie est affichée comme suit :

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

Lorsque vous utilisez l'interface utilisateur Web MA pour créer les informations d'identification, si le champ ID utilisateur commence par un caractère /, le mot de passe n'est pas requis. Par conséquent, dans le champ ID utilisateur, entrez /connect_string, où connect_string est votre chaîne de connexion.

Ici, NET SERVICE est le nom simple du service de base de données. Vous pouvez également utiliser une chaîne de connexion complète (descripteur) à la place du nom de service réseau Oracle.

Voici un exemple de mappage prédéfini de nom de service réseau et de descripteur de connexion :

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

Exemple : utilisation d'USERIDALIAS dans le fichier de paramètres pour le compte Kerberos

L'exemple suivant montre comment définir les valeurs USERIDALIAS dans le fichier de paramètres après la création de la banque d'informations d'identification avec l'authentification Kerberos :

Considérez que l'ancienne et la nouvelle syntaxe fonctionnent.

Authentification Kerberos avec le mot-clé KERBEROS :

ALTER CREDENTIALSTORE ADD USER /@ggadmin KERBEROS ALIAS u1alias;

Authentification Kerberos avec 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

Le résultat de la commande est le suivant :

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

Après avoir modifié la banque d'informations d'identification, vous pouvez indiquer les options USERIDALIAS dans le fichier de paramètres :

USERIDALIAS ggadmin
DOMAIN OracleGoldenGate
TRANLOGOPTIONS MININUSERIDLIAS ggadmin_mining
DOMAIN OracleGoldenGate