Red Hat Training
A Red Hat training course is available for Red Hat OpenStack Platform
第3章 novajoin を使用した IdM との統合
novajoin により、使用するノードをデプロイメントプロセスの一部として Red Hat Identity Manager (IdM) に登録できます。その結果、OpenStack デプロイメントで、ID、kerberos 認証情報、アクセス制御などの IdM の機能を統合することができます。
現在、novajoin を使用した IdM の登録は、アンダークラウドとオーバークラウドのノードのみで利用可能です。オーバークラウドインスタンス向けの novajoin の統合は、今後のリリースでサポートされる見込みです。
3.1. アンダークラウドでの novajoin のインストールと設定
3.1.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) を使用してアンダークラウドを登録します。
3.1.2. IdM へのアンダークラウドの追加
以下の手順では、アンダークラウドを IdM に登録して novajoin を設定します。undercloud.conf
で以下の設定を行います ([DEFAULT]
セクション内)。
novajoin サービスは、デフォルトで無効にされます。有効にするには、以下のように設定します。
[DEFAULT] 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
検証
keytab
ファイルでアンダークラウドのキーエントリーを確認します。[root@undercloud-0 ~]# klist -kt Keytab name: FILE:/etc/krb5.keytab KVNO Timestamp Principal ---- ------------------- ------------------------------------------------------ 1 04/28/2020 12:22:06 host/undercloud-0.redhat.local@REDHAT.LOCAL 1 04/28/2020 12:22:06 host/undercloud-0.redhat.local@REDHAT.LOCAL [root@undercloud-0 ~]# klist -kt /etc/novajoin/krb5.keytab Keytab name: FILE:/etc/novajoin/krb5.keytab KVNO Timestamp Principal ---- ------------------- ------------------------------------------------------ 1 04/28/2020 12:22:26 nova/undercloud-0.redhat.local@REDHAT.LOCAL 1 04/28/2020 12:22:26 nova/undercloud-0.redhat.local@REDHAT.LOCAL
ホストプリンシパルが含まれるシステム
/etc/krb.keytab
ファイルをテストします。[root@undercloud-0 ~]# kinit -k [root@undercloud-0 ~]# klist Ticket cache: KEYRING:persistent:0:0 Default principal: host/undercloud-0.redhat.local@REDHAT.LOCAL Valid starting Expires Service principal 05/04/2020 10:34:30 05/05/2020 10:34:30 krbtgt/REDHAT.LOCAL@REDHAT.LOCAL [root@undercloud-0 ~]# kdestroy Other credential caches present, use -A to destroy all
nova プリンシパルが含まれる novajoin
/etc/novajoin/krb.keytab
ファイルをテストします。[root@undercloud-0 ~]# kinit -kt /etc/novajoin/krb5.keytab 'nova/undercloud-0.redhat.local@REDHAT.LOCAL' [root@undercloud-0 ~]# klist Ticket cache: KEYRING:persistent:0:0 Default principal: nova/undercloud-0.redhat.local@REDHAT.LOCAL Valid starting Expires Service principal 05/04/2020 10:39:14 05/05/2020 10:39:14 krbtgt/REDHAT.LOCAL@REDHAT.LOCAL