15.4. シングルサインオンのための LDAP と Kerberos の設定
シングルサインオンにより、ユーザーはパスワードを再入力する必要なく、ユーザーポータルまたは管理ポータルにログインすることができます。認証情報は Kerberos サーバーから取得します。管理ポータルとユーザーポータルにシングルサインオンを設定するには、拡張機能を 2 つ (
ovirt-engine-extension-aaa-misc および ovirt-engine-extension-aaa-ldap) と、Apache モジュールを 2 つ (mod_auth_gssapi および mod_session) 設定する必要があります。Kerberos を必要としないシングルサインオンを設定することは可能ですが、本ガイドの対象範囲外となっています。
注記
ユーザーポータルへのシングルサインオンが有効になっている場合は、仮想マシンへのシングルサインオンは使用できません。ユーザーポータルへのシングルサインオンが有効な状態では、ユーザーポータルによるパスワードの確認が必要ないため、このパスワードが渡されず、仮想マシンにサインインできません。
この例は、以下を前提としています。
- 既存のキー配布センター (KDC) サーバーは Kerberos 5 の MIT バージョンを使用すること。
- KDC サーバーの管理者権限があること。
- Red Hat Virtualization Manager およびユーザーのマシンに Kerberos クライアントがインストール済みであること。
- Kerberos のサービスプリンシパルおよび
keytabファイルの作成にkadminユーティリティーが使用されること。
この手順には以下のコンポーネントが必要となります。
KDC サーバー
- Red Hat Virtualization Manager 上の Apache サービス用のサービスプリンシパルと
keytabファイルを作成します。
Red Hat Virtualization Manager
- 認証および承認拡張機能のパッケージと Apache Kerberos 認証モジュールをインストールします。
- 拡張ファイルを設定します。
手順15.4 Apache サービス用の Kerberos の設定
- KDC サーバーで、
kadminユーティリティーを使用して Red Hat Virtualization Manager 上の Apache サービス用のサービスプリンシパルを作成します。サービスプリンシパルとは、Apache サービス用の KDC に対するリファレンス ID です。kadmin
# kadmin kadmin> addprinc -randkey HTTP/fqdn-of-rhevm@REALM.COMCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Apache サービス用に
keytabファイルを作成します。keytabファイルが共有秘密鍵を保管します。kadmin> ktadd -k /tmp/http.keytab HTTP/fqdn-of-rhevm@REALM.COM
kadmin> ktadd -k /tmp/http.keytab HTTP/fqdn-of-rhevm@REALM.COMCopy to Clipboard Copied! Toggle word wrap Toggle overflow kadmin> quit
kadmin> quitCopy to Clipboard Copied! Toggle word wrap Toggle overflow - KDC サーバーから Red Hat Virtualization Manager に
keytabファイルをコピーします。scp /tmp/http.keytab root@rhevm.example.com:/etc/httpd
# scp /tmp/http.keytab root@rhevm.example.com:/etc/httpdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
手順15.5 ユーザーポータルまたは管理ポータルへのシングルサインオンの設定
- Red Hat Virtualization Manager で、keytab の所有権とパーミッションを適切に設定します。
chown apache /etc/httpd/http.keytab
# chown apache /etc/httpd/http.keytabCopy to Clipboard Copied! Toggle word wrap Toggle overflow chmod 400 /etc/httpd/http.keytab
# chmod 400 /etc/httpd/http.keytabCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 認証拡張機能のパッケージ、LDAP 拡張機能のパッケージ、および
mod_auth_gssapiとmod_sessionの Apache モジュールをインストールします。yum install ovirt-engine-extension-aaa-misc ovirt-engine-extension-aaa-ldap mod_auth_gssapi mod_session
# yum install ovirt-engine-extension-aaa-misc ovirt-engine-extension-aaa-ldap mod_auth_gssapi mod_sessionCopy to Clipboard Copied! Toggle word wrap Toggle overflow - SSO 設定テンプレートファイルを
/etc/ovirt-engineディレクトリーにコピーします。テンプレートファイルは、Active Directory 用 (ad-sso) およびその他のディレクトリータイプ用 (simple-sso) に提供されています。以下の例では、シンプル SSO 設定テンプレートを使用しています。cp -r /usr/share/ovirt-engine-extension-aaa-ldap/examples/simple-sso/. /etc/ovirt-engine
# cp -r /usr/share/ovirt-engine-extension-aaa-ldap/examples/simple-sso/. /etc/ovirt-engineCopy to Clipboard Copied! Toggle word wrap Toggle overflow ovirt-sso.confを Apache の設定ディレクトリーに移動します。mv /etc/ovirt-engine/aaa/ovirt-sso.conf /etc/httpd/conf.d
# mv /etc/ovirt-engine/aaa/ovirt-sso.conf /etc/httpd/conf.dCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 認証メソッドファイルを確認します。レルムは自動的に
keytabファイルから取得されるので、このファイルは編集する必要はありません。vi /etc/httpd/conf.d/ovirt-sso.conf
# vi /etc/httpd/conf.d/ovirt-sso.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例15.5 認証メソッドファイルの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 管理ポータルおよびユーザーポータルのログインページで表示されるプロファイル名と一致するように設定ファイルの名前を変更します。
mv /etc/ovirt-engine/aaa/profile1.properties /etc/ovirt-engine/aaa/example.properties
# mv /etc/ovirt-engine/aaa/profile1.properties /etc/ovirt-engine/aaa/example.propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow mv /etc/ovirt-engine/extensions.d/profile1-http-authn.properties /etc/ovirt-engine/extensions.d/example-http-authn.properties
# mv /etc/ovirt-engine/extensions.d/profile1-http-authn.properties /etc/ovirt-engine/extensions.d/example-http-authn.propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow mv /etc/ovirt-engine/extensions.d/profile1-http-mapping.properties /etc/ovirt-engine/extensions.d/example-http-mapping.properties
# mv /etc/ovirt-engine/extensions.d/profile1-http-mapping.properties /etc/ovirt-engine/extensions.d/example-http-mapping.propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow mv /etc/ovirt-engine/extensions.d/profile1-authz.properties /etc/ovirt-engine/extensions.d/example-authz.properties
# mv /etc/ovirt-engine/extensions.d/profile1-authz.properties /etc/ovirt-engine/extensions.d/example-authz.propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow - LDAP プロパティー設定ファイルを編集して、LDAP サーバーのタイプの箇所をコメント解除し、ドメインとパスワードのフィールドを更新します。
vi /etc/ovirt-engine/aaa/example.properties
# vi /etc/ovirt-engine/aaa/example.propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例15.6 プロファイル例: LDAP サーバーのセクション
Copy to Clipboard Copied! Toggle word wrap Toggle overflow TLS または SSL プロトコルを使用して LDAP サーバーと対話するには、LDAP サーバーのルート CA 証明書を取得し、その証明書を使用して公開鍵のキーストアファイルを作成します。以下の行をコメント解除して、公開鍵のキーストアファイルへの完全パスとそのファイルにアクセスするためのパスワードを指定します。注記
公開鍵のキーストアファイルについての詳しい情報は、「Manager と LDAP サーバー間の SSL または TLS 接続の設定」を参照してください。例15.7 プロファイル例: キーストアのセクション
Create keystore, import certificate chain and uncomment if using ssl/tls.
# Create keystore, import certificate chain and uncomment # if using ssl/tls. pool.default.ssl.startTLS = true pool.default.ssl.truststore.file = /full/path/to/myrootca.jks pool.default.ssl.truststore.password = passwordCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 認証設定ファイルを確認します。プロファイル名は、管理ポータルおよびユーザーポータルのログインページでユーザーに表示されるプロファイル名は、
ovirt.engine.aaa.authn.profile.nameで定義されます。設定プロファイルの場所は、LDAP 設定ファイルの場所と一致する必要があります。全フィールドをデフォルトのままにすることも可能です。vi /etc/ovirt-engine/extensions.d/example-http-authn.properties
# vi /etc/ovirt-engine/extensions.d/example-http-authn.propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例15.8 認証設定ファイルの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 承認設定ファイルを確認します。設定プロファイルの場所は、LDAP 設定ファイルの場所と一致する必要があります。
vi /etc/ovirt-engine/extensions.d/example-authz.properties
# vi /etc/ovirt-engine/extensions.d/example-authz.propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例15.9 承認設定ファイルの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 認証マッピング設定ファイルを確認します。設定プロファイルの場所は、LDAP 設定ファイルの場所と一致する必要があります。設定プロファイルの拡張機能名は、認証設定ファイル内の
ovirt.engine.aaa.authn.mapping.pluginの値と一致する必要があります。全フィールドの値をデフォルトのままにすることができます。vi /etc/ovirt-engine/extensions.d/example-http-mapping.properties
# vi /etc/ovirt-engine/extensions.d/example-http-mapping.propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例15.10 認証マッピング設定ファイルの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 設定ファイルの所有権とパーミッションを適切に設定します。
chown ovirt:ovirt /etc/ovirt-engine/aaa/example.properties
# chown ovirt:ovirt /etc/ovirt-engine/aaa/example.propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow chown ovirt:ovirt /etc/ovirt-engine/extensions.d/example-http-authn.properties
# chown ovirt:ovirt /etc/ovirt-engine/extensions.d/example-http-authn.propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow chown ovirt:ovirt /etc/ovirt-engine/extensions.d/example-http-mapping.properties
# chown ovirt:ovirt /etc/ovirt-engine/extensions.d/example-http-mapping.propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow chown ovirt:ovirt /etc/ovirt-engine/extensions.d/example-authz.properties
# chown ovirt:ovirt /etc/ovirt-engine/extensions.d/example-authz.propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow chmod 600 /etc/ovirt-engine/aaa/example.properties
# chmod 600 /etc/ovirt-engine/aaa/example.propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow chmod 640 /etc/ovirt-engine/extensions.d/example-http-authn.properties
# chmod 640 /etc/ovirt-engine/extensions.d/example-http-authn.propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow chmod 640 /etc/ovirt-engine/extensions.d/example-http-mapping.properties
# chmod 640 /etc/ovirt-engine/extensions.d/example-http-mapping.propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow chmod 640 /etc/ovirt-engine/extensions.d/example-authz.properties
# chmod 640 /etc/ovirt-engine/extensions.d/example-authz.propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Apache サービスと
ovirt-engineサービスを再起動します。systemctl restart httpd.service
# systemctl restart httpd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl restart ovirt-engine.service
# systemctl restart ovirt-engine.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow