3 Minutes NetWorking Supplement
No.13

3Minutes NetWorking Supplement

補講第13回LDAP(5) 機能モデル(2)

■ 更新オペレーション

おねーさん

おね〜さんと、

ほげたん

ほげたんのっ!!

おねーさん

3 Minutes Networking、

ほげたん

Supplement !!

おねーさん

さてさて〜、機能モデルの話の続きだったわね。
LDAPの機能には次のものがあるって話をしたんだけど。

  • 認証 … bind、unbind
  • 検索・比較 … search、compare
  • 更新 … add、delete、modify、modify-DN、abandon
ほげたん

うん。認証オペレーションと、検索・比較オペレーションが前回の話だったよね。

おねーさん

そうね。LDAPの操作をする場合必ず行う「認証」と。
ディレクトリサービスの根幹である「検索・比較」の2つを説明したわけ。

ほげたん

だったわけ。

おねーさん

さて、今回はまず最後の一つ、「更新オペレーション」をやりましょう。
え〜っと、まず「add」ね。

ほげたん

「追加」だね。

おねーさん

そうね、それ以外の解釈はしようがないしね。
え〜っと、DITにエントリを追加するオペレーションね。

ほげたん

そのまんまだね。

おねーさん

まぁ、それ以外にどうしようもないでしょ。指定した上位エントリの下に新規にエントリを追加するってことね。
なので、存在しない上位エントリを指定するとエラーになる、と。

ほげたん

そりゃそうだよ。

おねーさん

あと、DNが同じものを追加できない。まぁ、これも当たり前ね。

ほげたん

ですよね。

おねーさん

次行きましょう。次は「delete」ね。

ほげたん

「削除」だね。

おねーさん

DITのリーフエントリを削除するオペレーションってことね。

ほげたん

りーふえんとり? リーフって、「葉」だっけ。

おねーさん

そう、下位エントリを持たないエントリのことね。つまり、下位エントリを持つ上位エントリは削除できないってことね。

ほげたん

それって不便じゃない?

おねーさん

それはLDAPクライアントソフトで対処すればいいんじゃない? 「上位エントリ削除要求」→「上位エントリに含まれる下位検索」→「下位エントリ個別削除」→「上位エントリ削除」って手順踏めばいいでしょ。

ほげたん

あぁ、なるほど。

おねーさん

あと削除のポイントはもう1つ、別名エントリは別名エントリだけを削除ところね。

ほげたん

ん〜っと、参照先の実名エントリは削除しないってこと?

おねーさん

そういうこと。実名まで消しちゃったら困るからね。

ほげたん

次は…「modify」? 「修正」?

おねーさん

「修正」、そうね。DITに存在するエントリの属性を変更することよね。
modifyにはさらに「add」「delete」「replace」の3つがあるの。

ほげたん

「追加」と「削除」と「再配置」?

おねーさん

「再配置」よりは「上書き」の方がしっくりくるかしら。指定したエントリの属性を追加・削除・上書きするオペレーションね。

[FigureSP13-01:更新オペレーション]

ほげたん

んと、addとdeleteはともかく、modifyは複数の処理を一気に要求できるってことだね。

おねーさん

そうそう。で、そのうち1個でもできないと、処理自体が全部キャンセルされちゃう、と。

ほげたん

はー。

おねーさん

あと、ポイントとしては、DNの属性、まぁ正確にはRDNの属性なんだけど、RDN属性(識別属性)はdeleteでは変更できないってことかな。

ほげたん

ええっと、そのエントリの識別名として使われる属性は、削除できないってことでいいのかな?
まぁ、確かに。RDN属性削除しちゃったら、名前付けがおかしくなるもんね。

おねーさん

そういうこと。

ほげたん

でも、RDN属性が削除できないって、それを消したい場合はどうすればいいの?

おねーさん

そういう場合は違う属性をRDN属性にして、それから削除しちゃえばいいのよ。
そのための「modify-DN」なわけ。

ほげたん

「DN修正」ってことかな。

おねーさん

そうね。これは今説明したとある属性をRDN属性にするという意味と、もう1つ意味があるの。
DNを変更できるってことは、ほげたん、どういうこと?

ほげたん

識別名を変更できる? 識別名を変更できると……どうなるんだろう?

おねーさん

DNってエントリと上位エントリのRDNを並べたものでしょ。つまり、上位エントリを変更できる=エントリの位置を変更できるってことなのよ。

ほげたん

なるほど。

[FigureSP13-02:modify-DN操作]

おねーさん

ちなみにこの上位エントリの変更は、LDAPv3からの操作ね。

ほげたん

