オーバークラウドへの Fernet のデプロイ
Red Hat OpenStack Platform director オーバークラウドへのデプロイ
概要
第1章 オーバークラウドでのブリックトークンの使用 リンクのコピーリンクがクリップボードにコピーされました!
uuid はデフォルトのトークンプロバイダーとなり、uuid を置き換えます。このガイドでは、デプロイメントを確認する方法と、faclキーをローテーションする方法を説明します。
1.1. pidgin デプロイメントの確認 リンクのコピーリンクがクリップボードにコピーされました!
この手順では、設定を見直して、pidc トークンが正しく機能していることを確認します。
コントローラーノードの IP アドレスを取得します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow コントローラーに対して SSH を実行します。
ssh heat-admin@192.0.2.16
[heat-admin@overcloud-controller-0 ~]$ ssh heat-admin@192.0.2.16Copy to Clipboard Copied! Toggle word wrap Toggle overflow トークンドライバーおよびプロバイダー設定の値を取得します。
sudo crudini --get /var/lib/config-data/puppet-generated/keystone/etc/keystone/keystone.conf token driver sql sudo crudini --get /var/lib/config-data/puppet-generated/keystone/etc/keystone/keystone.conf token provider fernet
[heat-admin@overcloud-controller-0 ~]$ sudo crudini --get /var/lib/config-data/puppet-generated/keystone/etc/keystone/keystone.conf token driver sql [heat-admin@overcloud-controller-0 ~]$ sudo crudini --get /var/lib/config-data/puppet-generated/keystone/etc/keystone/keystone.conf token provider fernetCopy to Clipboard Copied! Toggle word wrap Toggle overflow pidgin プロバイダーをテストします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 結果には、長いpid トークンが含まれるはずです。
1.2. pidgin 鍵のローテーション リンクのコピーリンクがクリップボードにコピーされました!
Red Hat は、ローテーションサイクルの長さを考慮する際にセキュリティーの途中で誤解を生じさせることを推奨します。これは、ローテーションプロセスを比較的簡単で行うことができるためです。セキュリティーポジションからのガイダンスがない場合には、月次ローテーションサイクルを開始することが推奨されます。
Fernet は、/var/lib/config-data/puppet-generated/keystone/etc/keystone/fernet-keys に保存されている 3 種類のキーを使用します。最高番号のディレクトリーには、新しいトークンを生成し、既存のトークンを復号化するために使用されるプライマリーキーが含まれます。
キーのローテーションプロセス中に、プライマリーキーはセカンダリーキーのステータスに再度設定され、新しいプライマリーキーが発行され、危険にさらされたプライマリーキーの値が減少します。セカンダリーキーは、以前のプライマリーキーで作成されたトークンを復号化するためにのみ使用され、新規キーを発行することはできません。
1.2.1. Mistral を使用したブリックキーのローテーション リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、director はオーバークラウドの中のキーを管理するように設定されています。この設定は、ManageKeystoneFernetKeys を使用して環境ファイルで管理されます。その結果、Mistral( KeystoneFernetKeys下)に保管されます。このアプローチでは、Mistral でキーをローテーションでき、スタックの更新後も維持されます。
既存のブリックキーを確認します。
Fernet キーの場所を特定します。
# SSH back to the controller [heat-admin@overcloud-controller-0 ~]$ sudo crudini --get /var/lib/config-data/puppet-generated/keystone/etc/keystone/keystone.conf fernet_tokens key_repository /etc/keystone/fernet-keys
# SSH back to the controller [heat-admin@overcloud-controller-0 ~]$ sudo crudini --get /var/lib/config-data/puppet-generated/keystone/etc/keystone/keystone.conf fernet_tokens key_repository /etc/keystone/fernet-keysCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記/etc/keystone/ディレクトリーは、コンテナーのファイルシステムのパスを参照します。現在のブリックキーディレクトリーを確認します。
sudo ls /var/lib/config-data/puppet-generated/keystone/etc/keystone/fernet-keys 0 1 2
[heat-admin@overcloud-controller-0 ~]$ sudo ls /var/lib/config-data/puppet-generated/keystone/etc/keystone/fernet-keys 0 1 2Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
0: ステージ キー(次のプライマリーキー)が含まれ、常に0の番号が付けられます。 -
1- セカンダリー キーが含まれます。 2- プライマリー キー が含まれます。この数は、キーがローテーションされるたびに増分し、数字が最も高い数値が常にプライマリーキーとして機能します。注記- キーの最大数は、デフォルトで 5 つのキーである max_active_keys プロパティーによって決定されます。
- キーはすべてのコントローラーに伝播されます。
-
Mistral ワークフローを使用してブリックキーをローテーションします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ID を取得し、ワークフローが正常に実行されたことを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow コントローラーで、pidgin キーの数を確認し、以前の結果と比較します。
sudo ls /var/lib/config-data/puppet-generated/keystone/etc/keystone/fernet-keys 0 1 2 3
[heat-admin@overcloud-controller-0 ~]$ sudo ls /var/lib/config-data/puppet-generated/keystone/etc/keystone/fernet-keys 0 1 2 3Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
0: ステージング キーが含まれ、常に0の番号が付けられます。このキーは、次回のローテーション時にプライマリーキーにプロモートされます。 -
1 & 2- セカンダリー キーが含まれます。 3- プライマリー キーが含まれます。この数は、キーがローテーションされるたびに増分し、数字が最も高い数値が常にプライマリーキーとして機能します。注記- キーの最大数は、デフォルトで 5 つのキーである max_active_keys プロパティーによって決定されます。
- キーはすべてのコントローラーに伝播されます。
-