15.3. 外部の LDAP プロバイダーの設定
15.3.1. 外部の LDAP プロバイダーの設定 (対話式の設定)
ovirt-engine-extension-aaa-ldap 拡張機能により、ユーザーは外部ディレクトリーの設定を容易にカスタマイズすることができます。ovirt-engine-extension-aaa-ldap 拡張機能は多数の異なる LDAP サーバータイプをサポートし、大半の LDAP タイプの設定に役立つ対話型の設定スクリプトが提供されます。
対話型の設定スクリプトに LDAP サーバータイプがリストされていない場合や、さらにカスタマイズする必要がある場合には、設定ファイルを手動で編集することができます。詳しい情報は、「外部の LDAP プロバイダーの設定 (手動の設定)」を参照してください。
Active Directory の例は、「Active Directory のアタッチ」を参照してください。
前提条件:
- DNS または LDAP サーバーのドメイン名を知る必要があります。
- LDAP サーバーと Manager の間でセキュアな接続を設定するには、PEM エンコードされた CA 証明書が準備されている必要があります。
- LDAP サーバーに対して検索およびログインのクエリーを実行するには、アカウント名とパスワードのセットを少なくとも 1 つ用意してください。
外部の LDAP プロバイダーの設定
Red Hat Virtualization Manager に LDAP 拡張機能のパッケージをインストールします。
# yum install ovirt-engine-extension-aaa-ldap-setup
ovirt-engine-extension-aaa-ldap-setup
を実行して、対話式の設定を開始します。# ovirt-engine-extension-aaa-ldap-setup
対応する番号を入力して LDAP タイプを選択します。お使いの LDAP サーバーのスキーマがどれだかわからない場合には、LDAP サーバータイプの標準スキーマを選択してください。Active Directory の場合には、「Active Directory のアタッチ」の手順に従ってください。
Available LDAP implementations: 1 - 389ds 2 - 389ds RFC-2307 Schema 3 - Active Directory 4 - IBM Security Directory Server 5 - IBM Security Directory Server RFC-2307 Schema 6 - IPA 7 - Novell eDirectory RFC-2307 Schema 8 - OpenLDAP RFC-2307 Schema 9 - OpenLDAP Standard Schema 10 - Oracle Unified Directory RFC-2307 Schema 11 - RFC-2307 Schema (Generic) 12 - RHDS 13 - RHDS RFC-2307 Schema 14 - iPlanet Please select:
Enter
を押して、デフォルト値を受け入れ、お使いの LDAP サーバー名のドメイン名解決を設定します。It is highly recommended to use DNS resolution for LDAP server. If for some reason you intend to use hosts or plain address disable DNS usage. Use DNS (Yes, No) [Yes]:
DNS ポリシーメソッドを選択します。
- オプション 1 の場合は、/etc/resolv.conf にリストされている DNS サーバーが IP アドレス解決に使用されます。/etc/resolv.conf ファイルが最新の状態で、正しい DNS サーバーの情報が記載されていることを確認してください。
オプション 2 の場合は、LDAP サーバーの完全修飾ドメイン名 (FQDN) または IP アドレスを入力します。
dig
コマンドで SRV レコードを使用してドメイン名を確認することができます。SRV レコードは以下の形式を取ります。_service._protocol.domain_name
例:
dig _ldap._tcp.redhat.com SRV
- オプション 3 の場合は、LDAP サーバーのスペース区切りリストを入力します。サーバーの FQDN または IP アドレスのいずれかを使用します。このポリシーは、LDAP サーバー間のロードバランシングを指定します。クエリーは、ラウンドロビンアルゴリズムに従って、全 LDAP サーバー間で分散されます。
オプション 4 の場合は、LDAP サーバーのスペース区切りリストを入力します。サーバーの FQDN または IP アドレスのいずれかを使用します。このポリシーは、クエリーに応答するデフォルトの LDAP サーバーとなる最初の LDAP サーバーを定義します。最初のサーバーが利用できない場合には、クエリーはこのリストで次に記載されている LDAP サーバーに割り当てられます。
1 - Single server 2 - DNS domain LDAP SRV record 3 - Round-robin between multiple hosts 4 - Failover between multiple hosts Please select:
お使いの LDAP サーバーがサポートするセキュアな接続メソッドを選択し、PEM エンコードされた CA 証明書の取得にそのメソッドを指定します。
-
File
の場合は、証明書へのフルパスを指定することができます。 -
URL
の場合は、証明書の URL を指定することができます。 -
Inline
の場合は、証明書の内容をターミナルにペーストすることができます。 -
System
の場合は、全 CA ファイルのデフォルトの場所を指定することができます。 Insecure
の場合は証明書の検証はスキップされますが、接続は引き続き TLS で暗号化されます。NOTE: It is highly recommended to use secure protocol to access the LDAP server. Protocol startTLS is the standard recommended method to do so. Only in cases in which the startTLS is not supported, fallback to non standard ldaps protocol. Use plain for test environments only. Please select protocol to use (startTLS, ldaps, plain) [startTLS]: startTLS Please select method to obtain PEM encoded CA certificate (File, URL, Inline, System, Insecure): Please enter the password:
注記LDAPS とは、Lightweight Directory Access Protocol Over Secure Socket Link の略語です。SSL 接続の場合には、
ldaps
オプションを選択してください。
-
検索ユーザーの識別名を入力します。このユーザーには、ディレクトリーサーバー上の全ユーザーとグループを参照するパーミッションが必要です。検索ユーザーは、LDAP アノテーションで指定する必要があります。匿名検索が許可されている場合には、入力なしで
Enter
を押してください。Enter search user DN (for example uid=username,dc=example,dc=com or leave empty for anonymous):
uid=user1,ou=Users,ou=department-1,dc=example,dc=com
Enter search user password:ベース DN を入力します。
Please enter base DN (dc=redhat,dc=com) [dc=redhat,dc=com]: ou=department-1,dc=redhat,dc=com
仮想マシンにシングルサインオンを設定する予定の場合には
Yes
を選択してください。この機能は、管理ポータルにシングルサインオンする機能と共には使用できない点に注意してください。スクリプトにより、プロファイル名がドメイン名と一致する必要があることを注意するメッセージが表示されます。『仮想マシン管理ガイド』の「仮想マシンへのシングルサインオン (SSO) 設定」に記載の手順を実行する必要があります。Are you going to use Single Sign-On for Virtual Machines (Yes, No) [Yes]:
プロファイル名を指定します。プロファイル名は、ログインページでユーザーに表示されます。以下の例では
redhat.com
を使用しています。注記ドメインの設定後にプロファイルの名前を変更するには、/etc/ovirt-engine/extensions.d/redhat.com-authn.properties ファイルの
ovirt.engine.aaa.authn.profile.name
属性を編集します。ovirt-engine
サービスを再起動して、変更を有効にします。Please specify profile name that will be visible to users: redhat.com
図15.1 管理者ポータルのログインページ
注記ユーザーは、初回ログイン時にドロップダウンリストからプロファイルを選択する必要があります。この情報は、ブラウザーのクッキーに保管され、次回のユーザーログインでは事前に選択されます。
ログイン機能をテストして、LDAP サーバーが Red Hat Virtualization 環境に適切に接続されていることを確認します。ログインクエリーのために、
ユーザー名
とパスワード
を入力します。NOTE: It is highly recommended to test drive the configuration before applying it into engine. Login sequence is executed automatically, but it is recommended to also execute Search sequence manually after successful Login sequence. Please provide credentials to test login flow: Enter user name: Enter user password: [ INFO ] Executing login sequence... ... [ INFO ] Login sequence executed successfully
ユーザー情報が正しいことを確認します。ユーザー情報が間違っている場合は、
Abort
を選択します。Please make sure that user details are correct and group membership meets expectations (search for PrincipalRecord and GroupRecord titles). Abort if output is incorrect. Select test sequence to execute (Done, Abort, Login, Search) [Abort]:
手動で検索機能をテストすることを推奨します。検索クエリーでは、ユーザーアカウントの場合は
Principal
を、グループアカウントの場合はGroup
を選択します。ユーザーアカウントのグループ情報が返されるようにするには、Resolve Groups
でYes
を選択します。3 つの設定ファイルが作成され、画面の出力に表示されます。Select test sequence to execute (Done, Abort, Login, Search) [Search]: Search Select entity to search (Principal, Group) [Principal]: Term to search, trailing '*' is allowed: testuser1 Resolve Groups (Yes, No) [No]:
設定を完了するには、
Done
を選択します。Select test sequence to execute (Done, Abort, Login, Search) [Abort]: Done [ INFO ] Stage: Transaction setup [ INFO ] Stage: Misc configuration [ INFO ] Stage: Package installation [ INFO ] Stage: Misc configuration [ INFO ] Stage: Transaction commit [ INFO ] Stage: Closing up CONFIGURATION SUMMARY Profile name is: redhat.com The following files were created: /etc/ovirt-engine/aaa/redhat.com.properties /etc/ovirt-engine/extensions.d/redhat.com.properties /etc/ovirt-engine/extensions.d/redhat.com-authn.properties [ INFO ] Stage: Clean up Log file is available at /tmp/ovirt-engine-extension-aaa-ldap-setup-20171004101225-mmneib.log: [ INFO ] Stage: Pre-termination [ INFO ] Stage: Termination
ovirt-engine
サービスを再起動します。作成したプロファイルが管理ポータルと VM ユーザーポータルのログインページで選択できるようになりました。LDAP サーバー上のユーザーアカウントに適切なロールとパーミッション (例: VM ユーザーポータルへのログイン) を割り当てるには、「管理ポータルからのユーザー管理タスク」を参照してください。# systemctl restart ovirt-engine.service
詳しい情報は、/usr/share/doc/ovirt-engine-extension-aaa-ldap-version にある LDAP の認証/承認の拡張機能の README ファイルを参照してください。
15.3.2. Active Directory のアタッチ
前提条件
Active Directory のフォレスト名を知っている必要があります。フォレスト名は、ルートドメイン名とも呼ばれます。
注記ovirt-engine-extension-aaa-ldap-setup ツールを使って設定することのできない、最も一般的な Active Directory 設定の例が、
/usr/share/ovirt-engine-extension-aaa-ldap/examples/README.md
に記載されています。- Manager の /etc/resolv.conf ファイルに、Active Directory のフォレスト名を解決できる DNS サーバーを追加するか、Active Directory DNS サーバーを書き留めておいて、対話型のセットアップスクリプトで要求された時に入力します。
- LDAP サーバーと Manager の間でセキュアな接続を設定するには、PEM エンコードされた CA 証明書が準備されている必要があります。詳しくは、「Manager と LDAP サーバー間の SSL または TLS 接続の設定」を参照してください。
- 匿名の検索がサポートされていない限りは、Active Directory 上で全ユーザーおよびグループを参照するパーミッションのあるユーザーを検索ユーザーとして使用できる必要があります。検索ユーザーの識別名をメモします。Active Directory の管理ユーザーは使用しないでください。
- Active Directory に対して検索およびログインのクエリーを実行するには、少なくとも 1 つのアカウント名とパスワードを用意しておく必要があります。
-
Active Directory のデプロイメントが複数のドメインにまたがる場合には、
/usr/share/ovirt-engine-extension-aaa-ldap/profiles/ad.properties
ファイルに記載された制約に注意してください。
外部の LDAP プロバイダーの設定
Red Hat Virtualization Manager に LDAP 拡張機能のパッケージをインストールします。
# yum install ovirt-engine-extension-aaa-ldap-setup
ovirt-engine-extension-aaa-ldap-setup
を実行して、対話式の設定を開始します。# ovirt-engine-extension-aaa-ldap-setup
対応する番号を入力して、LDAP タイプを選択します。このステップの後に表示される LDAP 関連の質問は、LDAP タイプによって異なります。
Available LDAP implementations: 1 - 389ds 2 - 389ds RFC-2307 Schema 3 - Active Directory 4 - IBM Security Directory Server 5 - IBM Security Directory Server RFC-2307 Schema 6 - IPA 7 - Novell eDirectory RFC-2307 Schema 8 - OpenLDAP RFC-2307 Schema 9 - OpenLDAP Standard Schema 10 - Oracle Unified Directory RFC-2307 Schema 11 - RFC-2307 Schema (Generic) 12 - RHDS 13 - RHDS RFC-2307 Schema 14 - iPlanet Please select: 3
Active Directory のフォレスト名を入力します。Manager の DNS でそのフォレスト名が解決できない場合には、スクリプトによりプロンプトが表示され、Active Directory DNS サーバー名をスペース区切りリストで入力するように要求されます。
Please enter Active Directory Forest name: ad-example.redhat.com [ INFO ] Resolving Global Catalog SRV record for ad-example.redhat.com [ INFO ] Resolving LDAP SRV record for ad-example.redhat.com
お使いの LDAP サーバーがサポートするセキュアな接続メソッドを選択し、PEM エンコードされた CA 証明書の取得にそのメソッドを指定します。File オプションを選択すると、証明書へのフルパスを指定することができます。URL オプションを選択すると、証明書の URL を指定することができます。証明書の内容をターミナルにペーストするには、Inline オプションを選択します。System オプションを選択すると、全 CA ファイルの場所を指定することができます。Insecureオプションを選択すると、startTLS を非セキュアモードで使用することができます。
NOTE: It is highly recommended to use secure protocol to access the LDAP server. Protocol startTLS is the standard recommended method to do so. Only in cases in which the startTLS is not supported, fallback to non standard ldaps protocol. Use plain for test environments only. Please select protocol to use (startTLS, ldaps, plain) [startTLS]: startTLS Please select method to obtain PEM encoded CA certificate (File, URL, Inline, System, Insecure): File Please enter the password:
注記LDAPS とは、Lightweight Directory Access Protocol Over Secure Socket Link の略語です。SSL 接続の場合には、
ldaps
オプションを選択してください。PEM エンコードされた CA 証明書の作成に関する詳しい説明は、「Manager と LDAP サーバー間の SSL または TLS 接続の設定」を参照してください。
検索ユーザーの識別名を入力します。このユーザーには、ディレクトリーサーバー上の全ユーザーとグループを参照するパーミッションが必要です。検索ユーザーは、LDAP アノテーションで指定する必要があります。匿名検索が許可されている場合には、入力なしで
Enter
を押してください。Enter search user DN (empty for anonymous): cn=user1,ou=Users,dc=test,dc=redhat,dc=com Enter search user password:
仮想マシンにシングルサインオンを使用するかどうかを指定します。この機能はデフォルトで有効になっていますが、管理ポータルへのシングルサインオンが有効な場合には使用することができません。スクリプトにより、プロファイル名がドメイン名と一致する必要があることを注意するメッセージが表示されます。『仮想マシン管理ガイド』の「仮想マシンへのシングルサインオン (SSO) 設定」に記載の手順を実行する必要があります。
Are you going to use Single Sign-On for Virtual Machines (Yes, No) [Yes]:
プロファイル名を指定します。プロファイル名は、ログインページでユーザーに表示されます。以下の例では
redhat.com
を使用しています。Please specify profile name that will be visible to users:redhat.com
図15.2 管理者ポータルのログインページ
注記ユーザーは、初回ログイン時にドロップダウンリストから希望のプロファイルを選択する必要があります。この情報は、ブラウザーのクッキーに保管され、次回のユーザーログインでは事前に選択されます。
検索およびログイン機能をテストして、LDAP サーバーが Red Hat Virtualization 環境に適切に接続されていることを確認します。ログインクエリーでは、アカウント名とパスワードを入力します。検索クエリーでは、ユーザーアカウントの場合は
Principal
を、グループアカウントの場合はGroup
を選択します。ユーザーアカウントのグループ情報が返されるようにするには、Resolve Groups
にYes
と入力します。設定を完了するには、Done
を選択します。3 つの設定ファイルが作成され、画面の出力に表示されます。NOTE: It is highly recommended to test drive the configuration before applying it into engine. Login sequence is executed automatically, but it is recommended to also execute Search sequence manually after successful Login sequence. Select test sequence to execute (Done, Abort, Login, Search) [Abort]: Login Enter search user name: testuser1 Enter search user password: [ INFO ] Executing login sequence... ... Select test sequence to execute (Done, Abort, Login, Search) [Abort]: Search Select entity to search (Principal, Group) [Principal]: Term to search, trailing '*' is allowed: testuser1 Resolve Groups (Yes, No) [No]: [ INFO ] Executing login sequence... ... Select test sequence to execute (Done, Abort, Login, Search) [Abort]: Done [ INFO ] Stage: Transaction setup [ INFO ] Stage: Misc configuration [ INFO ] Stage: Package installation [ INFO ] Stage: Misc configuration [ INFO ] Stage: Transaction commit [ INFO ] Stage: Closing up CONFIGURATION SUMMARY Profile name is: redhat.com The following files were created: /etc/ovirt-engine/aaa/redhat.com.properties /etc/ovirt-engine/extensions.d/redhat.com-authz.properties /etc/ovirt-engine/extensions.d/redhat.com-authn.properties [ INFO ] Stage: Clean up Log file is available at /tmp/ovirt-engine-extension-aaa-ldap-setup-20160114064955-1yar9i.log: [ INFO ] Stage: Pre-termination [ INFO ] Stage: Termination
- 作成したプロファイルが管理ポータルと VM ユーザーポータルのログインページで選択できるようになりました。LDAP サーバー上のユーザーアカウントに適切なロールとパーミッション (例: VM ユーザーポータルへのログイン) を割り当てるには、「管理ポータルからのユーザー管理タスク」を参照してください。
詳しい情報は、/usr/share/doc/ovirt-engine-extension-aaa-ldap-version にある LDAP の認証/承認の拡張機能の README ファイルを参照してください。
15.3.3. 外部の LDAP プロバイダーの設定 (手動の設定)
ovirt-engine-extension-aaa-ldap
拡張機能は、LDAP プロトコルを使用してディレクトリーサーバーにアクセスし、完全にカスタマイズ可能です。VM ユーザーポータルまたは管理ポータルの機能でシングルサインオンを有効にしない限りは、Kerberos 認証は必要ありません。
前のセクションに記載した対話式の設定メソッドではユースケースの要件を十分に満たさない場合には、手動で設定ファイルを編集して、LDAP サーバーをアタッチすることができます。以下の手順は、一般的な例を示しています。実際の値は、お使いの環境に応じて異なります。
外部の LDAP プロバイダーの手動設定
Red Hat Virtualization Manager に LDAP 拡張機能のパッケージをインストールします。
# yum install ovirt-engine-extension-aaa-ldap
LDAP 設定テンプレートファイルを /etc/ovirt-engine ディレクトリーにコピーします。テンプレートファイルは、Active Directory 用 (ad) およびその他のディレクトリータイプ用 (simple) が用意されています。以下の例では、シンプル設定テンプレートを使用しています。
# cp -r /usr/share/ovirt-engine-extension-aaa-ldap/examples/simple/. /etc/ovirt-engine
管理ポータルおよび VM ユーザーポータルのログインページで表示されるプロファイル名と一致するように設定ファイルの名前を変更します。
# mv /etc/ovirt-engine/aaa/profile1.properties /etc/ovirt-engine/aaa/example.properties # mv /etc/ovirt-engine/extensions.d/profile1-authn.properties /etc/ovirt-engine/extensions.d/example-authn.properties # mv /etc/ovirt-engine/extensions.d/profile1-authz.properties /etc/ovirt-engine/extensions.d/example-authz.properties
LDAP プロパティー設定ファイルを編集して、LDAP サーバーのタイプの箇所をコメント解除し、ドメインとパスワードのフィールドを更新します。
# vi /etc/ovirt-engine/aaa/example.properties
例15.1 プロファイル例: LDAP サーバーのセクション
# Select one # include = <openldap.properties> #include = <389ds.properties> #include = <rhds.properties> #include = <ipa.properties> #include = <iplanet.properties> #include = <rfc2307-389ds.properties> #include = <rfc2307-rhds.properties> #include = <rfc2307-openldap.properties> #include = <rfc2307-edir.properties> #include = <rfc2307-generic.properties> # Server # vars.server = ldap1.company.com # Search user and its password. # vars.user = uid=search,cn=users,cn=accounts,dc=company,dc=com vars.password = 123456 pool.default.serverset.single.server = ${global:vars.server} pool.default.auth.simple.bindDN = ${global:vars.user} pool.default.auth.simple.password = ${global:vars.password}
TLS または SSL プロトコルを使用して LDAP サーバーと対話するには、LDAP サーバーのルート CA 証明書を取得し、その証明書を使用して公開鍵のキーストアファイルを作成します。以下の行をコメント解除して、公開鍵のキーストアファイルへの完全パスとそのファイルにアクセスするためのパスワードを指定します。
注記公開鍵のキーストアファイルについての詳しい情報は、「Manager と LDAP サーバー間の SSL または TLS 接続の設定」を参照してください。
例15.2 プロファイル例: キーストアのセクション
# Create keystore, import certificate chain and uncomment # if using tls. pool.default.ssl.startTLS = true pool.default.ssl.truststore.file = /full/path/to/myrootca.jks pool.default.ssl.truststore.password = password
認証設定ファイルを確認します。管理ポータルおよび VM ユーザーポータルのログインページでユーザーに表示されるプロファイル名は、ovirt.engine.aaa.authn.profile.name で定義されます。プロファイルの設定ファイルの場所は、LDAP 設定ファイルの場所と一致する必要があります。全フィールドの値をデフォルトのままにすることも可能です。
# vi /etc/ovirt-engine/extensions.d/example-authn.properties
例15.3 認証設定ファイルの例
ovirt.engine.extension.name = example-authn ovirt.engine.extension.bindings.method = jbossmodule ovirt.engine.extension.binding.jbossmodule.module = org.ovirt.engine-extensions.aaa.ldap ovirt.engine.extension.binding.jbossmodule.class = org.ovirt.engineextensions.aaa.ldap.AuthnExtension ovirt.engine.extension.provides = org.ovirt.engine.api.extensions.aaa.Authn ovirt.engine.aaa.authn.profile.name = example ovirt.engine.aaa.authn.authz.plugin = example-authz config.profile.file.1 = ../aaa/example.properties
承認設定ファイルを確認します。設定プロファイルの場所は、LDAP 設定ファイルの場所と一致する必要があります。
# vi /etc/ovirt-engine/extensions.d/example-authz.properties
例15.4 承認設定ファイルの例
ovirt.engine.extension.name = example-authz ovirt.engine.extension.bindings.method = jbossmodule ovirt.engine.extension.binding.jbossmodule.module = org.ovirt.engine-extensions.aaa.ldap ovirt.engine.extension.binding.jbossmodule.class = org.ovirt.engineextensions.aaa.ldap.AuthzExtension ovirt.engine.extension.provides = org.ovirt.engine.api.extensions.aaa.Authz config.profile.file.1 = ../aaa/example.properties
設定プロファイルの所有権とパーミッションを適切に設定します。
# chown ovirt:ovirt /etc/ovirt-engine/aaa/example.properties # chmod 600 /etc/ovirt-engine/aaa/example.properties
engine サービスを再起動します。
# systemctl restart ovirt-engine.service
- 作成した example プロファイルが管理ポータルと VM ユーザーポータルのログインページで選択できるようになりました。LDAP サーバー上のユーザーアカウントに適切なパーミッション (例: VM ユーザーポータルへのログイン) を付与するには、「管理ポータルからのユーザー管理タスク」を参照してください。
詳しい情報は、/usr/share/doc/ovirt-engine-extension-aaa-ldap-version にある LDAP の認証/承認の拡張機能の README ファイルを参照してください。
15.3.4. 外部の LDAP プロバイダーの削除
以下の手順では、設定した外部の LDAP プロバイダーおよびそのユーザーを削除する方法について説明します。
外部の LDAP プロバイダーの削除
LDAP プロバイダーの設定ファイルを削除します (デフォルトのプロファイル名 profile1 を実際のプロファイル名に置き換えてください)。
# rm /etc/ovirt-engine/extensions.d/profile1-authn.properties # rm /etc/ovirt-engine/extensions.d/profile1-authz.properties # rm /etc/ovirt-engine/aaa/profile1.properties
ovirt-engine
サービスを再起動します。# systemctl restart ovirt-engine
-
管理ポータルの ユーザー リソースタブにおいて、このプロバイダーのユーザー (
認証プロバイダー
に profile1-authz と表示されているユーザー) を選択して 削除 をクリックします。