設定 Kerberos 認證

若要在 Oracle GoldenGate for Oracle AI Database 中啟用 Kerberos 認證,會假設下列組態:

導入並使用 Kerberos 帳戶從 Oracle GoldenGate 存取 Oracle AI Database

若要在 Oracle GoldenGate Microservices Architecture 中開始 Kerberos 認證,您必須先建立資料庫使用者帳戶別名,才能使用 DBLOGIN。

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

下列範例使用部署 demo 來設定 kerberos 帳戶的使用者 ID 別名:

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.

在此,NET SERVICE 是資料庫服務的簡單名稱。或者,您也可以使用完整的連線字串 (描述區),而不是使用 Oracle 網路服務名稱。

以下是預先定義的網路服務名稱和連線描述區對應的範例:

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

USERID 和密碼的有效 DBLOGIN 命令可以指定為:

DBLOGIN USERID /@EAST

若要瞭解更多資訊,請參閱 ALTER CREDENTIALSTORE 、DBLOGIN USERIDALIAS 以及 MININGDBLOGIN 指令。另請參閱 USERIDALIAS 參數。

在 Oracle GoldenGate 端,如果您要以不同的外部認證使用者發出 DBLOGIN 命令,則會在 SQLNET.ORA 檔案中指定預設 Kerberos 快取位置的使用。這會假定是外部認證的使用者,用來登入資料庫。

例如,觀察從屬端 SQLNET.ORA 檔案中指定的「Kerberos 快取」位置:

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

在此範例中,krb.cc 是此 Oracle GoldenGate 部署中使用的 Kerberos 快取。如果您使用 oklist 公用程式開啟 krb.cc 快取檔案,您可以看到預設委派人是用作外部驗證的使用者 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

使用 MA 設定 Kerberos 認證

以下是從管理從屬端設定 kerberos 認證的步驟。從 Oracle GoldenGate 26ai 開始,您可以使用 NOPASSWORD 選項或關鍵字 KERBEROS 來設定 kerberos 帳戶的證明資料。

從管理從屬端連線至管理服務:

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

使用 KERBEROS 連線至部署 oggdep 的「管理服務」後,更改證明資料存放區:

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

輸出顯示:

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

如果使用 NOPASSWORD 選項,則指令會與下列類似:

ALTER CREDENTIALSTORE ADD USER /@dbwest NOPASSWORD ALIAS u1alias;

執行下列命令來驗證已順利更改證明資料存放區:

INFO CREDENTIALSTORE

輸出會顯示下列內容:

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

使用 MA Web UI 建立證明資料時,如果使用者 ID 欄位以 / 字元開頭,則不需要輸入密碼。因此,在使用者 ID 欄位中,輸入 /connect_string ,其中 connect_string 是您的連線字串。

在此,NET SERVICE 是資料庫服務的簡單名稱。或者,您也可以使用完整的連線字串 (描述區),而不是使用 Oracle 網路服務名稱。

以下是預先定義的網路服務名稱和連線描述區對應的範例:

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

範例:在 Kerberos 帳戶的參數檔中使用 USERIDALIAS

下列範例顯示使用 Kerberos 認證建立證明資料存放區之後,如何設定參數檔中的 USERIDALIAS 值:

請考慮使用舊語法和新的語法。

使用 KERBEROS 關鍵字的 Kerberos 認證:

ALTER CREDENTIALSTORE ADD USER /@ggadmin KERBEROS ALIAS u1alias;

使用 NOPASSWORD 進行 Kerberos 認證

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

指令的輸出如下:

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

更改證明資料存放區之後,您可以在參數檔中指定 USERIDALIAS 選項:

USERIDALIAS ggadmin
DOMAIN OracleGoldenGate
TRANLOGOPTIONS MININUSERIDLIAS ggadmin_mining
DOMAIN OracleGoldenGate