Configura autenticazione Kerberos
Per abilitare l'autenticazione Kerberos in Oracle GoldenGate per Oracle AI Database, si presumono le configurazioni seguenti:
-
Il KDC Kerberos viene configurato e il sistema Kerberos viene installato in locale.
-
I principal Kerberos sono configurati per gli utenti del database autenticati esternamente.
-
Le cache Kerberos vengono configurate localmente per ogni principal Kerberos.
-
Gli Oracle Net Services sono configurati correttamente.
-
I file dei parametri di Oracle Server vengono configurati con le impostazioni correlate a Kerberos.
-
Gli utenti del database autenticati esternamente vengono creati con privilegi appropriati.
-
La variabile di ambiente
TNS_ADMINè configurata per Oracle GoldenGate.
Implementare e utilizzare un account Kerberos per accedere a Oracle AI Database da Oracle GoldenGate
Per avviare l'autenticazione Kerberos nell'architettura dei microservizi Oracle GoldenGate, è necessario creare prima un alias dell'account utente del database prima di utilizzare DBLOGIN.
CONNECT http://localhost:9005 as ggadmin password We1come_$
L'esempio seguente utilizza la distribuzione demo per impostare l'alias ID utente per un account 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.
Qui, NET SERVICE è il nome semplice del servizio di database. In alternativa, è possibile utilizzare una stringa di connessione completa (descriptor) anziché il nome del servizio di rete Oracle.
Di seguito è riportato un esempio di mapping predefinito del nome del servizio di rete e del descrittore di connessione.
EAST = (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=db1))
(CONNECT_DATA=(SERVICE_NAME=EAST.regress.rdbms.test.us.oracle.com)))
È quindi possibile specificare un comando DBLOGIN valido senza USERID e password come indicato di seguito.
DBLOGIN USERID /@EAST
Per ulteriori informazioni, vedere i comandi ALTER CREDENTIALSTORE, DBLOGIN USERIDALIAS e MININGDBLOGIN. Vedere anche i parametri USERIDALIAS.
Sul lato Oracle GoldenGate, se si desidera eseguire il comando DBLOGIN con utenti autenticati esternamente diversi, l'uso di una posizione cache Kerberos predefinita viene specificato nel file SQLNET.ORA. Si suppone quindi che sia l'utente autenticato esternamente per il login al database.
Ad esempio, osservare una posizione della cache Kerberos specificata nel file SQLNET.ORA lato 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
In questo esempio, krb.cc è la cache Kerberos utilizzata in questa distribuzione Oracle GoldenGate. Se si apre il file cache krb.cc con la utility oklist, è possibile vedere che il principal predefinito viene utilizzato come utente autenticato esternamente 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
Configurare l'autenticazione Kerberos con MA
Di seguito sono riportati i passi per configurare l'autenticazione kerberos dal client di amministrazione. A partire da Oracle GoldenGate 26ai, è possibile utilizzare sia l'opzione NOPASSWORD che una parola chiave KERBEROS per impostare le credenziali per un account kerberos.
Connettersi al servizio di amministrazione dal client di amministrazione:
CONNECT http://localhost:9005 DEPLOYMENT oggdep as ggadmin PASSWORD We1come_$
Modificare il keystore delle credenziali dopo la connessione al servizio di amministrazione della distribuzione oggdep, utilizzando KERBEROS:
ALTER CREDENTIALSTORE ADD USER /@dbwest ALIAS ggwest KERBEROS ALIAS u1alias;
L'output mostra:
2020-06-22T21:08:33Z INFO OGG-15102 Credential store created.
2020-06-22T21:08:33Z INFO OGG-15114 Credential store altered.
Se si utilizza l'opzione NOPASSWORD, il comando è simile al seguente:
ALTER CREDENTIALSTORE ADD USER /@dbwest NOPASSWORD ALIAS u1alias;
Eseguire il comando seguente per verificare che l'archivio credenziali sia stato modificato correttamente:
INFO CREDENTIALSTORE
Nell'output viene visualizzato quanto segue:
Default domain: OracleGoldenGate
Alias: ggeast
Userid: /@DBEAST
Type: Kerberos
Quando si utilizza l'interfaccia utente Web MA per creare la credenziale, se il campo ID utente inizia con un carattere /, la password non è obbligatoria. Pertanto, nel campo ID utente immettere /connect_string, dove connect_string è la stringa di connessione.
Qui, NET SERVICE è il nome semplice per il servizio di database. In alternativa, è possibile utilizzare una stringa di connessione completa (descriptor) anziché il nome del servizio di rete Oracle.
Di seguito è riportato un esempio di mapping predefinito del nome del servizio di rete e del descrittore di connessione.
DBEAST = (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=db1))
(CONNECT_DATA=(SERVICE_NAME=DBEAST.regress.rdbms.test.example.com)))
Esempio: utilizzo di USERIDALIAS nel file dei parametri per l'account Kerberos
L'esempio riportato di seguito mostra come impostare i valori USERIDALIAS nel file dei parametri dopo aver creato l'area di memorizzazione delle credenziali con l'autenticazione Kerberos.
Si consideri che sia la vecchia che la nuova sintassi funzionano.
Autenticazione Kerberos mediante la parola chiave KERBEROS:
ALTER CREDENTIALSTORE ADD USER /@ggadmin KERBEROS ALIAS u1alias;
Autenticazione 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
Di seguito è riportata l'output del comando.
Default domain: OracleGoldenGate
Alias: ggadmin
Userid: /@ggadmin
Type: Kerberos
Default domain: OracleGoldenGate
Alias: ggadmin_mining
Userid: /@ggadmin_mining
Type: Kerberos
Dopo aver modificato l'archivio credenziali, è possibile specificare le opzioni USERIDALIAS nel file dei parametri:
USERIDALIAS ggadmin
DOMAIN OracleGoldenGate
TRANLOGOPTIONS MININUSERIDLIAS ggadmin_mining
DOMAIN OracleGoldenGate