DNはエントリで大事な属性だから、それ専用の操作があるんだね。

おねーさん

最後が「abandon」ね。

ほげたん

あばんだん?「放棄」?

おねーさん

そう。これは更新オペレーションからちょっと離れるけど。
直前のオペレーション要求をキャンセルする要求ってことね。

ほげたん

ん? なんに使うの?

おねーさん

例えば、応答に時間がかかる検索要求をキャンセルさせたり、そういうことに使ったりとか。

ほげたん

ははぁ。なるほどだよ。

■ セキュリティモデル

おねーさん

さてさて〜、最後のモデルについて説明しましょ。セキュリティモデルね。
大雑把にわけて、次のセキュリティを考えてみると。

  • 認証
  • 認可
  • 通信路
おねーさん

まず、認証のセキュリティ。これは認証オペレーションでやったわね。

ほげたん

bindだね。え〜っと、匿名認証と単純認証、SASL認証があったよね。

おねーさん

そうそう。ユーザ名なしの匿名認証、ユーザ名ありの単純認証、ユーザ名とパスワードの単純認証、SASLによるSASL認証、とあるわけね。

ほげたん

だったよね。

おねーさん

認証結果で、ユーザ名がわかるわけで、それによって「認可」を行うわけね。

ほげたん

認可はあれだよね。「認証によって判明したユーザの身元から、与える/与えないサービスを決定する」だったよね。

おねーさん

Kerberosのとこからそのまま引っ張ってきたわね。まぁ、その通り。つまり、ディレクトリにオペレーションが可能かどうか決定したりするわけね。

ほげたん

とあるユーザでは検索ができなかったり、検索はできても変更ができなかったり、そういうことだね。

おねーさん

そうそう。ただし、LDAPによってディレクトリに対する認可は設定されていないの。つまり、LDAPサーバの仕様で勝手にやれ、みたいな?
認証方式は決められてるんだけどね。

ほげたん

つまり、LDAPの認証方式によってユーザ名とパスワードは入手できるけど、それによってLDAPディレクトリがどうするかって決まってないってことかな?

おねーさん

そういうこと。例えば、LDAPディレクトリの代表例といえば、ActiveDirectoryだけど、そこでの認可はWindowsの方で決められてるわけね。

ActiveDirectoryでのセキュリティ

[FigureSP13-03:ActiveDirectoryでのセキュリティ]

おねーさん

R2Nドメインでの、「Amino Emi」というエントリのセキュリティね。あ、ちなみに画面はWindows2000Serverでの画面ね。

ほげたん

ははぁ、上の画面だと、Account Operatorsだと、フルコントロールにチェック入ってるから、全部の操作が可能なんだね。

おねーさん

そゆことね。最後は通信路のセキュリティ。通信路のセキュリティといえば、暗号化なわけだけど。
LDAPはそーゆーの考えてないから。

ほげたん

考えてないんだ。

おねーさん

まぁ、だからTCP/IPで汎用的に使えるTLS/SSLに対応で暗号化しちゃえばいいんだけどね。
SSLを使用している場合のLDAPは、前も言ったけどLDAPSって呼ばれるから。

ほげたん

HTTPがHTTPSになるようなもんだね。

おねーさん

そゆことです。さて、LDAPも今回でいったん区切りかな。

ほげたん

え?そうなの?

おねーさん

うん。DITの複製とか、スキーマとか、オブジェクトクラスの話とかもしていいんだけど。
ま、LDAPの基礎はわかってもらえたかな、と。

ほげたん

そだね、基本的なところはわかった、のかな?

おねーさん

まぁ、ディレクトリサービスはわかってもらえたかもしれない、ってところで。
今回はこれでおしまい。

ほげたん

次回は?

おねーさん

どうしよっかな〜。
おね〜さんと、

ほげたん

ほげたんのっ!!

おねーさん

3分間ネットワーク、

ほげたん

サプリメントでした〜〜〜っ!!

ほげたんほげたんの今日のポイント
  • 更新操作にはadd、delete、modify、modify-DN、abandonがある。
    • addはエントリを追加する。
    • deleteはエントリを削除する。
    • modifyはエントリの属性を追加・削除・変更する。
    • modify-DNはエントリの識別属性を変更、上位エントリの変更を行う。
    • abandonは操作をキャンセルする。
  • セキィリティモデルには認証、認可、通信経路について考える。
    • 認証はbind操作によって行う。
    • 認可はディレクトリサーバの仕様によって決定される。
    • 通信経路のセキュリティにはTLS/SSLを使用することができる。

3 Minutes NetWorking Supplement No.13

管理人:aji-ssz(at)selene.is.dream.jp