4.3. Block Storage (cinder) ボリュームイメージの検証
Block Storage サービス (cinder) は、イメージの作成時に、ダウンロードされたイメージの署名を自動的に検証します。署名は、イメージがボリュームに書き込まれる前に検証されます。パフォーマンスを向上させるために、Block Storage Image-Volume キャッシュを使用して、新規ボリュームを作成するための検証済みイメージを保存できます。
cinder イメージの署名の検証は、Red Hat Ceph Storage または RBD ボリュームではサポートされません。
手順
- コントローラーノードにログインします。
以下のいずれかのオプションを選択します。
Volumeログ/var/log/containers/cinder/cinder-volume.logで cinder のイメージ検証アクティビティーを表示します。たとえば、インスタンスの起動時に以下のエントリーが表示されるはずです。
2018-05-24 12:48:35.256 1 INFO cinder.image.image_utils [req-7c271904-4975-4771-9d26-cbea6c0ade31 b464b2fd2a2140e9a88bbdacf67bdd8c a3db2f2beaee454182c95b646fa7331f - default default] Image signature verification succeeded for image d3396fa0-2ea2-4832-8a77-d36fa3f2ab27openstack volume listおよびcinder volume showコマンドを使用します。-
openstack volume listコマンドを使用して、ボリューム ID を見つけます。 コンピュートノードで
cinder volume showコマンドを実行します。cinder volume show <VOLUME_ID>
-
volume_image_metadataセクションでsignature verified : Trueの行を探します。$ cinder show d0db26bb-449d-4111-a59a-6fbb080bb483 +--------------------------------+-------------------------------------------------+ | Property | Value | +--------------------------------+-------------------------------------------------+ | attached_servers | [] | | attachment_ids | [] | | availability_zone | nova | | bootable | true | | consistencygroup_id | None | | created_at | 2018-10-12T19:04:41.000000 | | description | None | | encrypted | True | | id | d0db26bb-449d-4111-a59a-6fbb080bb483 | | metadata | | | migration_status | None | | multiattach | False | | name | None | | os-vol-host-attr:host | centstack.localdomain@nfs#nfs | | os-vol-mig-status-attr:migstat | None | | os-vol-mig-status-attr:name_id | None | | os-vol-tenant-attr:tenant_id | 1a081dd2505547f5a8bb1a230f2295f4 | | replication_status | None | | size | 1 | | snapshot_id | None | | source_volid | None | | status | available | | updated_at | 2018-10-12T19:05:13.000000 | | user_id | ad9fe430b3a6416f908c79e4de3bfa98 | | volume_image_metadata | checksum : f8ab98ff5e73ebab884d80c9dc9c7290 | | | container_format : bare | | | disk_format : qcow2 | | | image_id : 154d4d4b-12bf-41dc-b7c4-35e5a6a3482a | | | image_name : cirros-0.3.5-x86_64-disk | | | min_disk : 0 | | | min_ram : 0 | | | signature_verified : False | | | size : 13267968 | | volume_type | nfs | +--------------------------------+-------------------------------------------------+
ボリュームは、Image サービス (glance) イメージとしてアップロードすることができます。元のボリュームがブート可能な場合には、このイメージを使用して Block Storage サービス (cinder) でブート可能なボリュームを作成できます。署名済みイメージを確認するように Block Storage サービスを設定している場合は、イメージを使用する前に、glance からイメージを手動でダウンロードし、イメージ署名の算出を行い、適切なイメージ署名属性をすべて更新する必要があります。詳細は、「スナップショットの検証」 を参照してください。
4.3.1. ボリュームイメージ暗号化キーの自動削除 リンクのコピーリンクがクリップボードにコピーされました!
Block Storage サービス (cinder) が暗号化されたボリュームを Image サービス (glance) にアップロードする際に、Key Management サービス (barbican) に暗号鍵を作成します。これにより、暗号鍵と保存されるイメージに 1 対 1 の関係が形成されます。
暗号鍵を削除することで、Key Management サービスがリソースを無制限に消費するのを防ぐことができます。Block Storage サービス、Key Management サービス、および Image サービスは、暗号化されたボリュームの鍵を自動的に管理します。これには、鍵の削除が含まれます。
Block Storage サービスは、自動的に 2 つの属性をボリュームイメージに追加します。
-
cinder_encryption_key_id: Key Management サービスが特定のイメージ用に保存する暗号鍵の識別子 -
cinder_encryption_key_deletion_policy: Image サービスはこのポリシーにしたがって、このイメージに関連付けられた鍵を削除するかどうかを Key Management サービスに指示します。
これらの属性の値は、自動的に割り当てられます。意図しないデータ損失を避けるため、これらの値を調整しないでください。
ボリュームイメージを作成すると、Block Storage サービスは cinder_encryption_key_deletion_policy 属性を on_image_deletion に設定します。cinder_encryption_key_deletion_policy が on_image_deletion に設定されている場合、ボリュームイメージを削除すると、Image サービスは対応する暗号鍵を削除します。
Red Hat では、cinder_encryption_key_id または cinder_encryption_key_deletion_policy 属性を手動で操作することを推奨しません。cinder_encryption_key_id の値で識別される暗号鍵を他の目的で使用すると、データが失われる危険性があります。