myjoin1–view という名前の結合データビューを作成します。
LDAP データビューを一次データビュー、JDBC データビューを二次データビューに指定します。
% dpconf create-join-data-view myjoin1-view myds1-view mysql1-view o=join |
二次データビューで結合ルールを定義します。
次の結合ルールは、二次データビューのエントリの uid 属性が一次データビューのエントリの uid 属性に一致することを指定します。
% dpconf set-jdbc-data-view-prop mysql1-view filter-join-rule:uid='${myds1-view.uid}' |
結合データビューでフィルタ結合ルールが設定されている場合、二次データビューで仮想変換ルールを設定して、その結合データビューでエントリを追加できるようにする必要があります。
dpconf add-virtual-transformation secondary-view-name \ write add-attr-value dn uid=\${uid} |
このルールを設定しなければ、結合データビューにエントリを追加できません。
結合データビューを使用して、一次データビューに対して読み書きができる属性のセットを定義します。
% 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 データビューに直接アクセスした場合、デフォルトでは、すべての属性が読み書きできます。
結合データビューを使用して、二次データビューに対して読み書きができる属性のセットを定義します。
% 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 データビューに直接アクセスした場合、デフォルトでは、すべての属性が読み書きできます。
プロキシマネージャーとして、結合データビューへの匿名アクセスを許可するグローバル 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 |
o=join ドメインへの接続を処理するために接続ハンドラを作成します。
% dpconf create-connection-handler myjoin1-handler |
接続ハンドラを有効にして、o=join のユーザーからのバインドをすべて処理するように設定します。
% dpconf set-connection-handler-prop myjoin1-handler is-enabled:true \ bind-dn-filters:"uid=.*,ou=people,o=join" |
前の手順で追加した ACI のプールを使用するように接続ハンドラを設定します。
% dpconf set-connection-handler-prop myjoin1-handler aci-source:myjoin1 |
ここでは、Kirsten Vaughan のエントリを検索し、両方の結合ビューからのデータが取得されるかどうかを確認します。
% ldapsearch -p 1389 -b o=join "uid=kvaughan" |
返されるエントリには、LDAP データビューと JDBC データビューの両方からの属性が含まれていることに注意してください。
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 |