3.6. ユーザーとロール
3.6.1. ユーザーの概要
Red Hat Virtualization には、ローカルドメインと外部ドメインの 2 種類のユーザードメインがあります。Manager のインストールプロセス中に、内部 ドメインと呼ばれるデフォルトのローカルドメインとデフォルトユーザーである admin が作成されます。
ovirt-aaa-jdbc-tool
を使用して、内部 ドメインに追加のユーザーを作成できます。ローカルドメインに作成されたユーザーアカウントは、ローカルユーザーと呼ばれます。また、Red Hat Directory Server、Active Directory、OpenLDAP、その他多くのサポート対象オプションなどの外部 Directory Server を Red Hat Virtualization 環境にアタッチし、外部ドメインとして使用することも可能です。外部ドメインに作成されたユーザーアカウントは、ディレクトリーユーザーと呼ばれます。
ローカルユーザーとディレクトリーユーザーが環境内で機能するには、管理ポータルを介して両方のユーザーに適切なロールおよびパーミッションを割り当てる必要があります。ユーザーロールには、主にエンドユーザーと管理者の 2 つのタイプがあります。エンドユーザーのロールは、VM ポータルからの仮想リソースを使用および管理します。管理者のロールは、管理ポータルを使用してシステムインフラストラクチャーを維持します。ロールは、仮想マシンやホストなどの個々のリソースのユーザーに割り当てることも、クラスターやデータセンターなどのオブジェクトの階層に割り当てることもできます。
3.6.2. Directory Server の概要
インストール中に、Red Hat Virtualization Manager は 内部 ドメインに admin ユーザーを作成します。このユーザーは、admin@internal
とも呼ばれます。このアカウントは、環境の初期設定およびトラブルシューティングに使用することを目的としています。外部 Directory Server を接続し、ディレクトリーユーザーを追加して適切なロールとパーミッションを割り当てた後、必要がない場合は admin@internal
ユーザーを無効にできます。サポート対象の Directory Server は次のとおりです。
- 389ds
- 389ds RFC-2307 Schema
- Active Directory
- IBM Security Directory Server
- IBM Security Directory Server RFC-2307 Schema
- FreeIPA
- iDM
- Novell eDirectory RFC-2307 Schema
- OpenLDAP RFC-2307 Schema
- OpenLDAP Standard Schema
- Oracle Unified Directory RFC-2307 Schema
- RFC-2307 Schema (汎用)
- Red Hat Directory Server (RHDS)
- Red Hat Directory Server (RHDS) RFC-2307 Schema
- iPlanet
Red Hat Virtualization Manager (rhevm
) と IdM (ipa-server
) は同じシステムにインストールできません。IdM は、Red Hat Virtualization Manager で必要な mod_ssl
パッケージと互換性がありません。
ディレクトリーサーバーとして Active Directory を使用していて、テンプレートと仮想マシンの作成に sysprep を使用する場合は、Red Hat Virtualization の管理ユーザーに以下を実行するためのドメイン制御をを委任する必要があります。
- コンピューターをドメインに参加させる
- グループのメンバーシップを変更する
Active Directory でのユーザーアカウントの作成については、新規ユーザーアカウントの作成 を参照してください。
Active Directory での制御の委任については、組織単位での制御の委任 を参照してください。
3.6.3. 外部 LDAP プロバイダーの設定
3.6.3.1. 外部 LDAP プロバイダーの設定 (対話型セットアップ)
ovirt-engine-extension-aaa-ldap
は非推奨になりました。新規インストールの場合は、Red Hat Single Sign On を使用します。詳細は、管理ガイド の Red Hat Single Sign-On のインストールおよび設定 を参照してください。
ovirt-engine-extension-aaa-ldap 拡張機能を使用すると、ユーザーは外部ディレクトリーの設定を簡単にカスタマイズできます。ovirt-engine-extension-aaa-ldap 拡張機能では多くの異なる LDAP サーバータイプがサポートされており、ほとんどの LDAP タイプのセットアップを支援する対話型セットアップスクリプトが提供されています。
LDAP サーバーの種類が対話型セットアップスクリプトにリストされていない場合、またはさらにカスタマイズしたい場合は、設定ファイルを手動で編集できます。詳細は、外部 LDAP プロバイダーの設定 を参照してください。
Active Directory の例については、Active Directory の接続 を参照してください。
前提条件
- DNS または LDAP サーバーのドメイン名を把握している。
- LDAP サーバーとマネージャーの間に安全な接続を設定するために、PEM でエンコードされた CA 証明書が準備されていることを確認する。
- LDAP サーバーへの検索およびログインクエリーを実行するために、少なくとも 1 セットのアカウント名とパスワードを用意する。
手順
Red Hat Virtualization Manager で、LDAP 拡張パッケージをインストールします。
# dnf install ovirt-engine-extension-aaa-ldap-setup
ovirt-engine-extension-aaa-ldap-setup
を実行して、対話型セットアップを開始します。# ovirt-engine-extension-aaa-ldap-setup
対応する番号を入力して、LDAP タイプを選択します。LDAP サーバーのスキーマが不明な場合は、LDAP サーバータイプの標準スキーマを選択してください。Active Directory の場合は、Attaching_an_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 には、完全修飾ドメイン名 (FQDN) または LDAP サーバーの IP アドレスを入力します。SRV レコードで
dig
コマンドを使用して、ドメイン名を見つけることができます。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 Links の略です。SSL 接続の場合は、
ldaps
オプションを選択します。
-
検索ユーザーの識別名 (DN) を入力します。ユーザーには、Directory Server 上のすべてのユーザーとグループを参照するためのパーミッションが必要です。検索ユーザーは、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
仮想マシン用に Single Sign-On を設定する場合は、
Yes
を選択します。この機能は、管理ポータル機能に対する Single Sign-On では使用できないことに注意してください。スクリプトにより、プロファイル名とドメイン名が一致する必要があることが通知されます。この場合も、仮想マシン管理ガイド の 仮想マシンのシングルサインオンの設定 に記載された手順に従う必要があります。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
図3.1 管理ポータルのログインページ
注記ユーザーは、初めてログインするときにドロップダウンリストからプロファイルを選択する必要があります。情報はブラウザーの Cookie に保存され、ユーザーが次にログインしたときに事前に選択されます。
ログイン機能をテストして、LDAP サーバーが Red Hat Virtualization 環境に正しく接続されていることを確認します。ログインクエリーには、
user name
およびpassword
を入力します。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 ポータルのログインページで利用できるようになります。たとえば VM ポータルにログインするために、LDAP サーバー上のユーザーアカウントに適切なロールとパーミッションを割り当てる場合は、Manager ユーザーのタスク を参照してください。# systemctl restart ovirt-engine.service
詳細は、/usr/share/doc/ovirt-engine-extension-aaa-ldap-version の LDAP 認証および承認拡張 README ファイルを参照してください。
3.6.3.2. Active Directory の接続
ovirt-engine-extension-aaa-ldap
は非推奨になりました。新規インストールの場合は、Red Hat Single Sign On を使用します。詳細は、管理ガイド の Red Hat Single Sign-On のインストールおよび設定 を参照してください。
前提条件
Active Directory フォレスト名を知っている。フォレスト名は、ルートドメイン名とも呼ばれています。
注記ovirt-engine-extension-aaa-ldap-setup ツールで設定できない、最も一般的な Active Directory の設定例は
/usr/share/ovirt-engine-extension-aaa-ldap/examples/README.md
に記載されています。- Active Directory フォレスト名を解決できる DNS サーバーを Manager の /etc/resolv.conf ファイルに追加するか、Active Directory DNS サーバーを書き留めて、対話型セットアップスクリプトのプロンプトが表示されたら入力する。
- LDAP サーバーと Manager の間に安全な接続を設定するために、PEM でエンコードされた CA 証明書が準備されていることを確認する。詳細は、Manager と LDAP サーバー間で SSL または TLS 接続の設定 を参照してください。
- 匿名検索がサポートされていない場合、検索ユーザーとして使用できる、すべてのユーザーとグループを参照するパーミッションを持つユーザーが Active Directory で利用可能である。検索ユーザーの識別名 (DN) を書き留めます。Active Directory の管理ユーザーは使用しないでください。
- Active Directory への検索およびログインクエリーを実行するには、アカウント名とパスワードを少なくとも 1 つ用意しておく。
-
Active Directory のデプロイメントが複数のドメインにまたがる場合は、
/usr/share/ovirt-engine-extension-aaa-ldap/profiles/ad.properties
ファイルに記載されている制限に注意する。
手順
Red Hat Virtualization Manager で、LDAP 拡張パッケージをインストールします。
# dnf 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 サーバー名のリストを入力するように求めます。
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 証明書を取得する方法を指定します。ファイルオプションを使用すると、証明書へのフルパスを指定できます。URL オプションを使用すると、証明書への URL を指定できます。インラインオプションを使用して、証明書の内容をターミナルに貼り付けます。システムオプションを使用すると、すべての CA ファイルの場所を指定できます。セキュアでないオプションを使用すると、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 Links の略です。SSL 接続の場合は、
ldaps
オプションを選択します。PEM でエンコードされた CA 証明書の作成の詳細は、Manager と LDAP サーバー間の SSL または TLS 接続のセットアップ を参照してください。
検索ユーザーの識別名 (DN) を入力します。ユーザーには、Directory Server 上のすべてのユーザーとグループを参照するためのパーミッションが必要です。検索ユーザーは LDAP アノテーションである必要があります。匿名検索が許可されている場合は、入力せずに
Enter
を押します。Enter search user DN (empty for anonymous): cn=user1,ou=Users,dc=test,dc=redhat,dc=com Enter search user password:
仮想マシンにシングルサインオンを使用するかどうかを指定します。この機能はデフォルトで有効になっていますが、管理ポータルへのシングルサインオンが有効になっている場合は使用できません。スクリプトにより、プロファイル名とドメイン名が一致する必要があることが通知されます。この場合も、仮想マシン管理ガイド の 仮想マシンのシングルサインオンの設定 に記載された手順に従う必要があります。
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
図3.2 管理ポータルのログインページ
注記ユーザーは、初めてログインするときに、ドロップダウンリストから目的のプロファイルを選択する必要があります。その後、情報はブラウザーの Cookie に保存され、ユーザーが次にログインしたときに事前に選択されます。
検索およびログイン機能をテストして、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 ポータルのログインページで利用できるようになります。たとえば VM ポータルにログインするために、LDAP サーバー上のユーザーアカウントに適切なロールとパーミッションを割り当てる場合は、Manager ユーザーのタスク を参照してください。
詳細は、/usr/share/doc/ovirt-engine-extension-aaa-ldap-version の LDAP 認証および承認拡張 README ファイルを参照してください。
3.6.3.3. 外部 LDAP プロバイダーの設定 (手動)
ovirt-engine-extension-aaa-ldap
は非推奨になりました。新規インストールの場合は、Red Hat Single Sign On を使用します。詳細は、管理ガイド の Red Hat Single Sign-On のインストールおよび設定 を参照してください。
ovirt-engine-extension-aaa-ldap
拡張機能は、LDAP プロトコルを使用してディレクトリーサーバーにアクセスし、完全にカスタマイズ可能です。仮想マシンポータルまたは管理ポータル機能への Single Sign-On を有効にする場合を除いて、Kerberos 認証は必要ありません。
前のセクションの対話型セットアップ方法でユースケースがカバーされていない場合は、設定ファイルを手動で変更して LDAP サーバーを接続できます。次の手順では、一般的な詳細を使用します。具体的な値は、設定により異なります。
手順
Red Hat Virtualization Manager で、LDAP 拡張パッケージをインストールします。
# dnf install ovirt-engine-extension-aaa-ldap
LDAP 設定テンプレートファイルを /etc/ovirt-engine ディレクトリーにコピーします。テンプレートファイルは、アクティブなディレクトリー (ad) およびその他のディレクトリータイプ (simple) で使用できます。この例では、単純な設定テンプレートを使用しています。
# cp -r /usr/share/ovirt-engine-extension-aaa-ldap/examples/simple/. /etc/ovirt-engine
管理ポータルおよび仮想マシンポータルのログインページでユーザーに表示するプロファイル名と一致するように、設定ファイルの名前を変更します。
# 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
例3.5 プロファイルの例: 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 証明書を取得し、それを使用して公開 keystore ファイルを作成します。次の行のコメントを解除し、公開 keystore ファイルへのフルパスとファイルにアクセスするためのパスワードを指定します。
注記公開 keystore ファイルの作成の詳細は、Manager と LDAP サーバー間の SSL または TLS 接続の設定 を参照してください。
例3.6 プロファイルの例: keystore セクション
# 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
認証設定ファイルを確認します。管理ポータルおよび仮想マシンポータルのログインページでユーザーに表示されるプロファイル名は、ovirt.engine.aaa.authn.profile.name によって定義されます。設定プロファイルの場所は、LDAP 設定ファイルの場所と一致する必要があります。すべてのフィールドをデフォルトのままにできます。
# vi /etc/ovirt-engine/extensions.d/example-authn.properties
例3.7 認証設定ファイルの例
ovirt.engine.extension.name = example-authn ovirt.engine.extension.bindings.method = jbossmodule ovirt.engine.extension.binding.jbossmodule.module = org.ovirt.engine.extension.aaa.ldap ovirt.engine.extension.binding.jbossmodule.class = org.ovirt.engine.extension.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
例3.8 許可設定ファイルの例
ovirt.engine.extension.name = example-authz ovirt.engine.extension.bindings.method = jbossmodule ovirt.engine.extension.binding.jbossmodule.module = org.ovirt.engine.extension.aaa.ldap ovirt.engine.extension.binding.jbossmodule.class = org.ovirt.engine.extension.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
エンジンサービスを再起動します。
# systemctl restart ovirt-engine.service
- 作成した example プロファイルは、管理ポータルおよび仮想マシンポータルのログインページで利用できるようになります。たとえば VM ポータルにログインするために、LDAP サーバー上のユーザーアカウントに適切なパーミッションを割り当てる場合は、Manager ユーザーのタスク を参照してください。
詳細は、/usr/share/doc/ovirt-engine-extension-aaa-ldap-version の LDAP 認証および承認拡張 README ファイルを参照してください。
3.6.3.4. 外部 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
-
管理ポータルの Users リソースタブで、このプロバイダーのユーザー (
Authorization provider
が profile1-authz であるユーザー) を選択し、Remove をクリックします。
3.6.4. シングルサインオン用の LDAP および Kerberos の設定
シングルサインオンを使用すると、ユーザーはパスワードを再入力せずに VM ポータルまたは管理ポータルにログインできます。認証情報は Kerberos サーバーから取得します。管理ポータルと VM ポータルへのシングルサインオンを設定するには、ovirt-engine-extension-aaa-misc および ovirt-engine-extension-aaa-ldap の 2 つの拡張機能と、2 つの Apache モジュール mod_auth_gssapi および mod_session を設定する必要があります。Kerberos を含まないシングルサインオンを設定できますが、これはこのドキュメントの範囲外です。
VM ポータルへのシングルサインオンが有効になっている場合、仮想マシンにはシングルサインオンできません。VM ポータルへのシングルサインオンが有効になっている場合には、VM ポータルはパスワードを受け入れる必要がないので、パスワードを委任して仮想マシンにサインインすることはできません。
この例では、以下を前提としています。
- 既存の Key Distribution Center (KDC) サーバーは、MIT バージョンの Kerberos 5 を使用します。
- 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 認証モジュールをインストールします。
- 拡張ファイルを設定します。
3.6.4.1. Apache サービス用の Kerberos の設定
KDC サーバーで、
kadmin
ユーティリティーを使用して、Red Hat Virtualization Manager で Apache サービスのサービスプリンシパルを作成します。サービスプリンシパルは、Apache サービスの KDC への参照 ID です。# kadmin kadmin> addprinc -randkey HTTP/fqdn-of-rhevm@REALM.COM
Apache サービスの keytab ファイルを生成します。keytab ファイルには、共有秘密鍵が格納されています。
注記engine-backup
コマンドには、バックアップおよび復元時にファイル/etc/httpd/http.keytab
が含まれます。keytab ファイルに別の名前を使用する場合は、必ずバックアップして復元してください。kadmin> ktadd -k /tmp/http.keytab HTTP/fqdn-of-rhevm@REALM.COM kadmin> quit
KDC サーバーから Red Hat Virtualization Manager に keytab ファイルをコピーします。
# scp /tmp/http.keytab root@rhevm.example.com:/etc/httpd
== 仮想マシンポータルまたは管理ポータルへのシングルサインオンの設定
Red Hat Virtualization Manager で、keytab の所有権とパーミッションが適切であることを確認します。
# chown apache /etc/httpd/http.keytab # chmod 400 /etc/httpd/http.keytab
認証拡張パッケージ、LDAP 拡張パッケージ、および
mod_auth_gssapi
およびmod_sessionApache
モジュールをインストールします。# dnf install ovirt-engine-extension-aaa-misc ovirt-engine-extension-aaa-ldap mod_auth_gssapi mod_session
注記ovirt-engine-extension-aaa-ldap
は非推奨になりました。新規インストールの場合は、Red Hat Single Sign On を使用します。詳細は、管理ガイド の Red Hat Single Sign-On のインストールおよび設定 を参照してください。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
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
認証方法ファイルを確認します。レルムは keytab ファイルから自動的に取得されるため、このファイルを編集する必要はありません。
# vi /etc/httpd/conf.d/ovirt-sso.conf
例3.9 認証方法ファイルの例
<LocationMatch ^/ovirt-engine/sso/(interactive-login-negotiate|oauth/token-http-auth)|^/ovirt-engine/api> <If "req('Authorization') !~ /^(Bearer|Basic)/i"> RewriteEngine on RewriteCond %{LA-U:REMOTE_USER} ^(.*)$ RewriteRule ^(.*)$ - [L,NS,P,E=REMOTE_USER:%1] RequestHeader set X-Remote-User %{REMOTE_USER}s AuthType GSSAPI AuthName "Kerberos Login" # Modify to match installation GssapiCredStore keytab:/etc/httpd/http.keytab GssapiUseSessions On Session On SessionCookieName ovirt_gssapi_session path=/private;httponly;secure; Require valid-user ErrorDocument 401 "<html><meta http-equiv=\"refresh\" content=\"0; url=/ovirt-engine/sso/login-unauthorized\"/><body><a href=\"/ovirt-engine/sso/login-unauthorized\">Here</a></body></html>" </If> </LocationMatch>
管理ポータルおよび仮想マシンポータルのログインページでユーザーに表示するプロファイル名と一致するように、設定ファイルの名前を変更します。
# mv /etc/ovirt-engine/aaa/profile1.properties /etc/ovirt-engine/aaa/example.properties
# 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-mapping.properties /etc/ovirt-engine/extensions.d/example-http-mapping.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
例3.10 プロファイルの例: 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 証明書を取得し、それを使用して公開 keystore ファイルを作成します。次の行のコメントを解除し、公開 keystore ファイルへのフルパスとファイルにアクセスするためのパスワードを指定します。
注記公開 keystore ファイルの作成の詳細は、Manager と LDAP サーバー間の SSL または TLS 接続の設定 を参照してください。
例3.11 プロファイルの例: keystore セクション
# 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 = password
認証設定ファイルを確認します。管理ポータルおよび仮想マシンポータルのログインページでユーザーに表示されるプロファイル名は、ovirt.engine.aaa.authn.profile.name によって定義されます。設定プロファイルの場所は、LDAP 設定ファイルの場所と一致する必要があります。すべてのフィールドをデフォルトのままにできます。
# vi /etc/ovirt-engine/extensions.d/example-http-authn.properties
例3.12 認証設定ファイルの例
ovirt.engine.extension.name = example-http-authn ovirt.engine.extension.bindings.method = jbossmodule ovirt.engine.extension.binding.jbossmodule.module = org.ovirt.engine.extension.aaa.misc ovirt.engine.extension.binding.jbossmodule.class = org.ovirt.engine.extension.aaa.misc.http.AuthnExtension ovirt.engine.extension.provides = org.ovirt.engine.api.extensions.aaa.Authn ovirt.engine.aaa.authn.profile.name = example-http ovirt.engine.aaa.authn.authz.plugin = example-authz ovirt.engine.aaa.authn.mapping.plugin = example-http-mapping config.artifact.name = HEADER config.artifact.arg = X-Remote-User
許可設定ファイルを確認してください。設定プロファイルの場所は、LDAP 設定ファイルの場所と一致する必要があります。すべてのフィールドをデフォルトのままにできます。
# vi /etc/ovirt-engine/extensions.d/example-authz.properties
例3.13 許可設定ファイルの例
ovirt.engine.extension.name = example-authz ovirt.engine.extension.bindings.method = jbossmodule ovirt.engine.extension.binding.jbossmodule.module = org.ovirt.engine.extension.aaa.ldap ovirt.engine.extension.binding.jbossmodule.class = org.ovirt.engine.extension.aaa.ldap.AuthzExtension ovirt.engine.extension.provides = org.ovirt.engine.api.extensions.aaa.Authz config.profile.file.1 = ../aaa/example.properties
認証マッピング設定ファイルを確認します。設定プロファイルの場所は、LDAP 設定ファイルの場所と一致する必要があります。設定プロファイルの拡張名は、認証設定ファイルの
ovirt.engine.aaa.authn.mapping.plugin
値と一致させる必要があります。すべてのフィールドをデフォルトのままにできます。# vi /etc/ovirt-engine/extensions.d/example-http-mapping.properties
例3.14 認証マッピング設定ファイルの例
ovirt.engine.extension.name = example-http-mapping ovirt.engine.extension.bindings.method = jbossmodule ovirt.engine.extension.binding.jbossmodule.module = org.ovirt.engine.extension.aaa.misc ovirt.engine.extension.binding.jbossmodule.class = org.ovirt.engine.extension.aaa.misc.mapping.MappingExtension ovirt.engine.extension.provides = org.ovirt.engine.api.extensions.aaa.Mapping config.mapAuthRecord.type = regex config.mapAuthRecord.regex.mustMatch = true config.mapAuthRecord.regex.pattern = ^(?<user>.*?)((\\\\(?<at>@)(?<suffix>.*?)@.*)|(?<realm>@.*))$ config.mapAuthRecord.regex.replacement = ${user}${at}${suffix}
設定ファイルの所有権およびパーミッションが適切であることを確認してください。
# chown ovirt:ovirt /etc/ovirt-engine/aaa/example.properties
# chown ovirt:ovirt /etc/ovirt-engine/extensions.d/example-http-authn.properties
# chown ovirt:ovirt /etc/ovirt-engine/extensions.d/example-http-mapping.properties
# chown ovirt:ovirt /etc/ovirt-engine/extensions.d/example-authz.properties
# chmod 600 /etc/ovirt-engine/aaa/example.properties
# chmod 640 /etc/ovirt-engine/extensions.d/example-http-authn.properties
# chmod 640 /etc/ovirt-engine/extensions.d/example-http-mapping.properties
# chmod 640 /etc/ovirt-engine/extensions.d/example-authz.properties
Apache サービスおよび
ovirt-engine
サービスを再起動します。# systemctl restart httpd.service # systemctl restart ovirt-engine.service
3.6.5. Red Hat Single Sign-On のインストールおよび設定
認証方法として Red Hat Single Sign-On を使用するには、以下を行う必要があります。
- Red Hat SSO をインストールします。
- LDAP グループマッパーを設定します。
- Manager で Apache を設定します。
- OVN プロバイダーの認証情報を設定します。
- モニタリングポータル (Grafana) を設定します。
Red Hat SSO が設定されている場合、一度に使用できる認証プロトコルは 1 つだけであるため、以前の LDAP サインオンは機能しません。
3.6.5.1. Red Hat SSO のインストール
Red Hat Single Sign-On をインストールするには、ZIP ファイルをダウンロードして解凍するか、RPM ファイルを使用します。
Red Hat SSO のインストール に記載されたインストール手順に従います
次の情報を準備します。
-
Open ID Connect
サーバーのパス/場所。 - 正しいリポジトリーのサブスクリプションチャネル。
- 有効な Red Hat サブスクリプションのログイン認証情報。
3.6.5.2. LDAP グループマッパーの設定
手順
以下の情報を使用して LDAP グループマッパーを追加します。
-
Name
: ldapgroups -
Mapper Type
: group-ldap-mapper -
LDAP Groups DN
: ou=groups,dc=example,dc=com -
Group Object Classes
: groupofuniquenames (LDAP サーバーの設定に応じてこのクラスを適合させます) -
Membership LDAP Attribute
: uniquemember (LDAP サーバーの設定に応じてこのクラスを適合させます)
-
-
Save
をクリックします。 -
Sync LDAP Groups to KeyCloak
をクリックします。 -
User Federation Provider
ページの下部で、Synchronize all users
をクリックします。 -
Clients
タブのAdd Client
で、Client ID
にovirt-engine
を追加し、Root URL
にエンジンの URL を入力します。 -
Client Protocol
をopenid-connect
に変更し、Access Type
をconfidential
に変更します。 -
Clients
タブのOvirt-engine
>Advanced Settings
で、Access Token Lifespan
の有効期間を延長します。 -
https://rhvm.example.com:443/*
を有効なリダイレクト URI として追加します。 - クライアントシークレットが生成されます。これは、認証情報タブで確認できます。
Create Mapper Protocol
の下のClients
タブで、以下の設定でマッパーを作成します。-
Name
: groups -
Mapper Type
: Group Membership -
Token Claim Name
: groups -
Full group path
:ON
-
Add to ID token
:ON
-
Add to access token
:ON
-
Add to userinfo
:ON
-
-
username
にBuiltin Protocol Mapper
を追加します。 -
ovirt-engine
、ovirt-app-api
、ovirt-app-admin
、およびovirt-ext=auth:sequence-priority=~
で必要なスコープを作成します。 - 前の手順で作成したスコープを使用して、ovirt-engine クライアントのオプションのクライアントスコープを設定します。
3.6.5.3. Manager での Apache の設定
mod_auth_openidc
モジュールを有効にします。# dnf module enable mod_auth_openidc:2.3 -y
Manager で Apache を設定します。
# dnf install mod_auth_openidc
/etc/httpd/conf.d/ に、以下の内容で新しい
httpd
設定ファイルovirt-openidc.conf
を作成します。LoadModule auth_openidc_module modules/mod_auth_openidc.so OIDCProviderMetadataURL https://SSO.example.com/auth/realms/master/.well-known/openid-configuration OIDCSSLValidateServer Off OIDCClientID ovirt-engine OIDCClientSecret <client_SSO _generated_key> OIDCRedirectURI https://rhvm.example.com/ovirt-engine/callback OIDCDefaultURL https://rhvm.example.com/ovirt-engine/login?scope=ovirt-app-admin+ovirt-app-portal+ovirt-ext%3Dauth%3Asequence-priority%3D%7E # maps the prefered_username claim to the REMOTE_USER environment variable: OIDCRemoteUserClaim <preferred_username> OIDCCryptoPassphrase <random1234> <LocationMatch ^/ovirt-engine/sso/(interactive-login-negotiate|oauth/token-http-auth)|^/ovirt-engine/callback> <If "req('Authorization') !~ /^(Bearer|Basic)/i"> Require valid-user AuthType openid-connect ErrorDocument 401 "<html><meta http-equiv=\"refresh\" content=\"0; url=/ovirt-engine/sso/login-unauthorized\"/><body><a href=\"/ovirt-engine/sso/login-unauthorized\">Here</a></body></html>" </If> </LocationMatch> OIDCOAuthIntrospectionEndpoint https://SSO.example.com/auth/realms/master/protocol/openid-connect/token/introspect OIDCOAuthSSLValidateServer Off OIDCOAuthIntrospectionEndpointParams token_type_hint=access_token OIDCOAuthClientID ovirt-engine OIDCOAuthClientSecret <client_SSO _generated_key> OIDCOAuthRemoteUserClaim sub <LocationMatch ^/ovirt-engine/(api$|api/)> AuthType oauth20 Require valid-user </LocationMatch>
設定変更を保存するには、httpd および ovirt-engine を再起動します。
# systemctl restart httpd # systemctl restart ovirt-engine
以下の内容で、/etc/ovirt-engine/extensions.d/ に
openidc-authn.properties
ファイルを作成します。ovirt.engine.extension.name = openidc-authn ovirt.engine.extension.bindings.method = jbossmodule ovirt.engine.extension.binding.jbossmodule.module = org.ovirt.engine.extension.aaa.misc ovirt.engine.extension.binding.jbossmodule.class = org.ovirt.engine.extension.aaa.misc.http.AuthnExtension ovirt.engine.extension.provides = org.ovirt.engine.api.extensions.aaa.Authn ovirt.engine.aaa.authn.profile.name = openidchttp ovirt.engine.aaa.authn.authz.plugin = openidc-authz ovirt.engine.aaa.authn.mapping.plugin = openidc-http-mapping config.artifact.name = HEADER config.artifact.arg = OIDC_CLAIM_preferred_username
以下の内容で、/etc/ovirt-engine/extensions.d/ に
openidc-http-mapping.properties
ファイルを作成します。ovirt.engine.extension.name = openidc-http-mapping ovirt.engine.extension.bindings.method = jbossmodule ovirt.engine.extension.binding.jbossmodule.module = org.ovirt.engine.extension.aaa.misc ovirt.engine.extension.binding.jbossmodule.class = org.ovirt.engine.extension.aaa.misc.mapping.MappingExtension ovirt.engine.extension.provides = org.ovirt.engine.api.extensions.aaa.Mapping config.mapAuthRecord.type = regex config.mapAuthRecord.regex.mustMatch = false config.mapAuthRecord.regex.pattern = ^(?<user>.*?)((\\\\(?<at>@)(?<suffix>.*?)@.*)|(?<realm>@.*))$ config.mapAuthRecord.regex.replacement = ${user}${at}${suffix}
以下の内容で、/etc/ovirt-engine/extensions.d/ に
openidc-authz.properties
ファイルを作成します。ovirt.engine.extension.name = openidc-authz ovirt.engine.extension.bindings.method = jbossmodule ovirt.engine.extension.binding.jbossmodule.module = org.ovirt.engine.extension.aaa.misc ovirt.engine.extension.binding.jbossmodule.class = org.ovirt.engine.extension.aaa.misc.http.AuthzExtension ovirt.engine.extension.provides = org.ovirt.engine.api.extensions.aaa.Authz config.artifact.name.arg = OIDC_CLAIM_preferred_username config.artifact.groups.arg = OIDC_CLAIM_groups
以下の内容で、/etc/ovirt-engine/engine.conf.d/ に
99-enable-external-auth.conf
ファイルを作成します。ENGINE_SSO_ENABLE_EXTERNAL_SSO=true ENGINE_SSO_EXTERNAL_SSO_LOGOUT_URI="${ENGINE_URI}/callback" EXTERNAL_OIDC_USER_INFO_END_POINT=https://SSO.example.com/auth/realms/master/protocol/openid-connect/userinfo EXTERNAL_OIDC_TOKEN_END_POINT=https://SSO.example.com/auth/realms/master/protocol/openid-connect/token EXTERNAL_OIDC_LOGOUT_END_POINT=https://SSO.example.com/auth/realms/master/protocol/openid-connect/logout EXTERNAL_OIDC_CLIENT_ID=ovirt-engine EXTERNAL_OIDC_CLIENT_SECRET="<client_SSO _generated_key>" EXTERNAL_OIDC_HTTPS_PKI_TRUST_STORE="/etc/pki/java/cacerts" EXTERNAL_OIDC_HTTPS_PKI_TRUST_STORE_PASSWORD="" EXTERNAL_OIDC_SSL_VERIFY_CHAIN=false EXTERNAL_OIDC_SSL_VERIFY_HOST=false
3.6.5.4. OVN の設定
Manager で ovirt-ovn-provider を設定した場合は、OVN プロバイダーの認証情報を設定する必要があります。
手順
以下の内容で /etc/ovirt-provider-ovn/conf.d/ に
20-setup-ovirt-provider-ovn.conf
ファイルを作成します。ここでの user1 は LDAP グループ ovirt-administrator に属し、openidchttp は aaa-ldap-misc 用に設定されたプロファイルです。[OVIRT] ovirt-admin-user-name=user1@openidchttp
ovirt-provider-ovn
を再起動します。# systemctl restart ovirt-provider-ovn
-
管理ポータルにログインして
に移動し、ovirt-provider-ovn を選択し、 をクリックして ovn プロバイダーのパスワードを更新します。
3.6.5.5. モニタリングポータル (Grafana) の設定
手順
クライアントの有効なリダイレクト URL を設定します。
- 前の手順で設定したクライアントを選択します (例: ovirt-engine)。
-
モニタリングポータル (Grafana) 用に有効なリダイレクト URI を追加します。有効なリダイレクト URI:
https://rhvm.example.com:443/ovirt-engine-grafana/login/generic_oauth/
- Mappers タブを選択します。
-
Name:
realm role
-
Mapper Type:
User Realm Role
-
Token Claim Name:
realm_access.roles
- Claim JSON Type: String
-
Name:
Grafana 固有のロールを設定します。
- メインメニューから Roles を選択します。
-
admin
、editor
、viewer
のロールを追加します。
目的のグループに Grafana 固有のロールを割り当てます。
- メインメニューから Groups を選択し、目的のグループを選択します。
- Role Mappings を選択します。
- 目的のロールを Available Roles から Assigned Roles に移動します。
Grafana の設定 -
/etc/grafana/grafana.ini
のauth.generic_oauth
セクションを次のように変更します。必要に応じて、山括弧 (< >) 内の値を置き換えてください。(...) #################################### Generic OAuth ####################### [auth.generic_oauth] name = oVirt Engine Auth enabled = true allow_sign_up = true client_id = ovirt-engine client_secret = <client-secret-of-RH-SSO> scopes = openid,ovirt-app-admin,ovirt-app-portal,ovirt-ext=auth:sequence-priority=~ email_attribute_name = email:primary role_attribute_path = "contains(realm_access.roles[*], 'admin') && 'Admin' || contains(realm_access.roles[*], 'editor') && 'Editor' || 'Viewer'" auth_url = https://<rh-sso-hostname>/auth/realms/<RH-SSO-REALM>/protocol/openid-connect/auth token_url = https://<rh-sso-hostname>/auth/realms/<RH-SSO-REALM>/protocol/openid-connect/token api_url = https://<rh-sso-hostname>/auth/realms/<RH-SSO-REALM>/protocol/openid-connect/userinfo team_ids = allowed_organizations = tls_skip_verify_insecure = false tls_client_cert = tls_client_key = tls_client_ca = /etc/pki/ovirt-engine/apache-ca.pem send_client_credentials_via_post = false (...)
3.6.6. ユーザーの承認
3.6.6.1. ユーザー認証モデル
Red Hat Virtualization は、次の 3 つのコンポーネントの組み合わせに基づいて承認制御を適用します。
- アクションを実行するユーザー
- 実行されているアクションのタイプ
- アクションが実行されているオブジェクト
3.6.6.2. ユーザーアクション
アクションを正常に実行するには、アクションの対象となる オブジェクト に対する適切な パーミッション を ユーザー が、持っている必要があります。各アクションの種類には、対応する パーミッション があります。
いくつかのアクションは、複数のオブジェクトに対して実行されます。たとえば、テンプレートを別のストレージドメインにコピーすると、テンプレートと宛先ストレージドメインの両方に影響します。アクションを実行するユーザーは、アクションが影響を与えるすべてのオブジェクトに対して適切なパーミッションを持っている必要があります。
3.6.7. 管理ポータルからのユーザータスクの管理
3.6.7.1. Account Settings ウィンドウ
General タブ
- User Name - 読み取り専用。
- E-mail - 読み取り専用。
Home Page:
Default -
#dashboard-main
.Custom home page - ハッシュマーク (
#
) を含む URL の最後の部分のみを入力します。例:#vms-snapshots;name-testVM
。Serial Console
User’s Public Key - シリアルコンソールを使用して Manager にアクセスするために使用される SSH 公開鍵を入力します。
Tables
Persist grid settings - グリッド列の設定をサーバーに保存します。
Confirmations タブ:
Show confirmation dialog on Suspend VM - 仮想マシンが一時停止された場合の確認ダイアログを有効にします。
3.6.7.2. ユーザーの追加と VM ポータルパーミッションの割り当て
ユーザーを追加してロールおよびパーミッションを割り当てる前に、ユーザーを作成しておく必要があります。この手順で割り当てられたロールとパーミッションにより、ユーザーは VM ポータルにログインして仮想マシンの作成を開始できます。この手順は、グループアカウントにも適用されます。
手順
-
ヘッダーバーで、
をクリックします。これにより、Configure ウィンドウが開きます。 - System Permissions をクリックします。
- Add をクリックします。Add System Permission to User ウィンドウが開きます。
- Search でプロファイルを選択します。プロファイルは、検索するドメインです。検索テキストフィールドに名前または名前の一部を入力し、GO をクリックします。または、GO をクリックして、すべてのユーザーとグループのリストを表示します。
- 適切なユーザーまたはグループのチェックボックスを選択します。
- Role to Assign で、割り当てる適切なロールを選択します。UserRole ロールは、VM ポータルにログインするためのアクセス許可をユーザーアカウントに付与します。
- をクリックします。
VM ポータルにログインして、ユーザーアカウントにログインするパーミッションがあることを確認します。
3.6.7.3. ユーザー情報の表示
手順
-
をクリックして、承認されたユーザーの一覧を表示します。 - ユーザーの名前をクリックします。詳細ビューが開き、通常は General タブにドメイン名、電子メール、ユーザーのステータスなどの一般情報が表示されます。
- 他のタブでは、ユーザーのグループ、パーミッション、割り当て、およびイベントを表示できます。
たとえば、ユーザーが属するグループを表示するには、Directory Groups タブをクリックします。
3.6.7.4. リソースでのユーザーパーミッションの表示
ユーザーには、特定のリソースまたはリソース階層のパーミッションを割り当てることができます。各リソースに割り当てられたユーザーとそのパーミッションを表示できます。
手順
- リソースの名前を見つけてクリックします。詳細ビューが開きます。
- Permissions タブをクリックして、割り当てられたユーザー、ユーザーのロール、および選択したリソースの継承されたパーミッションを一覧表示します。
3.6.7.5. ユーザーの削除
不要になったユーザーアカウントは、Red Hat Virtualization から削除します。
手順
-
をクリックして、承認されたユーザーの一覧を表示します。 - 削除するユーザーを選択します。ユーザーが仮想マシンを実行していないことを確認します。
- Remove をクリックしてから をクリックします。
ユーザーは Red Hat Virtualization から削除されますが、外部ディレクトリーからは削除されません。
3.6.7.6. ログインしたユーザーの表示
現在ログインしているユーザーを、セッション時間やその他の詳細とともに表示できます。
3.6.7.7. ユーザーセッションの終了
現在ログインしているユーザーのセッションを終了できます。
ユーザーセッションの終了
-
をクリックします。 - 終了するユーザーセッションを選択します。
- Terminate Session をクリックします。
- をクリックします。
3.6.8. コマンドラインからのユーザータスクの管理
ovirt-aaa-jdbc-tool
ツールを使用して、内部ドメインのユーザーアカウントを管理できます。このツールを使用して行った変更はすぐに反映され、ovirt-engine
サービスを再起動する必要はありません。ユーザーオプションの完全なリストを確認するには、ovirt-aaa-jdbc-tool user --help
を実行してください。このセクションでは、一般的な例を示します。
Manager マシンにログインする必要があります。
3.6.8.1. 新しいユーザーの作成
新しいユーザーアカウントを作成できます。オプションの --attribute
コマンドは、アカウントの詳細を指定します。オプションの完全なリストについては、ovirt-aaa-jdbc-tool user add --help
を実行してください。
# ovirt-aaa-jdbc-tool user add test1 --attribute=firstName=John --attribute=lastName=Doe adding user test1... user added successfully
管理ポータルで新しく作成されたユーザーを追加し、ユーザーに適切なロールとパーミッションを割り当てることができます。詳細は、ユーザーの追加 を参照してください。
3.6.8.2. ユーザーパスワードの設定
パスワードを作成できます。--password-valid-to
の値を設定する必要があります。設定しないと、パスワードの有効期限はデフォルトで現在の時刻になります。
+ 日付形式は yyyy-MM-dd HH:mm:ssX
です。ここで、X
は UTC からのタイムゾーンオフセットになります。この例では、-0800
は GMT から 8 時間を引いたものを表します。ゼロオフセットの場合は、値 Z
を使用します。
+ その他のオプションについては、ovirt-aaa-jdbc-tool user password-reset --help
を実行してください。
# ovirt-aaa-jdbc-tool user password-reset test1 --password-valid-to="2025-08-01 12:00:00-0800" Password: updating user test1... user updated successfully
デフォルトでは、内部ドメインのユーザーアカウントのパスワードポリシーには次の制限があります。
- 6 文字以上。
- パスワード変更中は、過去に使用した 3 つのパスワードを再度設定できません。
パスワードポリシーおよびその他のデフォルト設定の詳細は、ovirt-aaa-jdbc-tool settings show
を実行してください。
管理者パスワードが更新されたら、変更を手動で ovirt-provider-ovn
に送信する必要があります。そうしないと、Red Hat Virtualization Manager が引き続き古いパスワードを使用して ovirt-provider-ovn
からのネットワークを同期するため、admin ユーザーがロックされます。新しいパスワードを ovirt-provider-ovn
に送信するには、次の手順を実行します。
-
管理ポータルで、
をクリックします。 - ovirt-provider-ovn を選択します。
- Edit をクリックして、Password フィールドに新しいパスワードを入力します。
- をクリックして、指定した認証情報で認証が成功するかどうかをテストします。
- 認証テストが成功したら、 をクリックします。
3.6.8.3. ユーザータイムアウトの設定
ユーザータイムアウト期間を設定できます。
# engine-config --set UserSessionTimeOutInterval=integer
3.6.8.4. ユーザーパスワードの事前暗号化
ovirt-engine-crypto-tool
スクリプトを使用して、事前に暗号化されたユーザーパスワードを作成できます。このオプションは、スクリプトを使用してデータベースにユーザーとパスワードを追加する場合に役立ちます。
パスワードは、暗号化された形式で Manager データベースに保存されます。すべてのパスワードを同じアルゴリズムで暗号化する必要があるため、ovirt-engine-crypto-tool
スクリプトが使用されます。
パスワードがあらかじめ暗号化されている場合、パスワードの有効性テストは行えません。パスワードは、パスワード検証ポリシーに準拠していなくても受け入れられます。
以下のコマンドを実行します。
# /usr/share/ovirt-engine/bin/ovirt-engine-crypto-tool.sh pbe-encode
スクリプトは、パスワードの入力を促します。
また、
--password=file:file
オプションを使用すると、ファイルの先頭行として表示される 1 つのパスワードを暗号化することができます。このオプションは自動化に役立ちます。次の例では、file
は暗号化用の単一のパスワードを含むテキストファイルです。# /usr/share/ovirt-engine/bin/ovirt-engine-crypto-tool.sh pbe-encode --password=file:file
ovirt-aaa-jdbc-tool
スクリプトで、--encrypted
オプションを使用して新しいパスワードを設定します。# ovirt-aaa-jdbc-tool user password-reset test1 --password-valid-to="2025-08-01 12:00:00-0800" --encrypted
暗号化されたパスワードを入力して確認します。
Password: Reenter password: updating user test1... user updated successfully
3.6.8.5. ユーザー情報の表示
詳細なユーザーアカウント情報を表示できます。
# ovirt-aaa-jdbc-tool user show test1
このコマンドにより、管理ポータルの
3.6.8.6. ユーザー情報の編集
メールアドレスなどのユーザー情報を更新できます。
# ovirt-aaa-jdbc-tool user edit test1 --attribute=email=jdoe@example.com
3.6.8.7. ユーザーの削除
ユーザーアカウントを削除できます。
# ovirt-aaa-jdbc-tool user delete test1
管理ポータルからユーザーを削除します。詳細は、ユーザーの削除 を参照してください。
3.6.8.8. 内部管理ユーザーの無効化
engine-setup
中に作成された admin@internal ユーザーを含む、ローカルドメインのユーザーを無効にすることができます。デフォルトの admin ユーザーを無効にする前に、完全な管理者パーミッションを持つ環境に少なくとも 1 人のユーザーがいることを確認してください。
手順
- Red Hat Virtualization Manager がインストールされているマシンにログインします。
- SuperUser ロールを持つ別のユーザーが環境に追加されていることを確認してください。詳細は、ユーザーの追加 を参照してください。
デフォルトの admin ユーザーを無効にします。
# ovirt-aaa-jdbc-tool user edit
admin
--flag=+disabled
無効になっているユーザーを有効にするには、ovirt-aaa-jdbc-tool user edit username --flag=-disabled
を実行します。
3.6.8.9. グループの管理
ovirt-aaa-jdbc-tool
ツールを使用して、内部ドメインのグループアカウントを管理できます。グループアカウントの管理は、ユーザーアカウントの管理に似ています。グループオプションの全リストは、ovirt-aaa-jdbc-tool group --help
を実行してください。このセクションでは、一般的な例を示します。
グループの作成
この手順では、グループアカウントを作成し、ユーザーをグループに追加し、グループの詳細を表示する方法を示します。
- Red Hat Virtualization Manager がインストールされているマシンにログインします。
新規グループを作成します。
# ovirt-aaa-jdbc-tool group add group1
ユーザーをグループに追加します。ユーザーが作成されている必要があります。
# ovirt-aaa-jdbc-tool group-manage useradd group1 --user=test1
注記group-manage オプションの全リストは、
ovirt-aaa-jdbc-tool group-manage --help
を実行してください。グループアカウントの詳細を表示します。
# ovirt-aaa-jdbc-tool group show group1
- 新しく作成したグループを管理ポータルに追加し、グループに適切なロールとパーミッションを割り当てます。グループ内のユーザーは、グループのロールおよびパーミッションを継承します。詳細は、ユーザーの追加 を参照してください。
ネストされたグループの作成
この手順では、グループ内にグループを作成する方法を示します。
- Red Hat Virtualization Manager がインストールされているマシンにログインします。
最初のグループを作成します。
# ovirt-aaa-jdbc-tool group add group1
2 番目のグループを作成します。
# ovirt-aaa-jdbc-tool group add group1-1
2 番目のグループを最初のグループに追加します。
# ovirt-aaa-jdbc-tool group-manage groupadd group1 --group=group1-1
- 管理ポータルに最初のグループを追加し、グループに適切なロールおよびパーミッションを割り当てます。詳細は、ユーザーの追加 を参照してください。
3.6.8.10. ユーザーおよびグループのクエリー
query
モジュールを使用すると、ユーザーおよびグループの情報をクエリーできます。オプションの完全なリストについては、ovirt-aaa-jdbc-tool query --help
を実行してください。
すべてのユーザーまたはグループアカウントの詳細の一覧表示
この手順では、すべてのアカウント情報を一覧表示する方法を示します。
- Red Hat Virtualization Manager がインストールされているマシンにログインします。
アカウントの詳細を一覧表示します。
すべてのユーザーアカウントの詳細:
# ovirt-aaa-jdbc-tool query --what=user
すべてのグループアカウントの詳細:
# ovirt-aaa-jdbc-tool query --what=group
フィルタリングされたアカウントの詳細の一覧表示
この手順では、アカウント情報を一覧表示するときにフィルターを適用する方法を示します。
- Red Hat Virtualization Manager がインストールされているマシンにログインします。
--pattern
パラメーターを使用して、アカウントの詳細をフィルタリングします。文字 j で始まる名前でユーザーアカウントの詳細を一覧表示します。
# ovirt-aaa-jdbc-tool query --what=user --pattern="name=j*"
部門属性が marketing に設定されているグループを一覧表示します。
# ovirt-aaa-jdbc-tool query --what=group --pattern="department=marketing"
3.6.8.11. アカウント設定の管理
デフォルトのアカウント設定を変更するには、ovirt-aaa-jdbc-tool
settings
モジュールを使用します。
アカウント設定の更新
この手順では、デフォルトのアカウント設定を更新する方法を示します。
- Red Hat Virtualization Manager がインストールされているマシンにログインします。
次のコマンドを実行して、使用可能なすべての設定を表示します。
# ovirt-aaa-jdbc-tool settings show
必要な設定を変更します。
この例では、すべてのユーザーアカウントのデフォルトのログインセッション時間を 60 分に更新します。デフォルト値は 10080 分です。
# ovirt-aaa-jdbc-tool settings set --name=MAX_LOGIN_MINUTES --value=60
この例では、ユーザーアカウントがロックされる前に、ユーザーが実行できるログイン試行の失敗回数を更新します。デフォルト値は 5 です。
# ovirt-aaa-jdbc-tool settings set --name=MAX_FAILURES_SINCE_SUCCESS --value=3
注記ロックされたユーザーアカウントを解除するには、
ovirt-aaa-jdbc-tool user unlock test1
を実行します。
3.6.9. 追加のローカルドメインの設定
デフォルトの 内部 ドメインに加え、追加のローカルドメインの作成もサポートされています。これは、ovirt-engine-extension-aaa-jdbc 拡張機能を使用して実行でき、外部のディレクトリーサーバーを接続せずに複数のドメインを作成できますが、エンタープライズ環境ではこのユースケースは一般的ではないでしょう。
追加で作成されたローカルドメインは、標準の Red Hat Virtualization アップグレード中に自動的にアップグレードされることはなく、将来のリリースごとに手動でアップグレードする必要があります。追加のローカルドメインの作成と、ドメインのアップグレード方法に関する詳細は、/usr/share/doc/ovirt-engine-extension-aaa-jdbc-version/README.admin の README ファイルを参照してください。
ovirt-engine-extension-aaa-jdbc
拡張機能は非推奨になりました。新規インストールの場合は、Red Hat Single Sign On を使用します。詳細は、管理ガイド の Red Hat Single Sign-On のインストールおよび設定 を参照してください。