第12章 Identity Management を使用した内部およびパブリックエンドポイントでの SSL/TLS の有効化
全オーバークラウドエンドポイントで SSL/TLS を有効化することができます。多数の証明書数が必要となるため、director は Red Hat Identity Management (IdM) サーバーと統合して認証局として機能し、オーバークラウドの証明書を管理します。このプロセスには、novajoin を使用してオーバークラウドノードを IdM サーバーに登録するプロセスが必要です。
12.1. CA へのアンダークラウド追加
オーバークラウドをデプロイする前には、アンダークラウドを認証局 (CA) に追加する必要があります。
アンダークラウドノードで、
python-novajoinパッケージをインストールします。$ sudo yum install python-novajoin
アンダークラウドノードで
novajoin-ipa-setupスクリプトを実行します。値はデプロイメントに応じて調整します。$ sudo /usr/libexec/novajoin-ipa-setup \ --principal admin \ --password <IdM admin password> \ --server <IdM server hostname> \ --realm <overcloud cloud domain (in upper case)> \ --domain <overcloud cloud domain> \ --hostname <undercloud hostname> \ --precreate以下の項では、ここで設定されたワンタイムパスワード (OTP) を使用してアンダークラウドを登録します。
12.2. アンダークラウドを IdM に追加します。
この手順では、アンダークラウドを IdM に登録して novajoin を設定します。
novajoin サービスは、デフォルトで無効にされます。有効化するには、
undercloud.confにエントリーを追加します。enable_novajoin = true
アンダークラウドノードをIdM に登録するためのワンタイムパスワード (OTP) を設定する必要があります。
ipa_otp = <otp>
neutron の DHCP サーバーによって提供されるオーバークラウドのドメイン名が IdM ドメインと一致するようにします (小文字の kerberos レルム)。
overcloud_domain_name = <domain>
アンダークラウドに適切なホスト名を設定します。
undercloud_hostname = <undercloud FQDN>
アンダークラウドのネームサーバーとして IdM を設定します。
undercloud_nameservers = <IdM IP>
より大きな環境の場合には、novajoin の接続タイムアウト値を確認する必要があります。
undercloud.confで、undercloud-timeout.yamlという名前の新規ファイルへの参照を追加します。hieradata_override = /home/stack/undercloud-timeout.yaml
undercloud-timeout.yamlに以下のオプションを追加します。タイムアウト値は秒単位で指定することができます (例:5)。nova::api::vendordata_dynamic_connect_timeout: <timeout value> nova::api::vendordata_dynamic_read_timeout: <timeout value>
-
undercloud.confファイルを保存します。 アンダークラウドのデプロイコマンドを実行して、既存のアンダークラウドに変更を適用します。
$ openstack undercloud install
12.3. オーバークラウド DNS の設定
IdM 環境を自動検出して、登録をより簡単にするには、IdM を DNS サーバーとして使用することを検討してください。
アンダークラウドに接続します。
$ source ~/stackrc
DNS ネームサーバーとして IdM を使用するためのコントロールプレーンサブネットを設定します。
$ openstack subnet set ctlplane-subnet --dns-nameserver <idm_server_address>
IdM サーバーを使用するように環境ファイルの
DnsServersパラメーターを設定します。parameter_defaults: DnsServers: ["<idm_server_address>"]
このパラメーターは、通常カスタムの
network-environment.yamlファイルで定義されます。
12.4. novajoin を使用するためのオーバークラウドの設定
IdM 統合を有効化するには、
/usr/share/openstack-tripleo-heat-templates/environments/predictable-placement/custom-domain.yaml環境ファイルのコピーを作成します。$ cp /usr/share/openstack-tripleo-heat-templates/environments/predictable-placement/custom-domain.yaml \ /home/stack/templates/custom-domain.yaml
/home/stack/templates/custom-domain.yaml環境ファイルを編集して、デプロイメントに適したCloudDomainとCloudName*の値を設定します。以下に例を示します。parameter_defaults: CloudDomain: lab.local CloudName: overcloud.lab.local CloudNameInternal: overcloud.internalapi.lab.local CloudNameStorage: overcloud.storage.lab.local CloudNameStorageManagement: overcloud.storagemgmt.lab.local CloudNameCtlplane: overcloud.ctlplane.lab.local
オーバークラウドのデプロイプロセスで以下の環境ファイルを追加します。
-
/usr/share/openstack-tripleo-heat-templates/environments/enable-internal-tls.yaml -
/usr/share/openstack-tripleo-heat-templates/environments/tls-everywhere-endpoints-dns.yaml /home/stack/templates/custom-domain.yaml以下に例を示します。
openstack overcloud deploy \ --templates \ -e /usr/share/openstack-tripleo-heat-templates/environments/enable-internal-tls.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/tls-everywhere-endpoints-dns.yaml \ -e /home/stack/templates/custom-domain.yaml \
その結果、デプロイされるオーバークラウドノードは自動的に IdM で登録されるようになります。
-
これで設定されるのは、内部エンドポイント向けの TLS のみです。外部エンドポイントには、
./tripleo-heat-templates/environments/enable-tls.yaml環境ファイル (カスタムの証明書とキーを追加するように編集する必要あり) で TLS を追加する通常の方法を使用することができます。そのため、openstack deployコマンドは以下のようになります。openstack overcloud deploy \ --templates \ -e /usr/share/openstack-tripleo-heat-templates/environments/enable-internal-tls.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/tls-everywhere-endpoints-dns.yaml \ -e /home/stack/templates/custom-domain.yaml \ -e /home/stack/templates/enable-tls.yaml
また、IdM を使用して公開証明書を発行することもできます。その場合には、
./tripleo-heat-templates/environments/services/haproxy-public-tls-certmonger.yaml環境ファイルを使用する必要があります。以下に例を示します。openstack overcloud deploy \ --templates \ -e ./tripleo-heat-templates/environments/enable-internal-tls.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/tls-everywhere-endpoints-dns.yaml \ -e /home/stack/templates/custom-domain.yaml \ -e ./tripleo-heat-templates/environments/services/haproxy-public-tls-certmonger.yaml

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.