新卒がShibbolethを学ぶ ~その3:LDAPって何?~

こんにちは。サイオステクノロジーの有村です。

前回までに

新卒がShibbolethを学ぶ ~その1:HTTP,HTTPS,SSLって何?~
新卒がShibbolethを学ぶ ~その2:シングルサインオンって何?~

を学びました。

今回はShibbolethのデータベースとして使うLDAPの勉強とOpenLDAPを使ったLDAPサーバの実装をしたのでアウトプットしていきたいと思います。

LDAPとは

LDAP(Lightweight Directory Access Protocol)とはディレクトリサービス(情報を一元管理し情報提供を行うサービス)を提供するサーバへアクセスするときに使うプロトコルのことです。LDAPに対応してディレクトリサービスを提供するサーバをLDAPサーバといい、ツリー構造のデータベースを使って情報を管理します。

LDAPを使う事で出来ること

LDAPの「LDAP認証」や「LDAP連携」を使う事で以下のような機能を実装することが出来ます。

    • Linuxのシステムアカウント情報(/etc/passwdや/etc/shadow)の一元化
    • Linuxサーバの各種アプリでのIDパスワードの統一
    • シングルサインオンの実装
    • 社員情報の共有
    • アカウント自動作成等のLDAP連携

一部抜粋しましたが、他にも様々な機能をLDAPを使う事で実装出来ます。

LDAPとRDBの違い

RDBでは頻繁に更新が行われ、レコードを更新したときに別のテーブルが更新されることも多いので一連の処理に一貫性と整合性が担保されています。なので、複雑なテーブル構造の更新処理に適している反面、負荷が大きくなってしまいます。

一方、LDAPはツリー構造をとっているのでRDBのような複雑な構造は取れない代わり負荷が軽くなっています。

なので、データベースの更新は少ないが、検索はよくするという場合(電話帳やアカウントシステムの管理)にはLDAPが適しています。

OpenLDAPを使ったLDAPサーバの実装

今回は簡単なLDAPサーバを構築してLDAP Adminでユーザーを追加するとこまで実装したいと思います。実装するLDAPのイメージは下のイラストです。

LDAPサーバの環境はAzure上にCentOS7.6を構築しています。
(構築方法は下のリンクに乗っています)
Azureに仮想マシン(CentOS)を構築する Ver.2.0

LDAPサーバの実装

LDAPサーバの実装方法は以下のようになります。

    1. CentOS上にOpenLDAPをインストール
    2. OpenLDAPの管理者パスワードの設定

    3. 基本的なスキーマの読み込み

    4. ディレクトリマネージャーの設定

LDAP Adminでユーザーの追加

LDAP Adminをダウンロードしていない人は下のリンクからダウンロードできます。

http://www.ldapadmin.org/

LDAP AdminからOpenLDAPサーバへの接続

  1. LDAP Adminを起動する
  2. メニューから「Start」→「Connect」を選択
  3. New connectionを選択
    1. 「Connection name」に「OpenLDAPサーバのIP」を入力
    2. 「Host」に「OpenLDAPサーバのIP」を入力
    3. 「Base」に「dc=srv,dc=world」を入力
    4. 「Username」に「cn=Manager,dc=srv,dc=world」を入力
    5. 「Password」に「任意のパスワード」を入力
    6. 「OK」ボタンをクリック
  4. 作成されたサーバのIPをクリックして「OK」ボタンをクリック
  5. 接続されていることを確認する

LDAP AdminからOpenLDAPにPeopleを追加する

  1. ウィンドウから「ou=People」を選択。
  2. 右クリックから「New」⇒「User」を選択
    1. 「First name」に「名前」を入力。
    2. 「Second name」に「名前」を入力
    3. 「Username」に「ユーザ名(ログインID)」を入力
    4. 「Home Directory」に「ユーザ名のホームディレクトリ」を入力
    5. 「OK」ボタンをクリック。
  3. ユーザーができていることを確認する
  4. 作成されたユーザーを右クリックして「Set Password」を選択
      1. 「New password」に「パスワード」を入力
      2. 「Confirm password」に「パスワード』を入力
        「OK」ボタンをクリック
  5. パスワードが設定出来ていることを確認する。

まとめ

今回はLDAPについて学びました。実装の部分は
https://www.server-world.info/query?os=CentOS_7&p=openldap&f=1
この記事を参考にしています。

次回は今回作ったLDAPサーバを用いてShibbolethの実装をしていきたいと思います。





ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!


ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

1人がこの投稿は役に立ったと言っています。

コメント投稿

メールアドレスは表示されません。


*