none
jdk6でのAD認証は可能でしょうか? RRS feed

  • 質問

  • お世話になっております。

    現在、JDK6ベースで作成したWebアプリケーション(DBはPostgreSQL)のDBを、

    今回、Azure SQL Databaseにポーティングしたいと考えております。

    JDKのバージョンアップは考えていないので、jdbcはsqljdbc4.jarの予定ですが、

    同JDBCの場合、AD(アクティブディレクトリ)認証を使用することは可能でしょうか?

    ご教示いただければ幸いです。

    2017年10月2日 10:54

回答

すべての返信

  • こんにちは。

    Use Azure Active Directory Authentication for authentication with SQL Database or SQL Data Warehouse

    System Requirements for the JDBC Driver

    既に調べられているとは思いますが、

    JDBCドライバでAAD認証をサポートしたのはMS-JDBC 6以上からのようなので
    難しいと思います。

    2017年10月2日 22:52
    モデレータ
  • Tak1waさま

    お世話になります。

    早速の回答ありがとうございます。

    ご紹介いただいたリンク先は、投稿前に一度確認はしたのですが、

    その他がどうなのか不明でしたので、質問させていただきました。

    やはり難しいですか...

    jdbc6を使うためには、JDKを8まで引き上げる必要があるので、

    今回は見送る可能性が高いです。

    ありがとうございました。

    2017年10月3日 0:41
  • お世話になります。

    もう1点、ご教示いただきたい点があり、追記で確認させてください。

    AAD認証をjavaで利用する場合、ADAL4jという下記のライブラリも利用可能という記載を見つけました。

    https://github.com/AzureAD/azure-activedirectory-library-for-java

    これは、先述のJDBCドライバ6.0で実現する方式とは別の方式になるのでしょうか?

    jdbcのバージョンの制約等の記載は見つけきれず、JDK6でも使えるのかを懸念しております。

    何か情報ございましたら、ご教示いただければ幸いです。

    引き続きよろしくお願いします。

    2017年10月4日 0:18
  • ADAL4jについてはJDBCとは無関係ではないでしょうか。

    AAD認証を使ってシングルサインオンや認証情報の利用をするためのライブラリであり、
    SQL Server / SQL Database へAAD認証を使って接続を行うこととは異なります。

    JDKバージョンについては確認できていませんが、

    AAD認証自体は特別ライブラリを使わなくてもHTTP通信でトークンの取得はできたと思いますから、最悪バージョンに依存せず実装できるのではないかなと推測してます。

    しかし、もともとの要求であるデータベース接続とは切り離して考えられたほうが良いのかなとは思います。

    2017年10月4日 1:11
    モデレータ
  • Tak1waさま

    度々のご回答ありがとうございます。

    すみません。当方両者を混同しておりました。

    DB接続とは切り離して考える必要があるとのご指摘、助かりました。

    現状はユーザ認証=DB認証となっておりますので、

    その部分から再考する必要がありそうです。

    諸々ありがとうございました。

    2017年10月4日 6:23