Configuration d'authentification Kerberos
Pour activer l'authentification Kerberos dans Oracle GoldenGate pour Oracle AI Database, les configurations suivantes sont supposées :
-
Le KDC Kerberos est configuré et le système Kerberos est installé localement.
-
Les principaux Kerberos sont configurés pour les utilisateurs de base de données authentifiés en externe.
-
Les caches Kerberos sont configurés localement pour chaque principal Kerberos.
-
Oracle Net Services est configuré correctement.
-
Les fichiers de paramètres du serveur Oracle sont configurés avec les paramètres liés à Kerberos.
-
Les utilisateurs de base de données authentifiés en externe sont créés avec les privilèges appropriés.
-
La variable d'environnement
TNS_ADMINest configurée pour Oracle GoldenGate.
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