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 つ用意してください。

手順15.1 外部の LDAP プロバイダーの設定

  1. Red Hat Virtualization Manager に LDAP 拡張機能のパッケージをインストールします。
    # yum install ovirt-engine-extension-aaa-ldap-setup
  2. ovirt-engine-extension-aaa-ldap-setup を実行して、対話式の設定を開始します。
    # ovirt-engine-extension-aaa-ldap-setup
  3. 対応する番号を入力して LDAP タイプを選択します。お使いの LDAP サーバーのスキーマがどれだかわからない場合には、LDAP サーバータイプの標準スキーマを選択してください。Active Directory の場合には、「Active Directory のアタッチ」の手順に従ってください。
    Available LDAP implementations:
    1 - 389ds
    2 - 389ds RFC-2307 Schema
    3 - Active Directory
    4 - IPA
    5 - Novell eDirectory RFC-2307 Schema
    6 - OpenLDAP RFC-2307 Schema
    7 - OpenLDAP Standard Schema
    8 - Oracle Unified Directory RFC-2307 Schema
    9 - RFC-2307 Schema (Generic)
    10 - RHDS
    11 - RHDS RFC-2307 Schema
    12 - iPlanet
    Please select: 10
  4. 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]:
  5. 対応する番号を入力して DNS ポリシーメソッドを選択します。
    1 - Single server
    2 - DNS domain LDAP SRV record
    3 - Round-robin between multiple hosts
    4 - Failover between multiple hosts
    Please select:
    • オプション 1 の場合は、/etc/resolv.conf にリストされている DNS サーバーが IP アドレス解決に使用されます。/etc/resolv.conf ファイルが最新の状態で、正しい DNS サーバーの情報が記載されていることを確認してください。
      LDAP サーバーの完全修飾ドメイン名 (FQDN) または IP アドレスを入力します。dig コマンドで SRV レコードを使用してドメイン名を確認することができます。SRV レコードは、_service._protocol.domain name の形式を取ります。たとえば、dig _ldap._tcp.redhat.com SRV のようになります。
    • オプション 2 には、DNS サーバーのドメイン名を入力します。SRV レコードをルックアップして LDAP サーバーのドメイン名を見つけるための DNS 検索が実行されます。
    • オプション 3 には、LDAP サーバーのスペース区切りリストを入力します。サーバーの FQDN または IP アドレスのいずれかを使用します。このポリシーは、LDAP サーバー間のロードバランシングを指定します。クエリーは、ラウンドロビンアルゴリズムに従って、全 LDAP サーバー間で分散されます。
    • オプション 4 には、LDAP サーバーのスペース区切りリストを入力します。サーバーの FQDN または IP アドレスのいずれかを使用します。このポリシーは、クエリーに応答するデフォルトの LDAP サーバーとなる最初の LDAP サーバーを定義します。最初のサーバーが利用できない場合には、クエリーはこのリストで次に記載されている LDAP サーバーに割り当てられます。
  6. お使いの 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): File
    Please enter the password:

    注記

    LDAPS とは、Lightweight Directory Access Protocol Over Secure Socket Link の略語です。SSL 接続の場合には、ldaps オプションを選択してください。
  7. 検索ユーザーの識別名を入力します。このユーザーには、ディレクトリーサーバー上の全ユーザーとグループを参照するパーミッションが必要です。検索ユーザーは、LDAP アノテーションで指定する必要があります。匿名検索が許可されている場合には、入力なしで Enter を押してください。
    Enter search user DN (empty for anonymous): uid=user1,ou=Users,dc=test,dc=redhat,dc=com
    Enter search user password:
  8. ベース DN を入力します。
    Please enter base DN (dc=redhat,dc=com) [dc=redhat,dc=com]:
  9. 仮想マシンにシングルサインオンを設定する予定の場合には Yes と入力してください。この機能は、管理ポータルおよびユーザーポータルにシングルサインオンする機能と共には使用できない点に注意してください。スクリプトにより、プロファイル名がドメイン名と必ず一致する必要があることを注意するメッセージが表示されます。『仮想マシン管理ガイド』の「仮想マシンへのシングルサインオン (SSO) 設定」に記載の手順を実行する必要があります。
    Are you going to use Single Sign-On for Virtual Machines (Yes, No) [No]:
  10. プロファイル名を指定します。プロファイル名は、ログインページでユーザーに表示されます。以下の例では redhat.com を使用しています。

    注記

    ドメインの設定後にプロファイルの名前を変更するには、/etc/ovirt-engine/extensions.d/redhat.com-authn.properties ファイルの ovirt.engine.aaa.authn.profile.name 属性を編集します。engine サービスを再起動して、変更を有効にします。
    Please specify profile name that will be visible to users:redhat.com
    管理者ポータルのログインページ

    図15.1 管理者ポータルのログインページ

    注記

    ユーザーは、初回ログイン時にドロップダウンリストから希望のプロファイルを選択する必要があります。この情報は、ブラウザーのクッキーに保管され、次回のユーザーログインでは事前に選択されます。
  11. 検索およびログイン機能をテストして、LDAP サーバーが Red Hat Virtualization 環境に適切に接続されていることを確認します。ログインクエリーでは、アカウント名とパスワードを入力します。検索クエリーでは、ユーザーアカウントの場合は Principal を、グループアカウントの場合は Group を選択します。ユーザーアカウントのグループ情報が返されるようにするには、Resolve GroupsYes と入力します。設定を完了するには、Done を選択します。3 つの設定ファイルが作成され、画面の出力に表示されます。
    NOTE:
    It is highly recommended to test drive the configuration before applying it into engine.
    Perform at least one Login sequence and one Search 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
  12. engine サービスを再起動します。作成したプロファイルが管理ポータルとユーザーポータルのログインページで選択できるようになりました。LDAP サーバー上のユーザーアカウントに適切なロールとパーミッション (例: ユーザーポータルへのログイン) を割り当てるには、「管理ポータルからのユーザー管理タスク」を参照してください。
    # systemctl restart ovirt-engine.service

