LDAPの構成
ユーザーがOpsCenterにアクセスする権限を管理するためのLDAP(Lightweight Directory Access Protocol)を構成します。
ユーザーがOpsCenterにアクセスするためのLDAP(Lightweight Directory Access Protocol)を構成します。
LDAP構成は柔軟性が高く、OpsCenter内で多くの構成オプションを使用できます。使用可能なすべての[ldap]
構成オプションの詳細については、「OpsCenter構成プロパティ」を参照してください。この手順では、ユーザーを認証するためにユーザー・カテゴリーとグループ・カテゴリーの両方でユーザーを検索することに基づく基本的な構成例を示します。
passwd.db
OpsCenter認証のパスワード・データベースpasswd.dbのデフォルトの場所は、インストールのタイプによって異なります。- パッケージ・インストール:/etc/opscenter/passwd.db
- tarボール・インストール:install_location/passwd.db
opscenterd.conf
opscenterd.confファイルの場所は、インストールのタイプによって異なります。- パッケージ・インストール:/etc/opscenter/opscenterd.conf
- tarボール・インストール:install_location/conf/opscenterd.conf
始める前に
- Microsoft Active Directory:
- Windows 2008
- Windows 2012
- OpenLDAP 2.4.x
- Oracle Directory Server Enterprise Edition 11.1.1.7.0
その他の要件:
- 標準のOpsCenter認証で開始し、その後、LDAP実装に切り替えた場合、古い passwd.dbファイルを編集します。
- ロール:LDAPグループを使用する場合は、LDAPのユーザー・ロール名とパーミッションをOpsCenterで作成してミラーリングします。ロール・パーミッションは、LDAPではなくOpsCenterに格納します。LDAPが有効になっている場合、ユーザーがOpsCenterにログインできるようにするには、少なくとも1つのロールを持つ必要があります。
手順
- 編集する opscenterd.conf ファイルを開きます。
-
[authentication]
セクションに次のオプションを追加します。オプション 説明 passwd_db 必要なOpsCenterユーザー・ロール情報が含まれています。 enabled True
に設定して、LDAP認証を有効にします。authentication_method Active Directoryを構成するかどうかにかかわらず、 LDAP
に設定します。[authentication] passwd_db = ./passwd.db enabled = True authentication_method = LDAP
-
使用するLDAPサーバーの構成を設定します。LDAP実装に応じて以下のLDAPサーバー・オプションを使用して、
[ldap]
セクションをopscenterd.confに追加します。次のテーブルを展開して、使用可能なオプションを表示します。また、SSL LDAP構成とActive Directory構成を理解するには、構成例を参照してください。
LDAPサーバー・オプション
オプション 説明 server_host LDAPサーバーのホスト名。 server_port LDAPサーバーがリッスンするポート。たとえば、389や636などです。 ポートの詳細については、「OpsCenterポート」を参照してください。 uri_scheme LDAPv2環境では、TLSは一般に、通常のLDAP URIスキームではなくLDAPセキュアURIスキームを使用して起動されます。OpenLDAPコマンドライン・ツールを使用すると、-HフラグとURI ldap.conf(5)オプションとともにいずれかのスキームを使用できます。 ldap_security
= Noneの場合はデフォルトでldap
に設定され、ldap_security
= SSLまたはTLSの場合はデフォルトでldaps
に設定されます。search_dn LDAPサーバーで別のユーザーを検索するのに使用されるユーザーの名前。ユーザーがLDAPで認証しようとすると、OpsCenterはLDAP内のユーザーを検索して、ユーザーが存在するかどうかと、ユーザーが関連付けられているロールを探索します。検索ユーザーがLDAPシステム内で持っている必要があるのは、LDAP検索を実行できるパーミッションのみです。 注:search_dn
とsearch_password
(LDAPでユーザーを特定するための検索ユーザー・エントリ・ポイントを構成する)が構成で省略されている場合、LDAPはユーザー検索を実行するために匿名バインドを行います。search_password search_dn
ユーザーのパスワード。user_search_base ドメインの検索ベース。ユーザーの検索に使用します。LDAPドメインの ou
およびdc
要素を設定します。たとえば、ou=users,dc=domain,dc=top level domain
に設定できます。具体的には、ou=users,dc=example,dc=com
のようになります。Active Directoryは別のユーザー検索ベースを使用します。例を次に示します。
CN=search,CN=Users,DC=Active Directory domain name,DC=internal
です。具体的には、CN=search,CN=Users,DC=example-sales,DC=internal
のようになります。user_search_filter ユーザーを一意に識別するために使用されるLDAP検索フィルター。 デフォルトの設定は (uid={0})
で、ユーザーの一意識別子でユーザーを検索します。{0}変数の値は、OpsCenterにログインするときに入力するユーザー名です。Active Directoryを使用する場合は、フィルターを
(sAMAccountName={0})
に設定します。注: Active Directoryに検索フィルタを使用する場合、OpsCenterには既知の制限事項があります。「LDAPのトラブルシューティング」を参照してください。group_search_base グループを検索するために使用されるLDAP検索ベース。たとえば、 ou=groups,dc=qaldap,dc=datastax,dc=lan
group_search_filter 廃止予定。ユーザーのグループを検索するために使用されるLDAP検索フィルター。たとえば、 (member=cn={0},ou=users,dc=nodomain)
group_search_base
内で、cn
に基づいてメンバーをフィルター処理します。この構成オプションが既に設定されている既存のAD実装の場合、group_search_filter_with_dn
は戻り値をユーザーのDNで上書きします。group_search_filter_with_dn ユーザーのグループを検索するために使用されるLDAP検索フィルター。ユーザー検索で得られたユーザーの完全なDNを使用します。廃止予定のgroup_search_filterをオーバーライドします。たとえば、(member={0})。 group_name_attribute グループの名前を識別するために使用されるLDAPフィールド名。たとえば、cnなどです。 admin_group_name 管理者グループ名、または管理者グループ名のコンマ区切りリスト。たとえば、admin, superusersなどです。OpsCenterは、 admin_group_name
リストで指定されたロールの管理者パーミッションを持つロールを自動的に作成します。制限されたLDAP文字はエスケープします。グループ名にコンマ「,」などの制限されたLDAP文字が含まれている場合は、それらをエスケープする必要があります。たとえば、「foo , bar」と「baz」という2つの管理者グループを指定するには、「foo \, bar, baz」と入力します。user_memberof_attribute グループ・メンバーシップ情報が含まれているユーザー・エントリーの属性に設定します。 group_search_type
でmemberof_search
を使用する場合はこのオプションを設定します。OpsCenterでは、ユーザー・ロールの決定に別の方法を使用できます。LDAPでユーザーに一致するロールをディレクトリー検索するのではなく、
memberof_search
を使用すると、ユーザーのみを検索します。この場合、ユーザーのどの属性を検索するかを指定できます。たとえば、OpsCenterでopscenter_role
などの新しい属性を持つユーザーを定義し、そのユーザーのロールを追加することができます。OpsCenterがそのユーザー属性を検索できるように、新しい属性の値を指定します。group_search_type ユーザーのグループ・メンバーシップの決定方法を定義します。使用可能なオプションは以下のとおりです。 directory_search
:(デフォルト)結果をフィルター処理するには、group_search_filter
を使用してgroup_search_base
のサブツリー検索を実行します。memberof_search
:ユーザーのuser_memberof_attribute
からグループを取得します。このオプションを使用するには、ディレクトリー・サーバーがmemberofをサポートしている必要があります。グループ検索にdirectory_search
ではなくmemberof_search
を使用する場合、group_search_base
オプションまたはgroup_search_filter
オプションを指定する必要はありません。
user_memberof_stores_dn memberof
属性の値がグループの識別名である場合はTrue
に設定します。Active Directory、OpenLDAPを構成する場合、または他のLDAP実装がmemberOf属性値のDNを返す場合は、このオプションをTrue
に設定する必要があります。注: Oracle LDAP実装を使用し、user_memberof_attribute
がisMemberOf
に設定されている場合は、このオプションをTrue
に設定する必要があります。デフォルト:False。
user_memberof_attribute
で指定した属性がOpsCenterのロールに対応する0個以上のグループ名を示している場合は、user_memberof_stores_dn
をFalse
に設定します。たとえば、user_memberof_attribute
がemployeeType
に設定されている場合、employeeType
属性値は識別名でないため、user_memberof_stores_dn
オプションをFalse
に設定します。ヒント:user_memberof_attribute_stores_dn
がFalse
で、ログインに失敗すると、OpsCenterはグループ名がDNであると予想し、次の警告がログに記録されます。[opscenterd] WARN: It looks like you might be using Active Directory for authentication.You may need to set the 'user_memberof_attribute_stores_dn' config value to True and set the group_name_attribute config value appropriately in opscenterd.conf.
ldap_security LDAPで使用するセキュリティの種類:None、TLS、またはSSL。TLSに設定した場合は、TLS起動を使用します。このオプションをTLSまたはSSLに設定すると、 uri_scheme
がLDAPS
に設定されます。このオプションをNoneに設定すると、uri_scheme
がLDAP
に設定されます。truststore SSL証明書のトラストストアのパス。 truststore_type トラストストアのタイプ。デフォルト:JKS(Java Keystore)。 truststore_pass トラストストアにアクセスするためのパスワード。 connection_timeout LDAPサーバーがダウンしていると判定されるまでの待機時間(秒)。デフォルト:20秒。 - OpsCenterを再起動して、変更内容を適用します。
例
SSL LDAP(OpenLDAPまたはOracle)実装
次の構成例は、一般的なSSL LDAP(OpenLDAPまたはOracle)実装の場合を示しています。server_port
値636は、SSL構成の値です。
10
行目と11
行目のsearch_dn
とsearch_password
オプションが省略された場合、LDAPはユーザー検索を実行するために匿名バインドを行います。
この構成例では、ユーザーを認証するためにユーザー・カテゴリー(user_search_base
とuser_search_filter
)とグループ・カテゴリー(group_search_base
とgroup_search_filter
)の両方のユーザーを検索します。group_search_type
(line 19
) is directory_search
.
14
行目と15
行目の#user_search_base
と#user_search_filter
オプションは、コメントアウトされていますが、これらはActive Directory(AD)構成にのみ該当するためです。
01 [authentication]
02 passwd_db = ./passwd.db
03 enabled = True
04 authentication_method = LDAP
05
06 [ldap]
07 server_host = ldap.myCompany.lan
08 server_port = 636
09 uri_scheme = ldaps
10 search_dn = cn=admin,dc=devldap,dc=datastax,dc=lan
11 search_password = ****
12 user_search_base = ou=users,dc=devldap,dc=datastax,dc=lan
13 user_search_filter = (uid={0})
14 #user_search_base = CN=search,CN=Users,DC=datastax,DC=internal # AD base
15 #user_search_filter = (sAMAccountName={0}) # AD filter
16 group_search_base = ou=users,dc=devldap,dc=datastax,dc=lan
17 group_search_filter_with_dn = (member={0})
18 group_name_attribute = cn
19 group_search_type = directory_search
20 admin_group_name = superusers,superusers2
21 ldap_security = SSL_TLS
22 truststore_type = JKS
23 truststore = ./truststore.jks
24 truststore_pass = secret
Windows 2008実装のActive Directory(AD)
次の例は、Windows 2008構成のActive Directory(AD)の場合を示しています。上記のOpenLDAPまたはOracleのLDAPの例とは異なり、このAD構成では、Active Directory構成オプションのuser_search_base
(12
行目)とuser_search_filter
(13
行目)を使用しています。ADの場合、12
行目のADのユーザー検索ベースがLDAPの例とは形式が異なります。
18
行目のuser_memberof_stores_dn
オプションが明示的にTrue
に設定されているため、OpsCenterは17
行目のmemberof
属性の値を識別名(DN)として正しく処理します。user_memberof_stores_dn
オプションは、OpenLDAP構成にも該当します。
01 [authentication]
02 passwd_db = ./passwd.db
03 enabled = True
04 authentication_method = LDAP
05
06 [ldap]
07 server_host = mywin2008.myCompany.lan
08 server_port = 636
09 uri_scheme = ldap
10 search_dn = CN=Administrator,CN=Users,DC=prodwin2008,DC=datastax,DC=lan
11 search_password = ****
12 user_search_base = CN=Users,DC=prodwin2008,DC=datastax,DC=lan # AD base
13 user_search_filter = (sAMAccountName={0}) # AD filter
14 admin_group_name = superusers
15 group_search_type = memberof_search
16 group_name_attribute = cn
17 user_memberof_attribute = memberof
18 user_memberof_stores_dn = True
19 ldap_security = SSL_TLS
20 truststore_type = JKS
21 truststore = /tmp/path_to_truststore_win2008
22 truststore_pass = secret