Kerberos 認証を使用した Virtual DataPort への接続

Denodo JDBC ドライバーは、Kerberos 認証プロトコルをサポートしています。ただし、これを使用するには、特定のプロパティをコネクションに追加する必要があります。追加しない場合、Virtual DataPort サーバーが Kerberos 認証を使用するように構成されていても、クライアントは引き続き標準の認証を使用します。

以下の表に、JDBC コネクションを作成するときに設定する必要があるドライバープロパティを示します。


ユーザーとパスワードによる Kerberos 認証

これは最も簡単なセットアップオプションです。このオプションを使用すると、ドライバーは Active Directory にチケット保証チケット (TGT) をリクエストし、それをサーバーに送信します。これは、常に同じ資格情報を使用して Denodo に接続するスタンドアロンアプリケーションで有効です。

Kerberos による「ユーザー/パスワード」認証のドライバープロパティ

プロパティ

useKerberos

true

debug

true

Kerberos 認証に関する問題が存在しない場合はこのプロパティを削除します。

user および password

ユーザーのユーザー名とパスワード。DbVisualizer などの JDBC クライアントを使用する場合、これらをプロパティとして指定する代わりに、[User name] と [Password] のボックスに資格情報を入力できます。


Kerberos 制約付き委任

Denodo ドライバーは、Kerberos 制約付き委任をサポートしています。これを使用すると、Denodo サーバーは、クライアントがサービスチケットを提示した後に、制限された他のサービスのサービスチケットを取得できます。

Kerberos 資格情報をオブジェクトとして渡すためのドライバープロパティ

プロパティ

useKerberos

true

userGSSCredential

クラス org.ietf.jgss.GSSCredential の Java オブジェクト

ドライバープロパティ userGSSCredential で、GSSCredential オプションを渡す必要があります。次のサンプルコードにその方法を示します。

GSSCredential userCredential = ...;
Driver driver = (Driver) Class.forName("com.denodo.vdp.jdbc.Driver").newInstance();
Properties properties = new Properties();
properties.put("userGSSCredential", userCredential);
Connection conn = driver.connect("jdbc:vdb://denodo1.acme.com:9999/customer?userAgent=myApplication", properties);

シングルサインオン

このオプションを使用した場合、クライアントアプリケーションは資格情報を提供する必要はありません。ドライバーは、アプリケーションを起動したユーザーの Kerberos 資格情報を自動的に取得し、それを使用して Denodo に接続します。ユーザーが資格情報を入力する必要はありません。

クライアントアプリケーションが Windows 上で実行されている場合は、以下の事項に注意してください。

  • Denodo ドライバーに加えて、アプリケーションのクラスパスに以下のライブラリを追加します。

    • <DENODO_HOME>/lib/contrib/jna.jar

    • <DENODO_HOME>/lib/contrib/jna-platform.jar

    たとえば、DbVisualizer では、Driver Manager でドライバーの jar ファイルとこの 2 つの jar をロードする必要があります。

システム「Windows Single Sign-On (SSO)」のチケットキャッシュから Kerberos 資格情報を取得するためのドライバープロパティ

プロパティ

useKerberos

true

debug

true

Kerberos 認証に関する問題が存在しない場合はこのプロパティを削除します。

useTicketCache

true

renewTGT

true


チケットキャッシュに格納されている Kerberos 資格情報の使用

このオプションを使用すると、ドライバーは Kerberos 資格情報キャッシュから Kerberos 資格情報を取得します。

チケットキャッシュファイルから Kerberos 資格情報を取得するためのドライバープロパティ

プロパティ

useKerberos

true

debug

true

Kerberos 認証に関する問題が存在しない場合はこのプロパティを削除します。

useTicketCache

true

renewTGT

true

ticketCache

チケットキャッシュファイルのパス

この認証モードを使用する前に、JDBC アプリケーションが実行されるホストで「チケットキャッシュファイル」を生成する必要があります。つまり、チケット保証チケット (TGT) を手動で取得してファイルにキャッシュします。そのためには、コマンドラインを開いて、次のコマンドを実行します。

<DENODO_HOME>\jre\bin\kinit.exe -f -c "<DENODO_HOME>\conf\vdp-admin\ticket\cache"

-f オプションは、キー配布センター (KDC) に「転送可能」チケットを返すようリクエストします。

クライアントアプリケーションがドメインに属していない場合

Kerberos 認証を使用して Denodo に接続するアプリケーションには、Active Directory ドメインに関する情報が必要です。クライアントアプリケーションが Active Directory ドメインに属するホストで実行されている場合、アプリケーションはこの情報をその環境から取得するため、通常、ユーザーは何も行う必要がありません。しかし、クライアントがドメインに属していない場合は、この情報を提供する必要があります。そのためには、krb5.conf/ini ファイルを取得する必要があります。