第11章 外部アクセス用 Ceph キーの作成
Ceph ストレージへの外部アクセスとは、ローカルではない任意のサイトからの Ceph へのアクセスを指します。中央サイトにとってはエッジサイトの Ceph ストレージが外部にあたるのとまったく同じように、中央サイトの Ceph ストレージは、エッジ (DCN) サイトからは外部に該当します。
Ceph ストレージと共に中央サイトまたは DCN サイトをデプロイする場合、ローカルアクセスと外部アクセスの両方にデフォルトの openstack キーリングを使用するオプションが可能です。あるいは、ローカル以外のサイトからのアクセス用に別の鍵を作成することができます。
外部サイトへのアクセスに追加の Ceph キーを使用する場合は、それぞれのキーの名前を同じにする必要があります。以降の例では、鍵の名前を external としています。
ローカル以外のサイトからのアクセスに別の鍵を使用すると、セキュリティーが向上します。ローカルアクセスを中断すること無く、セキュリティーイベントに対応して外部アクセス用の鍵を無効にして再発行することができます。ただし、外部アクセスに別の鍵を使用すると、アベイラビリティーゾーンをまたがるバックアップやオフラインボリューム移行など、一部の機能を利用することができなくなります。セキュリティー対応のニーズと必要な機能セットの間でバランスを取る必要があります。
デフォルトでは、中央サイトおよびすべての DCN サイトの鍵は共有されます。
11.1. 外部アクセス用 Ceph キーの作成 リンクのコピーリンクがクリップボードにコピーされました!
ローカル以外のサイトからのアクセス用に external 鍵を作成するには、以下の手順を実施します。
Process
外部アクセス用の Ceph キーを作成します。この鍵の取り扱いには注意が必要です。以下のコマンドを使用して鍵を生成することができます。
python3 -c 'import os,struct,time,base64; key = os.urandom(16) ; \ header = struct.pack("<hiih", 1, int(time.time()), 0, len(key)) ; \ print(base64.b64encode(header + key).decode())'python3 -c 'import os,struct,time,base64; key = os.urandom(16) ; \ header = struct.pack("<hiih", 1, int(time.time()), 0, len(key)) ; \ print(base64.b64encode(header + key).decode())'Copy to Clipboard Copied! Toggle word wrap Toggle overflow デプロイするスタックのディレクトリーにおいて、以下のような内容で
ceph_keys.yaml環境ファイルを作成します。鍵には、前のステップのコマンド出力を使用します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow サイトのデプロイメントに
ceph_keys.yaml環境ファイルを追加します。たとえば、ceph_keys.yaml環境ファイルを指定して中央サイトをデプロイするには、以下のようなコマンドを実行します。overcloud deploy \ --stack central \ --templates /usr/share/openstack-tripleo-heat-templates/ \ …. -e ~/central/ceph_keys.yamlovercloud deploy \ --stack central \ --templates /usr/share/openstack-tripleo-heat-templates/ \ …. -e ~/central/ceph_keys.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow