CData Virtuality - LDAP 認証 & Kerberos 認証(構成のポイントと利用のイメージ)

000.jpg

こんにちは。CData Software Japan の色川です。

CData Virtuality は、CData がお届けするエンタープライズグレードのデータ仮想化プラットフォームです。CData Virtuality によるデータ仮想化は、さまざまなSaaS やアプリケーションに分散して複雑化しているビジネスデータを統合・整理して、誰もがデータの意味を理解し活用できる「セマンティックレイヤー」を提供します。

さまざまな利用規模においてデータ基盤として活用いただけるCData Virtuality ですが、多数のユーザーアカウントでVirtuality を活用する際に利用を検討されることが多い機能・構成の1つが、SSO(Single Sign On)です。

昨今では、SSO の認証基盤にクラウドベースのIdP を利用するケースも増加していると思いますが、国内企業を対象にしたリサーチなどによれば、依然としてオンプレミスベースの認証基盤(オンプレミス環境でのActive Directory)の利用率は高いようです。

CData Virtuality では、OpenID を実装したクラウドベースのIdP によるシングルサインオン(SSO)以外に、従来からのオンプレミス環境でのActive Directory(AD)ドメインで利用される「LDAP 認証」や「Kerberos 認証」もサポートしています。

この記事では、CData Virtuality Server(Self-hosted 版)での「LDAP 認証 & Kerberos 認証」について、構成のポイントと利用のイメージを紹介します。

目次

はじめに

近年、SSO(Single Sign On)の認証基盤にクラウドベースのIdP(ID 管理プロバイダー)を利用するケースも増加していると思いますが、こちらの国内企業のIT 部門を対象にしたアンケートなどによれば、依然としてオンプレミスベースの認証基盤(オンプレミス環境でのActive Directory)の利用率は高い比率を占めているようです。

001.jpg
[引用元: 数字で見る"情シス"の実像2025「情報システムの現状とIT活用実態アンケート2025」調査結果の概要]

また、こちらのグローバルを対象にしたリサーチ結果などからも、オンプレミスで運用されているActive Directory ドメインは今後も長期的に一定の役割を担い続けるであろうことが想定されます。

002.jpg
[引用元: SANS 2024 Multicloud Survey: Securing Multiple Clouds Amid Constant Changes]

CData Virtuality では、OpenID を実装したクラウドベースのIdP(ID 管理プロバイダー)によるシングルサインオン(SSO)をサポートしていますが、オンプレミス環境での認証基盤として人気の高いActive Directory(AD)ドメインで利用される「LDAP 認証」や「Kerberos 認証」もサポートしています。

それでは、CData Virtuality Server(Self-hosted 版)での「LDAP 認証 & Kerberos 認証」について、構成のポイントと利用のイメージをそれぞれ紹介していきます。

構成のポイント

Virtuality で「LDAP 認証」や「Kerberos 認証」を構成するために必要な手順は、それぞれのヘルプトピックで詳しくガイドされています。実際の運用環境においてSSO(Single Sign On)を構成する場合、Active Directory(AD)ドメインの構成やSSO の要件に依存する部分も多いかと思いますが、基本はヘルプトピックを参考にして進めていただけるとスムーズです。この記事では、参考にすべきヘルプトピックページと幾つかのポイントを中心に触れていきます。

前提として、この記事ではCData Virtuality 25.0 を利用しています。1つ前のメジャーバージョンであるVirtuality 4 系においてセキュリティフレームワークがElytron にアップデートされたことで、LDAP 認証やKerberos 認証も、よりシンプルに構成できるようになっています。ヘルプトピックにおいてVirtuality Server のバージョンで内容が異なる箇所においては「4.9 以降の場合(Version 4.9 and Above)」を参照してください。

なお、この記事では、以下の条件で構成したActive Directory(AD)ドメインを認証基盤として、Virtuality の「LDAP 認証」と「Kerberos 認証」を構成しています。

