Sun Java System Directory Server Enterprise Edition 6.0 管理ガイド

結合データビューの作成とテスト

Procedure結合データビューを作成する

  1. myjoin1–view という名前の結合データビューを作成します。

    LDAP データビューを一次データビュー、JDBC データビューを二次データビューに指定します。


    % dpconf create-join-data-view myjoin1-view myds1-view mysql1-view o=join
  2. 二次データビューで結合ルールを定義します。

    次の結合ルールは、二次データビューのエントリの uid 属性が一次データビューのエントリの uid 属性に一致することを指定します。


    % dpconf set-jdbc-data-view-prop mysql1-view filter-join-rule:uid='${myds1-view.uid}'
  3. 結合データビューを使用して、一次データビューに対して読み書きができる属性のセットを定義します。


    % dpconf set-ldap-data-view-prop myds1-view viewable-attr:dn viewable-attr:cn \
     viewable-attr:sn viewable-attr:givenName viewable-attr:objectClass viewable-attr:ou \
     viewable-attr:l viewable-attr:uid viewable-attr:mail viewable-attr:telephoneNumber \
     viewable-attr:facsimileTelephoneNumber viewable-attr:roomNumber viewable-attr:userPassword
    % dpconf set-ldap-data-view-prop myds1-view writable-attr:dn writable-attr:cn \
     writable-attr:sn writable-attr:givenName writable-attr:objectClass writable-attr:ou \
     writable-attr:l writable-attr:uid writable-attr:mail writable-attr:telephoneNumber \
     writable-attr:facsimileTelephoneNumber writable-attr:roomNumber writable-attr:userPassword

    これらの定義は、結合ビューのコンテキストにのみ適用されます。LDAP データビューに直接アクセスした場合、デフォルトでは、すべての属性が読み書きできます。

  4. 結合データビューを使用して、二次データビューに対して読み書きができる属性のセットを定義します。


    % dpconf set-jdbc-data-view-prop mysql1-view viewable-attr:dn viewable-attr:objectclass \
     viewable-attr:sn viewable-attr:room viewable-attr:userpassword viewable-attr:jobtitle \
     viewable-attr:country viewable-attr:tel
    % dpconf set-jdbc-data-view-prop mysql1-view writable-attr:dn writable-attr:objectclass \
     writable-attr:sn writable-attr:room writable-attr:userpassword writable-attr:jobtitle \
     writable-attr:country writable-attr:tel

    これらの定義は、結合ビューのコンテキストにのみ適用されます。JDBC データビューに直接アクセスした場合、デフォルトでは、すべての属性が読み書きできます。

Procedure必要な ACI を作成する

  1. プロキシマネージャーとして、結合データビューへの匿名アクセスを許可するグローバル ACI を追加します。


    % ldapmodify -p 1389 -D "cn=proxy manager" -w password
    dn: cn=myjoin1,cn=virtual access controls
    changetype: add
    objectclass: acisource
    dpsaci: (targetattr="*") (target = "ldap:///o=join") \
     (version 3.0; acl "anonymous_access"; allow(all) userdn="ldap:///anyone";)
    cn: myjoin1
  2. o=join ドメインへの接続を処理するために接続ハンドラを作成します。


    % dpconf create-connection-handler myjoin1-handler
  3. 接続ハンドラを有効にして、o=join のユーザーからのバインドをすべて処理するように設定します。


    % dpconf set-connection-handler-prop myjoin1-handler is-enabled:true \
     bind-dn-filters:"uid=.*,ou=people,o=join"
  4. 以前に追加された ACI のプールを使用するように接続ハンドラを設定します。


    % dpconf set-connection-handler-prop myjoin1-handler aci-source:myjoin1

Procedure結合データビューをテストする

  1. 匿名ユーザーとして、結合データビューを検索します。

    ここでは、Kirsten Vaughan のエントリを検索し、両方の結合ビューからのデータが取得されるかどうかを確認します。


    % ldapsearch -p 1389 -b o=join "uid=kvaughan"

    返されるエントリには、LDAP データビューと JDBC データビューの両方からの属性が含まれていることに注意してください。

  2. o=join のユーザーとして、userPassword 属性を変更して、結合データビューに書き込みができることを確認します。


    % ldapmodify -p 1389 -D "uid=kvaughan,ou=people,o=join" -w myNewPassword
    dn: uid=kvaughan,ou=people,o=join
    changetype: modify
    replace: userPassword
    userPassword: myPassword