2.7. Block Storage サービス (cinder) ボリュームの暗号化
ボリュームの暗号化は、ボリュームのバックエンドのセキュリティーを侵害されたり、完全に盗難されたりした場合に、基本的なデータ保護を提供します。Compute および Block Storage サービスを両方統合して、インスタンスがアクセスを読み込み、暗号化されたボリュームを使用できるようにします。ボリュームの暗号化を活用するには、Barbican をデプロイする必要があります。
- ボリュームの暗号化は、ファイルベースのボリューム (例: NFS) ではサポートされていません。
- ボリューム暗号化は LUKS1 のみをサポートし、LUKS2 はサポートしません。
- 暗号化されていないボリュームを同じサイズの暗号化されたボリュームに種別変更する操作はサポートされません。暗号化したボリュームには、暗号化データを格納するための追加領域が必要なためです。暗号化されていないボリュームの暗号化に関する詳細は、暗号化されていないボリュームの暗号化 を参照してください。
ボリュームの暗号化は、ボリューム種別を使用して適用されます。暗号化されたボリューム種別に関する情報は、「CLI を使用した Block Storage サービスボリューム暗号化の設定」を参照してください。
2.7.1. Dashboard を使用した Block Storage サービスボリューム暗号化の設定
暗号化されたボリュームを作成するには、まず 暗号化されたボリューム種別 が必要です。ボリューム種別を暗号化するには、使用すべきプロバイダークラス、暗号、キーサイズを設定する必要があります。
前提条件
- アンダークラウドの正常なインストール。詳しくは、Installing director on the undercloud、Director Installation and Usage を参照してください。
- オーバークラウドの正常なデプロイメント。詳細は、Director Installation and Usageの Creating a basic overcloud with CLI tools を参照してください。
- Red Hat OpenStack Platform (RHOSP) Dashboard (horizon) へのアクセス。詳しい情報は、Director Installation and Usageの Overcloud deployment output を参照してください。
手順
- Dashboard に管理ユーザーとしてログインして 管理 > ボリューム > ボリューム種別 を選択します。
- 暗号化するボリューム種別の アクション コラムで 暗号化設定の作成 を選択して、ボリューム種別の暗号化設定の作成 ウィザードを開きます。
このウィザードで、ボリューム種別の暗号化の プロバイダー、制御場所、暗号、および キーサイズ を設定します。説明 のコラムで各設定について説明されています。
重要プロバイダー、暗号、および キーサイズ のオプションとしてサポートされるは、以下に示す値だけです。
-
プロバイダー に
luks
と入力します。 -
暗号 に
aes-xts-plain64
と入力します。 -
キーサイズ に
256
と入力します。
-
プロバイダー に
- ボリューム種別の暗号化設定の作成 をクリックします。
ボリューム種別の暗号化設定が完了したら、その設定を使用して、暗号化されたボリュームを自動的に作成することができます。ボリューム種別の作成に関する詳しい情報は、「ボリューム種別の作成および設定」を参照してください。具体的には、ボリュームの作成 ウィンドウの 種別 のドロップダウンから暗号化されたボリューム種別を選択します。
CLI を使用して暗号化されたボリューム種別を設定するには、「CLI を使用した Block Storage サービスボリューム暗号化の設定」を参照してください。
暗号化されたボリューム種別の暗号化設定を再設定することも可能です。
- ボリューム種別の アクション コラムから 暗号化設定の更新 を選択して、ボリューム種別の暗号化設定の更新 ウィザードを開きます。
- ボリュームが暗号化されているかどうかを判断するには、プロジェクト > コンピュート > ボリューム にある ボリューム テーブルの 暗号化 コラムを確認します。
- ボリュームが暗号化されている場合には、暗号化のコラムの はい をクリックすると暗号化設定が表示されます。
2.7.2. CLI を使用した Block Storage サービスボリューム暗号化の設定
暗号化されたボリュームを作成するには、まず 暗号化されたボリューム種別 が必要です。ボリューム種別を暗号化するには、使用すべきプロバイダークラス、暗号、キーサイズを設定する必要があります。
前提条件
- アンダークラウドの正常なインストール。詳細は、Installing director on the undercloud を参照してください。
- オーバークラウドの正常なデプロイメント。詳細は、Creating a basic overcloud with CLI tools を参照してください。
手順
ボリューム種別を作成します。
$ cinder type-create encrypt-type
暗号、キーサイズ、制御場所、およびプロバイダー設定を定義します。
$ cinder encryption-type-create --cipher aes-xts-plain64 --key-size 256 --control-location front-end encrypt-type luks
暗号化されたボリュームを作成します。
$ cinder --debug create 1 --volume-type encrypt-type --name DemoEncVol
詳しくは、Manage Secrets with OpenStack Key Managerを参照してください。
2.7.3. ボリュームイメージ暗号化キーの自動削除
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
の値で識別される暗号鍵を他の目的で使用すると、データが失われる危険性があります。