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=langroup_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を再起動して、変更内容を適用します。
