5.5. unicornidm.template.ldap(5)¶
5.5.1. 概要¶
unicornidm.conf, templates/<name>.py
5.5.2. 説明¶
バックエンドセクションのうち、 type が ldap となっているバックエンドは、 LDAP サーバーへの接続に関する設定を行います。
各バックエンドには必ずテンプレートファイルを用意する必要があります。 テンプレートファイルとは Unicorn ID Manager の任意属性 (フロントエンド属性) を バックエンド固有の属性 (バックエンド属性) にマッピングするためのものです。
5.5.3. パラメーター¶
- type
- バックエンドのタイプを指定します。
- uris
- LDAP URI を指定します。カンマ区切りで複数の URI を指定できます。 URI が複数ある場合、通常先頭の URI への接続が実行され、失敗すれば、 次の URI への接続を試みます。
- bind_user
- LDAP サーバーへ接続する際に使用する BIND DN を指定します。
- bind_password_file
- LDAP サーバーへ接続する BIND DN のパスワード情報を格納したファイルパスを指定します。
- suffix
- 接続する LDAP サーバーの DIT (Directory Information Tree) の suffix を指定します。
- suffix_user
- 接続する LDAP サーバーでユーザー情報が格納されているツリーを指定します。 例えば、 ou=Users,%(suffix)s と指定します。なお、ここで利用している %(...)s という形式は別のパラメーターの値を変数として利用することを意味します。ここでは suffix パラメーターの値に置き換えられます。
- suffix_group
- 接続する LDAP サーバーでグループ情報が格納されているツリーを指定します。
- filter_user
- ユーザー検索時に使用するフィルターを指定します。 デフォルト値は (&(objectClass=posixAccount)(uid=*)) です。
- filter_group
- グループ検索時に使用するフィルターを指定します。 デフォルト値は (&(objectClass=posixGroup)(cn=*)) です。
- backend_primary_key_user
- ユーザーの RDN を指定します。 デフォルト値は uid です。
- backend_primary_key_group
- グループの RDN を指定します。 デフォルト値は cn です。
- member_keys
- グループのメンバーに該当するバックエンド属性名を指定します。 カンマ区切りで複数指定することもできます。 デフォルト値は memberUid です。
- assign_auto_uid_number
- ユーザーの uidNumber を自動生成するかのフラグです。 デフォルト値は yes (uidNumber を自動生成する) です。
- assign_auto_uid_number_min
- ユーザーの uidNumber を自動生成する際、 uidNumber に割り当てる最小値 を指定します。デフォルト値はありません。
- assign_auto_uid_number_max
- ユーザーの uidNumber を自動生成する際、 uidNumber に割り当てる最大値 を指定します。デフォルト値はありません。
- assign_auto_gid_number
- グループの gidNumber を自動生成するかのフラグです。 デフォルト値は yes (gidNumber を自動生成する) です。
- assign_auto_gid_number_min
- グループの gidNumber を自動生成する際、 gidNumber に割り当てる最小値 を指定します。デフォルト値はありません。
- assign_auto_gid_number_max
- グループの gidNumber を自動生成する際、 gidNumber に割り当てる最大値 を指定します。デフォルト値はありません。
- password_hash
パスワードのハッシュアルゴリズムを指定します。 指定可能な値は以下です。
MD5 パスワードを md5 でハッシュ化 SHA パスワードを sha1 でハッシュ化 SHA256 パスワードを sha256 でハッシュ化 SHA384 パスワードを sha384 でハッシュ化 SHA512 パスワードを sha512 でハッシュ化 SSHA パスワードを salt sha1 でハッシュ化 SSHA256 パスワードを salt sha256 でハッシュ化 SSHA384 パスワードを salt sha384 でハッシュ化 SSHA512 パスワードを salt sha512 でハッシュ化 CRYPT パスワードを crypt でハッシュ化 CRYPT-MD5 パスワードを md5 crypt でハッシュ化 CRYPT-SHA256 パスワードを sha256 crypt でハッシュ化 CRYPT-SHA512 パスワードを sha512 crypt でハッシュ化 PBKDF2 パスワードを sha1 PBKDF2 でハッシュ化 PBKDF2-SHA256 パスワードを sha256 PBKDF2 でハッシュ化 PBKDF2-SHA512 パスワードを sha512 PBKDF2 でハッシュ化
デフォルト値は CRYPT-SHA512 です。
- password_hash_iteration
- パスワードハッシュアルゴリズムを PBKDF2 シリーズのどれかに指定した時に 有効なパラメーターです。このパラメーターにより、ハッシュ回数を指定できます。 デフォルト値は 10000 です。
5.5.4. テンプレート¶
以下は、 ldap のテンプレートファイルの例です。
User = {
"objectClass": [
"top",
"person",
"organizationalPerson",
"inetOrgPerson",
"posixAccount",
],
"uid": userName,
"cn": userName,
"uidNumber": default(uidNumber),
"gidNumber": default(gidNumber, 100),
"loginShell": default(loginShell, "/bin/bash"),
"homeDirectory": default(unixHomeDirectory, "/home/%(userName)s"),
"sn": familyName,
"givenName": givenName,
"userPassword": password,
"mail": mail,
"description": default(description),
"displayName": default(displayName, "%(familyName)s %(givenName)s"),
}
Group = {
"objectClass": [
"top",
"posixGroup",
],
"cn": groupName,
"gidNumber": default(gidNumber),
"description": default(description),
}
注意すべき点は以下のとおりです。
- User と Group の辞書には必ず、 objectClass を list 型で指定する必要があること
- objectClass で必須のバックエンド属性を必ず含めること
5.5.5. ldap バックエンド特有のバックエンド属性¶
- parentOu
parentOu バックエンド属性はユーザーやグループの所属 OU を指定するための バックエンド属性です。この値がセットされた場合、 parentOu と suffix パラメーターを結合したサフィックスが適用されます。 parentOu が存在しない場合 suffix_user か suffix_group が適用されます。
例:
backend_primary_key_user = "uid" userName = "user1 parentOu = "ou=org1" suffix = "dc=example,dc=com" suffix_user = "ou=Users,%(suffix)s" ===> "uid=user1,ou=org1,dc=example,dc=com" backend_primary_key_user = "uid" userName = "user1 parentOu = None suffix = "dc=example,dc=com" suffix_user = "ou=Users,%(suffix)s" ===> "uid=user1,ou=Users,dc=example,dc=com"
バージョン v3.3.0 で追加: parentOu で所属 OU を変更できるようになりました。