組織は、従業員の既存のLDAP認証を利用して、sesinetdでの認証を制御することができます。
LDAPの設定 ¶
組織によってはLDAP導入環境が若干異なるため、sesinetdが組織のLDAPに対してユーザ認証を行なう際に必要となる様々なプロパティを定義するために、YAML設定ファイルを使用します。
設定プロパティ
server_url
組織のLDAPサーバーURL。
bind_as_auth_user
trueに設定すると、LDAP認証に成功した後に、サーバーを強制的にデフォルトの認証にバインドし直すのではなくて、そのLDAP接続を認証ユーザとしてバインドしたままにします。
bind_dn
LDAPサーバへのバインド時に使用する識別名(DN)。 これは、ユーザ認証以外のすべてのLDAPコールで使用されます。 代わりに、ユーザのDNとパスワードが使用されます。
bind_dn_password
bind_dnで使用するパスワード。
user_search
-
dn: ユーザ検索フィルタの一部として使用する識別名。 -
scope: 検索範囲を指定します。base、onelevel、subtreeのどれかを指定することができます。 -
filter: ユーザ検索フィルタを指定します。
group_search
-
dn: ユーザのグループを検索するために使用する識別名。 -
scope: 検索範囲を指定します。base、onelevel、subtreeのどれかを指定することができます。 -
filter: グループ検索のフィルタを指定します。
group_type
-
type:group_searchが返すグループのタイプを指定します。現在のところ、posix_groupのみがサポートされているグループタイプです。 -
name_attr: グループ検索後に返される情報からグループ名を取得するために、ライセンスサーバーの名前アトリビュートを指定します。
user_attrib_map
重要なユーザ情報をLDAPユーザ情報アトリビュートにマッピングするための情報をライセンスサーバーに用意します。
-
first_name: ユーザのファーストネームに対応するユーザアトリビュート名を指定します。 -
last_name: ユーザのラストネームに対応するユーザアトリビュート名を指定します。 -
email: ユーザのメールアドレスに対応するユーザアトリビュート名を指定します。
always_update_user
trueに設定すると、ユーザがログインする度に、LDAP情報から最新の値でユーザ情報が更新されます。
cache_timeout
この値は、ユーザのグループメンバーシップと識別名(DN)がキャッシュされる秒数を決定します。 デフォルトは0で、キャッシュが無効化されます。 これは、LDAPサーバに負荷がかかりすぎるため、プロダクション環境での使用は推奨しません。
サンプルのLDAP設定ファイル ¶
server_url: "ldap://ldap1.myorg.com" bind_as_auth_user: false bind_dn: "cn=mylicenseadmin,dc=myorg,dc=com" bind_dn_password: "my bind dn password" user_search: dn: "ou=people,dc=myorg,dc=com" scope: "subtree" filter: "(uid={user})" group_search: dn: "ou=groups,dc=myorg,dc=com" scope: "subtree" filter: "(objectClass=posixGroup)" group_type: type: "posix_group" name_attr: "cn" user_attrib_map: first_name: "givenName" last_name: "sn" email: "mail" always_update_user: true cache_timeout: 300