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

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

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

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

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Active Directory

Active Directoryは、 Windows Serverの機能の一つで、 マイクロソフトによって作られたディレクトリサービスです。 ネットワーク上に存在する様々なハードや利用者情報のアクセス権限などを一元管理が出来ます。

Q&A

解決済

2回答

6869閲覧

OSSのKnowledgeでAD認証をする方法。

wyonaha478

総合スコア19

LDAP

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

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Active Directory

Active Directoryは、 Windows Serverの機能の一つで、 マイクロソフトによって作られたディレクトリサービスです。 ネットワーク上に存在する様々なハードや利用者情報のアクセス権限などを一元管理が出来ます。

0グッド

1クリップ

投稿2017/05/24 16:11

###前提・実現したいこと
OSSのKnowledgeにて、LDAP認証(Active Directory)を行いたい。

###発生している問題・エラーメッセージ
knowledgeにログインし、設定から【Ldap Config2】にて設定をしているが、
ログインに失敗する。

###補足情報(言語/FW/ツール等のバージョンなど)
サーバはLinux(Cent OS7)。

上記の件で、以下の項目に入力する内容がわからず困っております

・Base DN
・Id Attribute
・接続確認用ID
・管理者ID

上記について、お手数ですがご教授願います。

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

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

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

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

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

guest

回答2

0

overさんの助言をもとにいろいろ探ったところ無事にAD連携ができました。
以下に連携するにあたって必要だったパラメータを記載します。

KnowledgeとActive Directory連携する方法

  • Host : xxx.xxx.xxx.xxx (Active DirectoryのIPアドレス)
  • Port : 389(3268でもできるかも)
  • Security : Plain
  • 検索用に接続するためのBind DN : CN=Administrator,CN=Users,DC=●●●●●,DC=LOCAL
  • 検索用に接続するためのパスワード : 【上記ユーザのパスワード】
  • ユーザ検索のBaseDN : CN=Users,DC=●●●●●,DC=local
  • ユーザ検索のFilter : (sAMAccountName=:userid)
  • Id Attribute : sAMAccountName
  • Name Attribute : name
  • 管理者ID : Administrator

上記の設定を行うことで、LDAP認証が有効になる。
この設定はSecurityがPlainになっているため、外部公開する場合やその他で気を付けたほうがいいかもしれません。

overさん、下手な説明にも関わらず熱心に対応してもらい非常に助かりました。
また、わからないことがあったらお聞きすることがあるかもしれませんがその際はまた宜しくお願い致します。

投稿2017/06/10 05:06

wyonaha478

総合スコア19

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

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

0

ベストアンサー

Knowledge なるものの実績はないのですが、通常のAD LDAPに接続できるパラメータは以下だと思います。

Base DN

FQDNドメイン名を指定します。
例えばexample.localであれば以下のようにします。
DC=example,DC=local

Id Attribute

認証に使用したい属性を指定します。
ドメインログオンと同一のアカウント名にしたいのであれば、sAMAccountNameuidを指定すればよいはずです。

・接続確認用ID

・管理者ID

接続確認用IDというのは不明ですが、管理者IDと同一でも良いかもです。
上記例にならうと通常の管理者IDは以下です。
CN=Administrator,CN=Users,DC=example,DC=local

これよりも以前にドメインコントローラで該当のポート(ldapであれば389、ldapsであれば636)が開放されている必要があります。
また、ldapsで接続するのであれば、Avtive Directory証明局を構築してサーバ証明書を入手する必要もあります。

投稿2017/05/25 00:50

over

総合スコア4309

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

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

wyonaha478

2017/05/25 02:42

回答ありがとうございました。 ご教授いただいた内容で無事に設定ができました。もう1点教えてください。 Knowledge上で検索フィルタの設定を行おうとしているのですが、objectClass=userなどと指定してもうまくログインができないです。 「ユーザ検索のFilter(必須) ※[:userid] は予約語で、ログイン時のユーザIDで置換された値で検索を実行します」 フィールドには上記のようなことが書かれているのですが、何か予測つくものなどありますでしょうか。
over

2017/05/25 03:02

以下でどうでしょうか? (&(objectCategory=person)(objectClass=user))
wyonaha478

2017/05/25 04:02

