LDAPの構成
ユーザーがOpsCenterにアクセスする権限を管理するためのLDAP(Lightweight Directory Access Protocol)を構成します。
ユーザーがOpsCenterにアクセスするためのLDAP(Lightweight Directory Access Protocol)を構成します。
LDAP構成は柔軟性が高く、OpsCenter内で多くの構成オプションを使用できます。使用可能なすべての[ldap]
構成オプションの詳細については、「OpsCenter構成プロパティ」を参照してください。この手順では、ユーザーを認証するためにユーザー・カテゴリーとグループ・カテゴリーの両方でユーザーを検索することに基づく基本的な構成例を示します。
始める前に
- 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つのロールを持つ必要があります。 注: LDAPで複数のロールを持っていても、OpsCenterのロールは1つしか持つことができません。OpsCenterロールが
group_search_filter_with_dn
フィルターで得られた複数のユーザー・ロールと一致する場合、OpsCenterはユーザーに付与するロールを決定できないため、認証は失敗します。「LDAPのトラブルシューティング」を参照してください。
opscenterd.conf
opscenterd.confファイルの場所は、インストールのタイプによって異なります。
- パッケージ・インストール:/etc/opscenter/opscenterd.conf
- tarボール・インストール:install_location/conf/opscenterd.conf
passwd.db
OpsCenter認証のパスワード・データベースpasswd.dbのデフォルトの場所は、インストールのタイプによって異なります。
- パッケージ・インストール:/etc/opscenter/passwd.db
- tarボール・インストール:install_location/passwd.db
手順
- 編集するopscenterd.confファイルを開きます。
-
[authentication]
セクションに次のオプションを追加します。オプション 説明 passwd_db ./ 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に追加します。オプション 説明 server_host LDAPサーバーのホスト名。 server_port LDAPサーバーがリッスンするポート。たとえば、389や636などです。389はSSL LDAPおよびAD以外のデフォルトのポートです。636はSSL LDAPおよびADのデフォルトのポートです。ポートの詳細については、「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実装を使用し、デフォルト:False。user_memberof_attribute
がisMemberOf
に設定されている場合は、このオプションをTrueに設定する必要があります。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秒。 次の構成例は、一般的な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
はdirectory_search
です。14
行目と15
行目の#user_search_base
と#user_search_filter
はコメントアウトされていますが、これらは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)の場合を示しています。上記のOpenLDAPまたはOracleのLDAPの例とは異なり、このAD構成では、Active Directory構成オプションのuser_search_base
(12
行目)とuser_search_filter
(13
行目)を使用しています。ADの場合、12
行目のユーザー検索ベースが異なることにも注意してください。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
- OpsCenterを再起動して、変更内容を適用します。