注記

詳しい情報は、/usr/share/doc/ovirt-engine-extension-aaa-ldap-version にある LDAP の認証/承認の拡張機能の README ファイルを参照してください。

15.3.2. Active Directory のアタッチ

前提条件

  • Active Directory のフォレスト名を知っている必要があります。フォレスト名は、ルートドメイン名とも呼ばれます。
  • 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 つ用意してください。

手順15.2 外部の LDAP プロバイダーの設定

  1. Red Hat Virtualization Manager に LDAP 拡張機能のパッケージをインストールします。
    # yum install ovirt-engine-extension-aaa-ldap-setup
  2. ovirt-engine-extension-aaa-ldap-setup を実行して、対話式の設定を開始します。
    # ovirt-engine-extension-aaa-ldap-setup
  3. 対応する番号を入力して、LDAP タイプを選択します。このステップの後に表示される LDAP 関連の質問は、LDAP タイプによって異なります。
    Available LDAP implementations:
    1 - 389ds
    2 - 389ds RFC-2307 Schema
    3 - Active Directory
    4 - IPA
    5 - Novell eDirectory RFC-2307 Schema
    6 - OpenLDAP RFC-2307 Schema
    7 - OpenLDAP Standard Schema
    8 - Oracle Unified Directory RFC-2307 Schema
    9 - RFC-2307 Schema (Generic)
    10 - RHDS
    11 - RHDS RFC-2307 Schema
    12 - iPlanet
    Please select: 3
  4. 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
  5. お使いの 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 接続の設定」を参照してください。
  6. 検索ユーザーの識別名を入力します。このユーザーには、ディレクトリーサーバー上の全ユーザーとグループを参照するパーミッションが必要です。検索ユーザーは、LDAP アノテーションで指定する必要があります。匿名検索が許可されている場合には、入力なしで Enter を押してください。
    Enter search user DN (empty for anonymous): uid=user1,ou=Users,dc=test,dc=redhat,dc=com
    Enter search user password:
  7. プロファイル名を指定します。プロファイル名は、ログインページでユーザーに表示されます。以下の例では redhat.com を使用しています。
    Please specify profile name that will be visible to users:redhat.com
    管理者ポータルのログインページ

    図15.2 管理者ポータルのログインページ

    注記

    ユーザーは、初回ログイン時にドロップダウンリストから希望のプロファイルを選択する必要があります。この情報は、ブラウザーのクッキーに保管され、次回のユーザーログインでは事前に選択されます。
  8. 検索およびログイン機能をテストして、LDAP サーバーが Red Hat Virtualization 環境に適切に接続されていることを確認します。ログインクエリーでは、アカウント名とパスワードを入力します。検索クエリーでは、ユーザーアカウントの場合は Principal を、グループアカウントの場合は Group を選択します。ユーザーアカウントのグループ情報が返されるようにするには、Resolve GroupsYes と入力します。設定を完了するには、Done を選択します。3 つの設定ファイルが作成され、画面の出力に表示されます。
    NOTE:
    It is highly recommended to test drive the configuration before applying it into engine.
    Perform at least one Login sequence and one Search 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
  9. 作成したプロファイルが管理ポータルとユーザーポータルのログインページで選択できるようになりました。LDAP サーバー上のユーザーアカウントに適切なロールとパーミッション (例: ユーザーポータルへのログイン) を割り当てるには、「管理ポータルからのユーザー管理タスク」を参照してください。