早々のご回答ありがとうございます。 試してみましたがダメそうでした。 注意書きにあった「※[:userid] は予約語で、ログイン時のユーザIDで置換された値で検索を実行します」がすごく気になっていて以下も試してみました。 (&(objectCategory=person)(objectClass=:userid)) 上記でもだめでした…。
wyonaha478

2017/05/25 04:06

ちなみに、設定値を載せておきます。 Host:Active DirectoryのIPアドレス Port:3268 Security:Plain 検索用に接続するためのBind DN(必須):CN=Administrator,CN=Users,DC=●●,DC=local 検索用に接続するためのパスワード(必須):【Administratorのパスワード】 ユーザ検索のBaseDN(必須):OU=Users,DC=●●,DC=local ユーザ検索のFilter(必須):(&(objectCategory=person)(objectClass=user)) Id Attribute(必須):sAMAccountName Name Attribute:【空欄】 Mail Address Attribute:【空欄】 管理者ID(必須):Administrator 上記がKnowledgeで指定すべき項目とその設定値です。
over

2017/05/25 05:01

ご提示頂いたURLから以下でできそうですが如何でしょうか。 sAMAccountName=:userid
wyonaha478

2017/05/25 05:11

教えていただいた内容を入れてみましたが、だめでした。 何か別で間違いがあるのか検討もつかなくなってきました…。 試したこととして、ポートも389にして行いました。 結果としては、接続テストは問題なく通ったのですが、実際のログインがやはりできません。
over

2017/05/25 05:21

> 接続テストは問題なく通ったのですが、実際のログインがやはりできません。 となると、ユーザIDを探せていないのが問題ですね。 「ユーザ検索のFilter(必須)」か「Id Attribute(必須)」が問題のようです。 「Id Attribute(必須)」をuidまたはcnにしても接続テストは成功するでしょうか? フィルタは以下ではどうですか? (&(sAMAccountName=:userid)(memberOf=CN=Users,DC=example,DC=local)) ちなみに肝心のAD側 Usersオブジェクト以下にログインするユーザは作っていますよね?
wyonaha478

2017/05/25 06:16

「Id Attribute(必須)」について、「uid」、「cn」ともに試しましたが、接続テストは成功しました。 試しに適当に「aaa」と入れても成功するので、本当に接続テストのみなのかもしれません。 フィルタについても、頂いた情報を入れてみましたが状態変わらずといったところです。 Active Directory側のUsersに対象ユーザは作成しております。 念のために接続テストでそのユーザとAdministratorでも試しています。 また、記載を忘れていましたがユーザログインのテストは「ユーザ名」だけでのログインと 「ドメイン\ユーザ」の両方でテストしています。
over

2017/05/25 06:33

> Port:3268 ちなみに上記ポートがldapのポートではないようですが、これは何を元に記載していますか? Active Directory側で変更されているのでしょうか? > 「Id Attribute(必須)」について、「uid」、「cn」ともに試しましたが となると、接続テストに使われている項目は以下ですね。 > Host:Active DirectoryのIPアドレス > Port:3268 > Security:Plain > 検索用に接続するためのBind DN(必須):CN=Administrator,CN=Users,DC=●●,DC=local > 検索用に接続するためのパスワード(必須):【Administratorのパスワード】 恐らく「Id Attribute(必須)」は「sAMAccountName」で間違いないと思いますが、フィルタの書き方が違うような気がしています。 Active Directoryはldapのクエリログを残すことができないので、OpenLDAPなどを構築して実際に発行されているクエリを確認するしかなさそうです。
wyonaha478

2017/05/25 06:37

Active DirectoryでLDAPポートとLDAP GCポートがあり、どちらでも通るようでしたので、 3268を利用していました。ですが、overさんの初回回答に389と記載があったため、 もしかしてと思い、こちらもそれから389でテストを行っております。 その為、すみませんがポートは389と読み替えてください。 確かに、Active Directory側ではログが残らないので、overさんが言うように OpenLDAPで検証するほうが無難かもですね。 上記の件について承知しました。
wyonaha478

2017/06/10 05:07

overさん、無事に解決することができました。 同じことで困っている方がいた際に使えたらと自己解決欄に対応方法を記載しました。 この度はご助言頂きありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問