# 構成
ドメインコントローラのOS Windows Server 2022 (21H2)
ドメインの機能レベル Windows Server 2016(の機能レベル)

また、Active Directory ドメイン(ad.example.test)には、「dv-user-accounts」というOU(組織単位)を設けており、このOU の配下にVirtuality でのLDAP 認証マッピングの対象にするユーザーアカウントやグループ(Virtuality のRoleにマッピング)を構成しています。

003.jpg

LDAP 認証

Virtuality での「LDAP 認証」のメカニズムでは、ユーザー(およびパスワード)とロール(グループ)が、Active Directory(またはLDAP ドメイン)からロードされる形です。すなわち、Active Directory ドメイン(ad.example.test)で構成されているクレデンシャルで、Virtuality のWeb インタフェースへサインインすることができます。

この記事で利用するCData Virtuality 25.0 において、LDAP 認証を構成するために必要な手順は比較的シンプルです。まずはLDAP 検索に利用するアカウントのパスワードを、Virtuality の設定ファイルへ安全に埋め込めるように、Elytron の機構を使って暗号化しておきます。「Encrypting Credentials in the Configuration」の部分です。

004.jpg

続いて、dvserver-standalone.xml を編集して、LDAP 認証を利用できるように認証レルムを構成し(ldap-realm)、LDAP サーバーを検索するための接続情報を指定し(dir-contexts)、管理者とみなすLDAP グループや表示名に利用する値などVirtuality 用のプロパティを指定(ldap)します。事前準備で用意した暗号化済パスワードは接続情報を指定するdir-contexts で利用します。

この記事で用意した環境構成では以下のように指定しました。

[ldap-realm セクション]
005.jpg

[dir-contexts セクション]
006.jpg

[ldap セクション]
007.jpg

ここまでで基本的なLDAP 認証が構成できました。複雑になりがちなLDAP 認証の構成も、比較的シンプルな流れで進めていけることがイメージいただけたかと思います。なお、Virtuality 25.0(4.11 以降)では認証レルムをスタッキングして構成することもできます。例えば、LDAP 認証を使用しながら、ロールや権限についてはVirtuality 内部で管理することも可能になっています。

LDAP 認証を構成した場合の、ユーザーやロール、権限の取扱いについては、こちらのヘルプトピックもあわせて参考にしてください。

Kerberos 認証

LDAP 認証に加え、Virtuality Server やVirtuality が提供するJDBC やODBC では「Kerberos 認証」もサポートしており、Windows ログオンチケットでの(Windows ログオン以降に、別途ID・パスワード入力の必要無い)利便性の高いシングルサインオンの構成で利用することができます。なお、Kerberos 認証を利用する際は、Virtuality Server はドメインアカウントでの実行が必要です。また実行アカウントにはCData Virtuality フォルダへのフルアクセス権限が必要です。これらの前提条件についてはこちらのヘルプトピックを参考にしてください。

008.jpg

あわせて、Active Directory(またはKerberos サーバー)側では、ktpass コマンドを利用してkeytabファイルを作成しておきます。この記事では、mapuser に「cdvsvc」を指定して、keytab ファイルを作成しました。作成したkeytab ファイルはVirtuality Server の「C:\datavirtuality\cdvsvc.keytab」に配置しました。

Virtuality Server の設定

次に、Virtuality Server 側の準備として、dvserver-standalone.xml を編集して、Virtuality Server が利用するJavaVM でKerberos 認証を扱えるようにするためのプロパティを構成し(system-properties)、Virtuality Server 自身が使用するKerberos 資格情報をkeytab ファイルから取得できるように構成(credential-security-factories)します。LDAP 認証に必要な構成は既に実施してありますので、最後にJDBC 接続やODBC 接続をKerberos 認証で受け付けられるように定義し(transport)、ネットワークポートへのバインドを指定(socket-binding)すれば、Virtuality Server 側での準備は完了です。

[system-properties セクション]
009.jpg

なお、この記事ではKerberos 構成ファイル(krb5.conf)は以下のようなシンプルな内容で構成しています。

