設定 Kerberos 認證
若要在 Oracle GoldenGate for Oracle AI Database 中啟用 Kerberos 認證,會假設下列組態:
-
已設定 Kerberos KDC,且已在本機安裝 Kerberos 系統。
-
Kerberos 主體是針對外部認證的「資料庫使用者」所設定。
-
系統會為每個 Kerberos 主體在本機設定 Kerberos 快取。
-
Oracle Net Services 已正確設定。
-
Oracle 伺服器參數檔是以 Kerberos 相關設定值來設定。
-
以適當的權限建立外部認證的資料庫使用者。
-
已設定 Oracle GoldenGate 的
TNS_ADMIN環境變數。
導入並使用 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