Kerberos 認証を使用した Virtual DataPort への接続¶
Denodo JDBC ドライバーは、Kerberos 認証プロトコルをサポートしています。ただし、これを使用するには、特定のプロパティをコネクションに追加する必要があります。追加しない場合、Virtual DataPort サーバーが Kerberos 認証を使用するように構成されていても、クライアントは引き続き標準の認証を使用します。
以下の表に、JDBC コネクションを作成するときに設定する必要があるドライバープロパティを示します。
ユーザーとパスワードによる Kerberos 認証
これは最も簡単なセットアップオプションです。このオプションを使用すると、ドライバーは Active Directory にチケット保証チケット (TGT) をリクエストし、それをサーバーに送信します。これは、常に同じ資格情報を使用して Denodo に接続するスタンドアロンアプリケーションで有効です。
プロパティ |
値 |
---|---|
useKerberos |
true |
debug |
true Kerberos 認証に関する問題が存在しない場合はこのプロパティを削除します。 |
user および password |
ユーザーのユーザー名とパスワード。DbVisualizer などの JDBC クライアントを使用する場合、これらをプロパティとして指定する代わりに、[User name] と [Password] のボックスに資格情報を入力できます。 |
Kerberos 制約付き委任
Denodo ドライバーは、Kerberos 制約付き委任をサポートしています。これを使用すると、Denodo サーバーは、クライアントがサービスチケットを提示した後に、制限された他のサービスのサービスチケットを取得できます。
プロパティ |
値 |
---|---|
useKerberos |
true |
userGSSCredential |
クラス |
ドライバープロパティ 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:denodo://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 をロードする必要があります。
プロパティ |
値 |
---|---|
useKerberos |
true |
debug |
true Kerberos 認証に関する問題が存在しない場合はこのプロパティを削除します。 |
useTicketCache |
true |
renewTGT |
true |
チケットキャッシュに格納されている 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 ファイルを取得する必要があります。