10.3. ロールおよび LDAP ユーザーグループ
10.3.1. グループ承認について
多くの LDAP ディレクトリーには、JBoss ON のリソースにアクセスする必要のあるユーザーを含む組織グループがすでに含まれています。JBoss ON を設定してこれらのディレクトリーに接続するように設定すると、JBoss ON では LDAP グループをロールに割り当て、それらのメンバー一覧を動的にプルするため、ロールには既存のメンバーリストが設定されます。すべての LDAP ユーザーが、そのロールのパーミッションを自動的に継承します。
ロールの詳細ページでは、これらの LDAP ユーザーグループはリソースグループから分離されるため、ロールに追加されているグループのタイプを簡単に区別できます。
図10.2 ロールに割り当てられたグループ
JBoss ON は、シンプルな検索でユーザーが所属する LDAP グループを決定します。ユーザーが JBoss ON にログインして LDAP 接続が設定されると、JBoss ON は JBoss ON のユーザー名を LDAP ディレクトリーサーバーのユーザーエントリーにマッピングします。ユーザーの特定の LDAP 識別名(DN)は、LDAP グループエントリーで一致するメンバー属性を見つけるために検索の一部として使用されます。つまり、LDAP サーバーはグループエントリーのメンバー一覧を確認して、その DN を持つユーザーが所属するグループを確認できます。
LDAP グループをロールに追加するには、以下の 3 つの項目が必要です。
- LDAP ディレクトリーサーバー接続を設定する必要があります。
- グループエントリー を検索するには、LDAP 属性を指定する必要があります。Active Directory の場合、これは一般的に group オブジェクトクラスになります。Red Hat Directory Server の場合、これは通常です groupOfUniqueNames。他の標準オブジェクトクラスも利用でき、JBoss ON 固有のオブジェクトクラスであってもカスタムを使用することもできます。
- グループの メンバー を識別するために LDAP 属性を指定する必要があります。一般的なメンバー属性は
member
およびですuniqueMember
。
JBoss ON は、サーバー設定のグループオブジェクトクラスと member 属性、およびユーザーがログインしたときに提供されたユーザーの DN を基にして LDAP 検索を構築します。
(&(group_filter)(member_attribute=user_DN))
たとえば、Active Directory グループの
member
属性を検索します。
ldapsearch -h server.example.com -x -D "cn=Administrator,cn=Users,dc=example,dc=com" -W -b "dc=example,dc=com" -x '(&(objectclass=group)(member=CN=John Smith,CN=Users,DC=example,DC=com))'
Red Hat Directory Server は
member
、およびよりも一般的に groupOfUniqueNames グループの uniqueMember
属性を使用し group
ます。例:
/usr/lib64/mozldap6/ldapsearch -D "cn=directory manager" -w secret -p 389 -h server.example.com -b "ou=People,dc=example,dc=com" -s sub "(&(objectclass=groupOfUniqueNames)(uniqueMember=uxml:id=jsmith,ou=People,dc=example,dc=com))"
この検索は、ユーザーがメンバーとなっているすべてのグループの一覧を返します。これらの LDAP グループのいずれかが JBoss ON ロールに割り当てられている場合、そのユーザーはその JBoss ON ロールでも自動的にメンバーになります。
注記
カスタム LDAP グループオブジェクトクラスを使用すると、JBoss ON ロールに使用するグループを非常に具体的に指定することができます。
10.3.2. LDAP ユーザーグループをロールに関連付ける
「LDAP ユーザー認証の設定」 LDAP ディレクトリーサーバーが JBoss ON に対してユーザーを認証する方法について説明しています。ユーザーがログインを試みるたびに、その要求(ユーザー名およびパスワードを使用)は、指定の LDAP ディレクトリーに簡単に転送され、認証情報が正しいかどうかを確認します。
LDAP グループのメンバーは、JBoss ON ロールのメンバーとしてプルできます。LDAP グループは JBoss ON ロールに関連付けられ、グループメンバーは JBoss ON ロールが 許可 されるように許可されます。LDAP グループメンバーに加えられた変更は、JBoss ON ロールを編集しなくても自動的に JBoss ON に反映されます。
- トップメニューで、Administration タブをクリックします。
- 左側の Configuration メニューテーブルで、System Settings 項目を選択します。
- その LDAP Configuration Properties エリアにジャンプします。
- の説明に従って、LDAP 接続を設定し 「LDAP ユーザー認証の設定」 ます。LDAP ディレクトリーを LDAP 承認を設定するためにアイデンティティーストアとして使用する必要はありませんが、推奨されます。
- サーバーが LDAP グループとそのメンバーを検索するために使用するパラメーターを設定します。JBoss ON 構成する検索フィルターは以下のようになります。
(&(group_filter)(member_attribute=user_DN))
- Group Search Filter フィールドは、グループエントリーの検索方法を設定します。これは通常、オブジェクトクラスで検索するグループのタイプを指定して行います。
(objectclass=groupOfUniqueNames)
- この Group Member Filter フィールドは、指定されたグループタイプがメンバーの識別名を保存するために使用する属性を指定します。例:
uniqueMember
user_DN は、ユーザーが UI にログインする際に JBoss ON によって動的に提供されます。 - LDAP 設定を保存します。