Kerberos認証の構成

Oracle GoldenGateでは、Oracleデータベースのオペレーティング・システム・レベルのログインがすでにサポートされています。既存のOSレベルの外部認証機能に加えて、Kerberos認証のサポートが有効になります。

Oracle GoldenGate for OracleデータベースでKerberos認証を有効にするには、次の構成が想定されます。
  • Kerberos KDCが構成され、Kerberosシステムがローカルにインストールされています。

  • 外部認証データベース・ユーザー用にKerberosプリンシパルが構成されています。

  • KerberosキャッシュがKerberosプリンシパルごとにローカルに構成されています。

  • Oracle Net Servicesが適切に構成されています。

  • Oracle Serverパラメータ・ファイルがKerberos関連の設定で構成されています。

  • 外部認証データベース・ユーザーが適切な権限で作成されています。

  • TNS_ADMIN環境変数がOracle GoldenGate用に構成されています。

Microservices Architectureの場合、DBLOGINを使用する前に、まず別名を作成する必要があります。

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

デフォルトのデプロイメントdemoを使用する場合:

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 CREDENTIALSTOREDBLOGIN USERIDALIASおよびMININGDBLOGINコマンドを参照してください。USERID | NOUSERIDUSERIDALIASパラメータも参照してください。

Oracle GoldenGate側では、異なる外部認証ユーザーでDBLOGINコマンドを発行する場合、デフォルトのKerberosキャッシュの場所の使用方法がSQLNET.ORAファイルに指定されます。これは、データベース・ログインの外部認証ユーザーとみなされます。

たとえば、クライアント側のSQLNET.ORAファイルで指定されているKerberosキャッシュの場所を確認します。

SQLNET.KERBEROS5_CONF = /ade/b/3910426782/oracle/work/krb/krb.conf
SQLNET.KERBEROS5_KEYTAB = /ade/b/3910426782/oracle/work/krb/v5srvtab
SQLNET.KERBEROS5_CC_NAME = /ade/b/3910426782/oracle/work/krb/krb.cc
この例では、krb.ccは、このOracle GoldenGateデプロイメントで使用されるKerberosキャッシュです。oklistユーティリティを使用してkrb.ccキャッシュ・ファイルを開くと、デフォルトのプリンシパルが外部認証ユーザーoratst@US.ORACLE.COMとして使用されていることがわかります。
ade:[ demo_vw2 ] [demo@test02swv krb]$ oklist krb.cc

Kerberos Utilities for Linux: Version 20.0.0.0.0 - Production on 27-JUN-2020 23:59:13

Copyright (c) 1996, 2021 Oracle.  All rights reserved.

Configuration file : /ade/b/3910426782/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認証の構成

Admin Clientからkerberos認証を構成するステップを次に示します。

Admin ClientからAdministration Serviceに接続します。

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

デプロイメントoggdepのAdministration Serviceに接続した後、資格証明ストアを変更します。

ALTER CREDENTIALSTORE ADD USER /@DBEAST NOPASSWORD ALIAS ggeast

次のように出力されます。

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: ggeast
  Userid: /@DBEAST

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値を設定する方法を示します。
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 

Default domain: OracleGoldenGate  
Alias: ggadmin_mining  
Userid: /@ggadmin_mining
資格証明ストアを変更した後、パラメータ・ファイルにUSERIDALIASオプションを指定できます。
USERIDALIAS ggadmin 
DOMAIN OracleGoldenGate
TRANLOGOPTIONS MININUSERIDLIAS ggadmin_mining 
DOMAIN OracleGoldenGate