質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
LDAP

LDAPは、ディレクトリデータベースにアクセスするためのプロトコルです。ディレクトリデータベースとは、ネットワークに存在するメールアドレスや環境などさまざまな情報を一元的に管理するサービスのことで、クライアントはLDAPサーバにアクセスしてユーザ名から検索や追加などの操作することができます。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Q&A

解決済

1回答

306閲覧

LDAP JDBC Driver

RYOHEI1009

総合スコア45

LDAP

LDAPは、ディレクトリデータベースにアクセスするためのプロトコルです。ディレクトリデータベースとは、ネットワークに存在するメールアドレスや環境などさまざまな情報を一元的に管理するサービスのことで、クライアントはLDAPサーバにアクセスしてユーザ名から検索や追加などの操作することができます。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

0グッド

0クリップ

投稿2017/12/25 03:35

android開発をしています。
JDBCではMYSQLへの直接アクセスでした。
LDAP JDBC Driverはmysqlの代わりに.rsbという拡張子にアクセスをしているのですか??

また、androidでは利用することが出来ますか??

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

LDAP JDBC Driverというものは初めて知りましたが、これはデータベースに接続するためのものではなく、ディレクトリや、その中に入っているファイルに、SQLを使ってアクセスするツールのようですよ。

LDAPについては以下をご確認下さい。
LDAP (Wikipedia)

(「そんなことは知っているよ」という回答になってしまっていたら、申し訳ありません。)

投稿2017/12/25 03:49

ketztaro

総合スコア101

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

RYOHEI1009

2017/12/25 04:01

コメントありがとうございます! Mysqlよりセキュリティ的には安全ですか?
ketztaro

2017/12/25 04:15

MySQLはデータベースで、LDAPはデータベースではないので、セキュリティについては比較できないです。 (自動車と動物園で比べてどちらが安全かと聞かれている感覚です。) RYOHEI1009さんが、Android開発において、データベースに値を保存したり、データベースから値を取り出したりしたいのであれば、LDAP JDBC Driverというものは、目的にあっていないので利用できません。 アプリ内にDBを作ってそこにデータを保存したいのなら、Androidの場合、SQLiteを使うのが一般的だと思います。(おそらくRYOHEI1009さんがやりたいことはこれでは?その場合、「Android SQLite」でググるとよいと思います。) それともDB(MySQL)がすでにどこかのデータセンターにあり、アプリからそのデータセンターのDBに直接接続するようにしたい、ということでしょうか?もしそうだというなら、それはよっぽどちゃんとわかってる人がやらない限り、危険なことになると思いますよ。
RYOHEI1009

2017/12/25 04:46

現在MYSQLを利用しています!! しかし、よりセキュリティ強化のためにLDAPを利用という指示がでました!
ketztaro

2017/12/25 04:55

なんとなくわかってきました。 それは、「MySQLの接続にLDAP認証を利用しろ」という指示ですね? つまり、会社のWindowsPCのIDとPasswordを使って、MySQLのユーザ管理をしなさい、というような話ではないでしょうか? それはMySQLを利用するクライアント側のアプリ(Android側)ではなく、MySQLのサーバ側で設定するものだと思いますが、、、私の話は、噛み合ってますでしょうか? (いずれにせよ、LDAP JDBC Driverは関係ないと思います。)
ketztaro

2017/12/25 05:31

あ、もしかして、MySQLのユーザ管理ではなく、アプリのユーザ管理にLDAP認証を使えということでは? 「今までそのアプリではユーザ認証のために、MySQLにあるUserテーブルのようなものを見て、認証をしていたが、それをやめて、LDAP認証にする。」 もしそうであるなら、以下のライブラリが見つかりました。 [UnboundID LDAP SDK for Java](https://www.ldap.com/unboundid-ldap-sdk-for-java) 残念ながら日本語の説明は見つかりませんでしたが。 「Java LDAP」でググると他にも選択肢が見つかりましたが、Androidで利用できるかはいまいちわかりませんでした。
ketztaro

2017/12/25 05:37

アプリのユーザ認証ではなく、本当に、MySQLのユーザ管理をLDAP認証にするという話でしたら、先ほどRYOHEI1009さん自身が貼ったURLが参考になると思います。
RYOHEI1009

2017/12/25 05:53

アプリのログイン画面でmysqlにアクセスし、一致した場合画面遷移をしてました! これは危険だと言われ、LDAPを指示されました! これらを改善するにはLDAP認証は解決可能ですか?
ketztaro

2017/12/25 06:12

まさに、「今までそのアプリではユーザ認証のために、MySQLにあるUserテーブルのようなものを見て、認証をしていたが、それをやめて、LDAP認証にする。」ということだと思いますので、LDAP認証を利用すれば、"LDAPを指示"した人の要求は満たせるようになると思います。 どういうケースを想定して、「これは危険だ」と言ったのかわからないですが、ユーザとパスワードを、アプリ毎に管理していると、管理対象が膨らんでいって大変になっていきます。 例えば、アプリAのユーザでもあり、アプリBのユーザであるXさんが、会社を辞めた時に、退職後、そのアプリにログインできてはいけないとします。すると、Xさんの退職時に、アプリA、アプリB、それぞれ忘れずにユーザテーブルのデータを削除しないといけません。 しかし、アプリAでもアプリBでも、LDAP認証を使っていれば、会社で管理しているLDAPの大元のアカウント(大体はWindowsのユーザアカウント)を削除すれば、一気にアプリAにもアプリBにもログインできなくなるようになります。このように、運用によるセキュリティリスクを軽減できます。 逆に、大元のアカウント情報が漏れるとアプリAにもアプリBにもログインできてしまうというリスクはありますが、上記の運用に関わるリスクよりはましかなぁ、といった感じです。
RYOHEI1009

2017/12/25 06:15

本当にありがとうございます。 悩みが解決できました!! わかりやすい説明ありがとうございます!! いまから、LDAP認証を作りたいと思います!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問