Helix Coreサーバ管理者ガイド: 基本 (2019.1)

LDAPグループを使用した認証

ユーザ認証の設定にバインドメソッドを使用する一方で、組織内の全員が(特に全員が同一のディレクトリに存在するような場合に)Helixサーバへログインできるようにはしたくない場合があるとします。このようなときは、代わりにそのディレクトリに認証済のユーザのみを含むグループオブジェクトを作成します。LDAPの新しい反映によって、グループのメンバー構成のチェックがサポートされるようになりました。

LDAPグループは検索バインドメソッドと同様の働きをします。LDAP検索クエリにより、ユーザが許可されるグループのメンバーであるか判断されます。また、検索のベースと範囲を使用するかどうかも判断されます。例えば、LDAPディレクトリにperforceという名前でHelixサーバへのアクセスがユーザに許可されているグループがある場合、その構成は以下のようになります。

GroupBaseDN:    ou=groups, dc=example, dc=com
GroupSearchFilter:   (&(objectClass=posixGroup) (cn=perforce) (memberUid=%user%))
GroupSearchScope:    subtree

Active DirectoryのグループオブジェクトはOpenLDAPのグループオブジェクトとわずかながら異なります。OpenLDAPにはメンバーのユーザ名のリストではなく、メンバーの完全なDNのリストが含まれます。通常これらを簡単に一致させることはできませんが、メンバーのユーザオブジェクトに追加される後方参照であれば一致させることができます。したがって、Active Directoryへ照会してグループの認証をする場合、ユーザのユーザオブジェクトを検索して、そのグループへのmemberOfの参照がないか探す必要があります。以下に例を示します。

GroupBaseDN:    ou=users, dc=example, dc=com
SearchFilter:   (&(objectClass=user) (sAMAccountName=%user%) (memberOf=cn=perforce,ou=groups,dc=example,dc=com))
SearchScope:    subtree