pentaho:ldap
差分
このページの2つのバージョン間の差分を表示します。
| 次のリビジョン | 前のリビジョン | ||
| pentaho:ldap [2017/06/02 19:11] – 作成 Wiki Editor | pentaho:ldap [2017/06/02 20:22] (現在) – Wiki Editor | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| ====== Pentaho LDAP(Active Directory)設定 ====== | ====== Pentaho LDAP(Active Directory)設定 ====== | ||
| + | Pentaho BIサーバの認証に組織のActive Directoryを利用する。 | ||
| + | |||
| + | 公式のマニュアル | ||
| + | * [[https:// | ||
| + | |||
| + | ===== LDAPの接続設定 ===== | ||
| + | 「=」記号はエスケープが必要 | ||
| + | |||
| + | ここではActiveDirectoryのLDAP機能を利用する。ディレクトリの構造を把握して、適宜対応する。 | ||
| + | |||
| + | ${prefix}/ | ||
| + | contextSource.providerUrl=ldap\:// | ||
| + | contextSource.userDn=[バインド用のユーザ名] | ||
| + | contextSource.password=[バインド用のパスワード] | ||
| + | | ||
| + | // 認証用にユーザを検索するベースツリー | ||
| + | userSearch.searchBase=OU\=people, | ||
| + | // 認証用のフィルタ{0}は入力されたユーザ名に置換される | ||
| + | userSearch.searchFilter=(sAMAccountName\={0}) | ||
| + | | ||
| + | populator.convertToUpperCase=false | ||
| + | | ||
| + | // グループの設定 | ||
| + | // グループのツリーをベースに検索し、member属性にユーザが含まれるものを検索する | ||
| + | populator.groupRoleAttribute=cn | ||
| + | populator.groupSearchBase=CN\=Users, | ||
| + | populator.groupSearchFilter=(member\={0}) | ||
| + | populator.rolePrefix= | ||
| + | // グループ検索は検索ベースツリーのサブツリーも検索する | ||
| + | populator.searchSubtree=true | ||
| + | | ||
| + | // BIサーバ内のファイルやディレクトリの権限設定画面で表示するロール(役割)の一覧を取得する | ||
| + | // 上記のグループ設定で用いたベースツリーでobjectClassがgroupのエントリを検索してリストにする | ||
| + | // ここではサブツリーが検索されないので注意。グループはあまり問題にはならない | ||
| + | allAuthoritiesSearch.roleAttribute=cn | ||
| + | allAuthoritiesSearch.searchBase=CN\=Users, | ||
| + | allAuthoritiesSearch.searchFilter=(objectClass\=group) | ||
| + | | ||
| + | // BIサーバ内のファイルやディレクトリの権限設定画面で表示するユーザの一覧を取得する | ||
| + | // サブツリーが検索されないのでソースを一部修正(後述) | ||
| + | allUsernamesSearch.usernameAttribute=sAMAccountName | ||
| + | allUsernamesSearch.searchBase=OU\=people, | ||
| + | // 複数のOUに所属するユーザを一覧にしたい場合、サブツリーまで検索するようにしたうえで、 | ||
| + | // グループの所属で必要なユーザをフィルタリングする。ここではmemberof属性を利用している | ||
| + | allUsernamesSearch.searchFilter=(& | ||
| + | | ||
| + | // 管理者のグループとユーザを設定 | ||
| + | // 管理者ユーザとグループに設定すると、権限設定の一覧には登場しなくなるようだ | ||
| + | adminRole=CN\=abc_grp, | ||
| + | adminUser=sAMAccountName\=admin_user, | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ===== データアクセスの権限設定 ===== | ||
| + | マニュアルには記載されているが、特に変更しなくても動作するようだ。細かく権限設定をする際には必要かもしれない。 | ||
| + | |||
| + | レポートデザイナー等からのパブリッシュなどもテストして、支障がないか確認する。 | ||
| + | |||
| + | * ${prefix}/ | ||
| + | |||
| + | |||
| + | |||
| + | ===== 認証基盤の切り替え ===== | ||
| + | 内部の認証サービスからLDAP認証に切り替える | ||
| + | |||
| + | ${prefix}/ | ||
| + | // providerをjackrabbitからldapに変更する | ||
| + | provider=ldap | ||
| + | |||
| + | |||
| + | ===== サブツリーを検索するようにソースを改変 ===== | ||
| + | 権限設定画面で表示するユーザの一覧を取得する設定「allUsernamesSearch」では検索ベースだけを検索し、サブツリーを検索しない。 | ||
| + | |||
| + | 一般的には、Pentahoを利用するユーザを特定のOUに入れたりするので、サブツリーを検索しなくても問題がないかもしれないが、設定した環境では利用ユーザが複数のOUに含まれており、検索する必要があった。AD側で対応することも検討したが、同一ユーザを複数のOUに所属させることはできず、エイリアスのような機能も無いようなので、上位からサブツリーを検索して所属グループ等で絞り込みをかけるしかない。そのためには、サブツリーを検索するように設定変更をする必要がある。ログイン時のユーザ検索では、サブツリーを検索するかどうかの設定項目があるのに、ユーザ一覧の検索では設定項目がなく、しかもサブツリーを検索しないのは謎だ。。。 | ||
| + | |||
| + | 以下のファイルに設定を加える。 | ||
| + | |||
| + | ${prefix}/ | ||
| + | <!-- be sure to escape ampersands --> | ||
| + | <bean id=" | ||
| + | class=" | ||
| + | < | ||
| + | < | ||
| + | <bean | ||
| + | class=" | ||
| + | < | ||
| + | < | ||
| + | | ||
| + | //////////////////////////////////////////////////////////// | ||
| + | // この部分を追加 | ||
| + | < | ||
| + | <bean class=" | ||
| + | <!-- 2 comes from http:// | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | //////////////////////////////////////////////////////////// | ||
| + | | ||
| + | </ | ||
| + | </ | ||
| + | < | ||
| + | <bean | ||
| + | class=" | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | XMLの構造を慎重に確認しながら、constructor-arg要素を追加する。javaはよくわからないが、LDAPコネクションを作成する際のコンストラクタに適切なパラメータを渡すことで、検索のスコープを設定しているようだ。javaが理解できれば比較的容易に設定個所を特定できるのだろうが、かなり時間がかかった。一応、決め手のサイトは以下。 | ||
| + | |||
| + | * [[http:// | ||
pentaho/ldap.1496398316.txt.bz2 · 最終更新: by Wiki Editor