注記

詳しい情報は、/usr/share/doc/ovirt-engine-extension-aaa-ldap-version にある LDAP の認証/承認の拡張機能の README ファイルを参照してください。

15.3.3. 外部の LDAP プロバイダーの設定 (手動の設定)

ovirt-engine-extension-aaa-ldap 拡張機能は、LDAP プロトコルを使用してディレクトリーサーバーにアクセスし、完全にカスタマイズ可能です。ユーザーポータルまたは管理ポータルの機能でシングルサインオンを有効にしない限りは、Kerberos 認証は必要ありません。
前のセクションに記載した対話式の設定メソッドではユースケースの要件を十分に満たさない場合には、手動で設定ファイルを編集して、LDAP サーバーをアタッチすることができます。以下の手順は、一般的な例を示しています。実際の値は、お使いの環境に応じて異なります。

手順15.3 外部の LDAP プロバイダーの手動設定

  1. Red Hat Virtualization Manager に LDAP 拡張機能のパッケージをインストールします。
    # yum install ovirt-engine-extension-aaa-ldap
  2. LDAP 設定テンプレートファイルを /etc/ovirt-engine ディレクトリーにコピーします。テンプレートファイルは、Active Directory 用 (ad) およびその他のディレクトリータイプ用 (simple) に提供されています。以下の例では、シンプル設定テンプレートを使用しています。
    # cp -r /usr/share/ovirt-engine-extension-aaa-ldap/examples/simple/. /etc/ovirt-engine
  3. 管理ポータルおよびユーザーポータルのログインページで表示されるプロファイル名と一致するように設定ファイルの名前を変更します。
    # 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
  4. 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
  5. 認証設定ファイルを確認します。プロファイル名は、管理ポータルおよびユーザーポータルのログインページでユーザーに表示されるプロファイル名は、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
  6. 承認設定ファイルを確認します。設定プロファイルの場所は、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
  7. 設定プロファイルの所有権とパーミッションを適切に設定します。
    # chown ovirt:ovirt /etc/ovirt-engine/aaa/example.properties
    # chmod 600 /etc/ovirt-engine/aaa/example.properties
  8. engine サービスを再起動します。
    # systemctl restart ovirt-engine.service
  9. 作成した example プロファイルが管理ポータルとユーザーポータルのログインページで選択できるようになりました。LDAP サーバー上のユーザーアカウントに適切なロールとパーミッション (例: ユーザーポータルへのログイン) を割り当てるには、「管理ポータルからのユーザー管理タスク」を参照してください。

注記

詳しい情報は、/usr/share/doc/ovirt-engine-extension-aaa-ldap-version にある LDAP の認証/承認の拡張機能の README ファイルを参照してください。