4.3. unicornidm.conf(5)¶
4.3.1. 概要¶
unicornidm.conf
4.3.2. 説明¶
unicornidm.conf は Unicorn ID Manager の設定ファイルです。このファイルは Python の configparser モジュールを利用して読み込まれます。 configparser モジュールの詳細 については、 https://docs.python.org/3/library/configparser.html をご覧ください。
unicornidm.conf は大きく分けて次のセクションで構成されています。
- メインセクション
- Unicorn ID Manager サービス全体に及ぶ設定を記述するセクションです。
- ターゲットセクション
- ターゲットに関するセクションです。ターゲットがどのバックエンドに紐付いているか、 どのようなパスワードポリシーを適用するかを定義します。
- バックエンドセクション
- バックエンドに関するセクションです。バックエンドへの接続用パラメーターなどを 定義します。バックエンドセクションはバックエンドの type によって設定パラメーター が異なります。なお、バックエンドセクションにはかならずテンプレートファイルが 必要になります。テンプレートファイルは unicornidm.conf と同じディレクトリにある、 templates ディレクトリ内に、 <name>.py のファイル名で登録します。 <name> はバックエンド の名前です。
- SCIM 属性マッピングセクション
- SCIM 属性と任意に定義したフロントエンド属性 (Unicorn ID Manager で使用する属性) との マッピングのためのセクションです。
- クライアントセクション
- Unicorn ID Manager に付属する unicornidm-tool(8) で使用されるセクションです。
4.3.3. メインセクション¶
メインセクションは [__main__] という名前のセクションで定義されます。 ここでは以下のパラメーターを定義できます。
- debug_level
Unicorn ID Manager のデバッグレベルを定義します。定義可能な値は以下のとおりです。
DEBUG すべてのデバッグログを出力 INFO DEBUG を除いたデバッグログを出力 WARNING DEBUG, INFO を除いたデバッグログを出力 ERROR DEBUG, INFO, WARNING を除いたデバッグログを出力 CRITICAL DEBUG, INFO, WARNING, ERROR を除いたデバッグログを出力
- debug_file
- Unicorn ID Manager のデバッグ情報を出力するファイルパスを定義します。
- targets
- ターゲット一覧をカンマ区切りで定義します。
- session_time_out
- ログインしたアカウントのセッションタイムアウト (単位: 秒) を定義します。 デフォルト値は 3600 です。
- password_cache_duration
- ランダム生成されたパスワードを保持する期間 (単位: 秒) を設定します。 デフォルト値は 86400 です。
- items_per_page
- ユーザーやグループの一覧取得時に出力する項目数を指定します。 デフォルト値は 20 です。
- multi_valued_attributes
- 複数値を持つフロントエンド属性をカンマ区切りで指定します。 デフォルト値は mail,phoneNumbers,img,photo,streetAddress,locality,region,postalCode,country,entitlement,role,x509Certificate,azureLicense です。
- user_viewable_attributes
- ユーザー一覧取得時に出力するフロントエンド属性名をカンマ区切りで定義します。 デフォルト値は userName,familyName,givenName です。
- group_viewable_attributes
- ユーザー一覧取得時に出力するフロントエンド属性名をカンマ区切りで定義します。 デフォルト値は groupName,description です。
- admin_lockout_policy_duration
- 管理者のロックアウト期間 (単位: 秒) を定義します。デフォルト値は 3600 です。
- admin_lockout_policy_max_failure
- 管理者が連続で何回ログインに失敗したあとにロックアウトするかを定義します。 デフォルト値は 3 です。
- admin_lockout_policy_failure_count_interval
- 認証失敗時刻の情報が存続する期間 (単位: 秒) を定義します。 デフォルト値は 1800 です。この値を 0 にした場合、 認証失敗時刻情報が削除されないため、 lockout_policy_max_failure で 定義した回数だけ連続で認証が失敗すれば、たとえどんなに期間を空けても 必ずロックアウトされます。
4.3.4. ターゲットセクション¶
ターゲットセクションは [target:<name>] という名前のセクションで定義されます。 <name> はメインセクションの targets で列挙したうちのターゲット名になります。
たとえば、以下のようになります。
[__main__]
targets = Sales, Finance, Tech
[target:Sales]
...
[target:Finance]
...
[target:Tech]
...
ターゲットセクションでは以下のパラメーターを定義できます。
- backends
- ターゲットに紐づくバックエンドをカンマ区切りで定義します。
- password_policy_max
- パスワードポリシーのうち、パスワードの最大長を定義します。 デフォルト値は 16 です。
- password_policy_min
- パスワードポリシーのうち、パスワードの最小長を定義します。 デフォルト値は 8 です。
- password_policy_upper
- パスワードポリシーのうち、パスワードに含めなければならない英大文字の数を定義します。 デフォルト値は 1 です。
- password_policy_lower
- パスワードポリシーのうち、パスワードに含めなければならない英小文字の数を定義します。 デフォルト値は 1 です。
- password_policy_symbol
- パスワードポリシーのうち、パスワードに含めなければならない印字 ASCII 記号の数を 定義します。デフォルト値は 0 です。
- password_policy_digit
- パスワードポリシーのうち、パスワードに含めなければならない数字の数を定義します。 デフォルト値は 1 です。
- password_policy_complexity
- パスワードポリシーのうち、パスワードの複雑性を定義します。 具体的には、英大文字、英小文字、記号、数字という 4 つのカテゴリのうち、 いくつのカテゴリをパスワードに含める必要があるかを定義します。 デフォルト値は 3 です。
- password_policy_prohibited
- パスワードポリシーのうち、パスワードに含めてはならない文字 (禁止文字) を定義します。 デフォルト値は空文字 (禁止文字はなし) です。
- password_policy_must_not_contain_name
- パスワードポリシーのうち、パスワードにユーザーの名前を含めてよいかどうかを定義します。 デフォルト値は true (名前を含めてはならない) です。
- password_policy_must_be_different_from_old
- パスワードポリシーのうち、パスワードが 1 つ前のパスワードと異なる必要が あるかを定義します。デフォルト値は true (異なる必要がある) です。
- password_policy_must_be_various
- パスワードポリシーのうち、パスワードが多様な種類の文字で構成される必要があるか を定義します。です。 true (多様である必要がある) です。
- password_policy_must_be_disorder
- パスワードポリシーのうち、パスワードが不規則である必要があるがあるかを定義します。 デフォルト値は true (不規則である必要がある) です。
- password_policy_dictionary_path
- パスワードポリシーのうち、パスワードが辞書に含まれていないものである必要が あるかを定義します。 デフォルト値はありません。
- password_policy_message_path
- 一般ユーザーなどのパスワード変更画面で、ユーザーオリジナルのポリシーメッセージが 格納されたファイルパスを定義します。デフォルト値はありません。
- password_policy_random_prohibited
- パスワード自動生成時に使用を禁止する文字列を定義します。 デフォルト値は印字可能なすべての ASCII 記号です。
- password_policy_random_length
- パスワード自動生成時に使用されるパスワード文字数です。 デフォルト値は 8 です。
- lockout_policy_duration
- ユーザーのロックアウト期間 (単位: 秒) を定義します。デフォルト値は 3600 です。
- lockout_policy_max_failure
- ユーザーが連続で何回ログインに失敗したあとにロックアウトするかを定義します。 デフォルト値は 3 です。
- lockout_policy_failure_count_interval
- 認証失敗時刻の情報が存続する期間 (単位: 秒) を定義します。 デフォルト値は 1800 です。この値を 0 にした場合、 認証失敗時刻情報が削除されないため、 lockout_policy_max_failure で 定義した回数だけ連続で認証が失敗すれば、たとえどんなに期間を空けても 必ずロックアウトされます。
- extension_ldap_ppolicy_unlock
- ldap_ppolicy_unlock 拡張を利用するかどうかを定義します。この拡張は ldap バックエンドが OpenLDAP でかつ、 ppolicy overlay を利用してアカウントロックを 実装している場合に、ロック状態のアカウントをブラウザーからアンロックできるようにする 機能です。デフォルト値は no (ldap_ppolicy_unlock 拡張は利用しない) です。
4.3.5. バックエンドセクション¶
バックエンドセクションは [backend:<name>] という名前のセクションで定義されます。 <name> はターゲットセクションの backends で列挙したうちのバックエンド名になります。
たとえば、以下のようになります。
[__main__]
targets = Sales, Finance, Tech
[target:Sales]
backends = b1, b2
[target:Finance]
backends = b2
[target:Tech]
backends = b3
[backend:b1]
...
[backend:b2]
...
[backend:b3]
...
バックエンドセクションはバックエンドのタイプによって定義可能なパラメーターが異なります。 詳細は unicornidm.template.ldap(5) unicornidm.template.samba_ldap(5) unicornidm.template.ad(5) unicornidm.template.google(5) unicornidm.template.azure(5) unicornidm.template.command(5) をご覧ください。
4.3.6. SCIM 属性マッピングセクション¶
SCIM 属性マッピングセクションには [scim-attribute-map-user] というセクションと、 [scim-attribute-map-group] というセクションがあります。それぞれ、ユーザー向けと グループ向けの SCIM 属性マッピングを行います。
SCIM 属性マッピングとは、 SCIM で定義されている属性と Unicorn ID Manager で 使用する任意のフロントエンド属性とをマッピングする機構です。
たとえば、以下のように定義します。
[scim-attribute-map-user]
externalId = userName
name.givenName = givenName
この場合、ユーザー情報を扱う際、 SCIM の externalId を Unicorn ID Manager の userName に、 name.givenName を Unicorn ID Manager の givenName にマッピングします。
SCIM 属性に . (ドット) を含まなければそのまま Unicorn ID Manager のフロントエンド属性に マッピングされます。 . を含む場合、その SCIM 属性は Complex 属性である必要があります。
4.3.7. クライアントセクション¶
クライアントセクションは unicornidm-tool(8) で利用されます。詳細は unicornidm-tool(8) をご覧ください。
4.3.8. 例¶
FIXME