19.4. Single Sign-On 用の LDAP および Kerberos の設定
Single Sign-On を使用すると、ユーザーはパスワードを再入力せずに VM ポータルまたは管理ポータルにログインできます。認証情報は Kerberos サーバーから取得されます。管理ポータルと仮想マシンポータルへの Single Sign-On を設定するには、ovirt-engine-extension-aaa-misc および ovirt-engine-extension-aaa-ldap の 2 つの拡張機能と、2 つの Apache モジュール mod_auth_gssapi および d mod_session を設定する必要があります。Kerberos を含まない Single Sign-On を設定できますが、これはこのドキュメントの範囲外です。
VM ポータルへのシングルサインオンが有効になっている場合に、仮想マシンへのシングルサインオンはできません。VM ポータルへのシングルサインオンが有効になっている場合には、VM ポータルはパスワードを受け入れる必要がないので、パスワードを委任して仮想マシンにサインインすることはできません。
この例では、以下を前提としています。
- 既存の KeyDistributionCenter (KDC) サーバーは、MIT バージョンの Kerberos5 を使用します。
- KDC サーバーに対する管理者権限があります。
- Kerberos クライアントは、Red Hat Virtualization Manager とユーザーマシンにインストールされます。
-
kadminユーティリティーは、Kerberos サービスプリンシパルと keytab ファイルを作成するために使用されます。
この手順には、次のコンポーネントが含まれます。
On the KDC server
- Red Hat Virtualization Manager 上で Apache サービス用のサービスプリンシパルと keytab ファイルを作成します。
Red Hat Virtualization Manager の場合
- 認証および許可拡張パッケージと Apache Kerberos 認証モジュールをインストールします。
- 拡張ファイルを設定します。
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 ファイルには、共有秘密鍵が格納されています。
注記engine-backupコマンドには、バックアップおよび復元時にファイル/etc/httpd/http.keytabが含まれます。keytab ファイルに別の名前を使用する場合は、必ずバックアップして復元してください。kadmin> ktadd -k /tmp/http.keytab HTTP/fqdn-of-rhevm@REALM.COM kadmin> quit
kadmin> ktadd -k /tmp/http.keytab HTTP/fqdn-of-rhevm@REALM.COM 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
仮想マシンポータルまたは管理ポータルへの Single Sign-On の設定
Red Hat Virtualization Manager で、キータブの所有権と権限が適切であることを確認します。
chown apache /etc/httpd/http.keytab chmod 400 /etc/httpd/http.keytab
# chown apache /etc/httpd/http.keytab # chmod 400 /etc/httpd/http.keytabCopy to Clipboard Copied! Toggle word wrap Toggle overflow 認証拡張パッケージ、LDAP 拡張パッケージ、および
mod_auth_gssapiおよびmod_sessionApacheモジュールをインストールします。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 設定ディレクトリーに移動します。
注記engine-backupコマンドは、バックアップとリストアの際に、/etc/httpd/conf.d/ovirt-sso.confファイルを含めます。このファイルに別の名前を使用する場合は、必ずバックアップして復元してください。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 例19.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 例19.6 プロファイルの例: LDAP サーバーセクション
Copy to Clipboard Copied! Toggle word wrap Toggle overflow TLS または SSL プロトコルを使用して LDAP サーバーと対話するには、LDAP サーバーのルート CA 証明書を取得し、それを使用して公開鍵ストアファイルを作成します。次の行のコメントを解除し、公開キーストアファイルへのフルパスとファイルにアクセスするためのパスワードを指定します。
注記パブリックキーストアファイルの作成方法の詳細は、「Manager と LDAP サーバー間の暗号化通信の設定」 を参照してください。
例19.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 例19.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 例19.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 例19.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 ovirt-engine.service
# systemctl restart httpd.service # systemctl restart ovirt-engine.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow