第5章 director でのドメイン固有の LDAP バックエンドの使用

Red Hat OpenStack Platform director では、keystone が 1 つまたは複数の LDAP バックエンドを使用するように設定することができます。この方法では、keystone ドメインごとに別々の LDAP バックエンドが作成されます。

5.1. 設定オプションの指定

Red Hat OpenStack Platform director を使用したデプロイメントの場合には、Heat テンプレートで KeystoneLDAPDomainEnable フラグを true に設定する必要があります。その結果、keystone で domain_specific_drivers_enabled オプションが設定されます (identity 設定グループ内)。

注記

ドメイン設定ファイルのデフォルトのディレクトリーは /etc/keystone/domains/ に設定されています。keystone::domain_config_directory hiera キーを使用して環境ファイル内に ExtraConfig パラメーターを追加して必要なパスを設定することによってオーバーライドすることができます。

LDAP バックエンドの設定の仕様を追加する必要もあります。これは、tripleo-heat-templatesKeystoneLDAPBackendConfigs パラメーターを使用して設定します。これで、必要な LDAP オプションを指定することができるようになります。利用可能なオプションについての詳しい情報は、『Configuration Reference Guide』を参照してください。

5.2. director デプロイメントの設定

重要

Heat テンプレートには、現在既知の問題があり、keystone.yamlkeystone_domain_confg タグが含まれていません。この問題の回避策と詳しい情報は、https://bugzilla.redhat.com/show_bug.cgi?id=1519057 を参照してください。

  1. keystone_domain_specific_ldap_backend.yaml 環境ファイルのコピーを作成します。

    $ cp /usr/share/openstack-tripleo-heat-templates/environments/services/keystone_domain_specific_ldap_backend.yaml /home/stack/templates/
  2. /home/stack/templates/keystone_domain_specific_ldap_backend.yaml 環境ファイルを編集して、デプロイメントに適した値を設定します。たとえば、以下のエントリーは、testdomain という名前の keystone ドメイン向けの LDAP 設定を作成しています。

        parameter_defaults:
          KeystoneLDAPDomainEnable: true
          KeystoneLDAPBackendConfigs:
            testdomain:
              url: ldaps://192.0.2.250
              user: cn=openstack,ou=Users,dc=director,dc=example,dc=com
              password: RedactedComplexPassword
              suffix: dc=director,dc=example,dc=com
              user_tree_dn: ou=Users,dc=director,dc=example,dc=com
              user_filter: "(memberOf=cn=OSuser,ou=Groups,dc=director,dc=example,dc=com)"
              user_objectclass: person
              user_id_attribute: cn
              user_allow_create: false
              user_allow_update: false
              user_allow_delete: false
  3. また、複数のドメインを指定するように環境ファイルを設定することも可能です。以下に例を示します。

        KeystoneLDAPBackendConfigs:
          domain1:
            url: ldaps://domain1.example.com
            user: cn=openstack,ou=Users,dc=director,dc=example,dc=com
            password: RedactedComplexPassword
            ...
          domain2:
            url: ldaps://domain2.example.com
            user: cn=openstack,ou=Users,dc=director,dc=example,dc=com
            password: RedactedComplexPassword
            ...

    これにより、domain1domain2 という名前の 2 つのドメインが指定され、各ドメインには、異なる LDAP ドメインが独自の設定で適用されます。