010.jpg

[credential-security-factories セクション]
011.jpg

[transport セクション]
012.jpg

[socket-binding セクション]
013.jpg

JDBC Client の設定

続いて、Virtuality へKerberos 認証で接続するJDBC Client 側では、Client が機能するOS 環境上に必要な設定ファイル(dvclient.conf)を用意し、対象のJDBC Client がKerberos 認証に参加できるようにする設定をそれぞれのClient ツールで指定する必要があります。また、Kerberos チケットはkinit で事前にリクエストする必要があります。

この記事では、dvclient.conf を「C:\datavirtuality\dvclient.conf」に用意しました。Virtuality Studio をKerberos 認証で利用するために、CData Virtuality Studio.ini には以下のような設定を追加しています。

014.jpg

それ以外のJDBC Client として、例えばDbVisualizer では以下のように設定を追加しています。

015.jpg

多くのJDBC Client では類似の設定によりKerberos 認証に参加できるようになるかと思いますが、それぞれの設定箇所等については利用されるJDBC Client のヘルプなどを参考にしてください。

ODBC Client の設定

さらにODBC Client の設定についても触れておきます。CData Virtuality のODBC Driver では、22.00.01.00 のODBC Driver バージョン以降でKerberos 認証に参加することができます。DSN 設定で「libpq parameters」を追加して、ODBC 接続URL でKerberos 認証へ参加するように構成してください。

016.jpg

017.jpg

利用のイメージ

それでは「LDAP 認証 & Kerberos 認証」での利用のイメージをみていきましょう。

Web インタフェース

Web インタフェースからは、Active Directory 上で構成した(Virtuality Server にマッピングしている)クレデンシャルでサインインすることができ、User やRole が想定どおりにマッピングされていることが確認できます。

018.jpg

[User Management]
019.jpg

[Role Management]
020.png

JDBC Client

Virtuality Studio やDbVisualizer などのJDBC Client から、事前に取得したKerberos チケットを利用してシングルサインオンすることができます。

021.png

[CData Virtuality Studio]
022.jpg

[DbVisualyzer]
023.jpg

024.jpg

ODBC Client

ODBC Client の例としては、PowerBI Desktop やA5:SQL Mk-2 などから、Kerberos 認証で構成したODBC DSN 経由でシングルサインオンで利用することができます。

025.jpg

[Power BI Desktop (ODBC)]
026.png

[A5:SQL Mk-2]
027.png

その他

なお、Virtuality が提供するREST APIOData のエンドポイントは、HTTP ベーシック認証で保護されますが、Virtuality での「LDAP 認証」のメカニズムでは、ユーザーアカウントは、Active Directory(またはLDAP ドメイン)からロードされますので、これらのベーシック認証においても有効です。

その他、Tableau からKerberos 認証でVirtuality を利用する場合は、こちらのヘルプトピックを参考にしてください。

まとめ

この記事では、CData Virtuality Server(インストールタイプであるSelf-hosted 版)での「LDAP 認証 & Kerberos 認証」について、構成のポイントと利用のイメージをご紹介しました。

Virtuality が持つ数多くの機能の中でも、SSO(Single Sign On)のような領域については、その構成や利用がややイメージしにくい部分もあるかも知れませんが、この記事でご紹介したように設定は比較的シンプルで、その利便性は強力です。ぜひ、実際の運用の場面でも活用を検討してみてください。

CData Virtuality についてフルマネージドタイプ(SaaS)でのトライアルを希望される方は「無償トライアルへ」からすぐにはじめていただけます。オンプレミス環境などインストールタイプのトライアルを希望される方は「お問い合わせ」よりご連絡ください。
https://www.cdata.com/jp/virtuality/

製品を試していただく中で何かご不明な点があれば、テクニカルサポートへお気軽にお問い合わせください。
https://www.cdata.com/jp/support/submit.aspx


この記事では CData Virtuality 25.0 を利用しています

関連コンテンツ