2.7. Block Storage サービス (cinder) ボリュームの暗号化
ボリュームの暗号化は、ボリュームのバックエンドのセキュリティーを侵害されたり、完全に盗難されたりした場合に、基本的なデータ保護を提供します。Compute および Block Storage サービスを両方統合して、インスタンスがアクセスを読み込み、暗号化されたボリュームを使用できるようにします。ボリュームの暗号化を活用するには、Barbican をデプロイする必要があります。
- ボリュームの暗号化は、ファイルベースのボリューム (例: NFS) ではサポートされていません。
- ボリューム暗号化は LUKS1 のみをサポートし、LUKS2 はサポートしません。
- 暗号化されていないボリュームを同じサイズの暗号化されたボリュームに種別変更する操作はサポートされません。暗号化したボリュームには、暗号化データを格納するための追加領域が必要なためです。暗号化されていないボリュームの暗号化に関する詳細は、暗号化されていないボリュームの暗号化 を参照してください。
ボリュームの暗号化は、ボリューム種別を使用して適用されます。暗号化されたボリューム種別の詳細は、Dashboard を使用した Block Storage サービスボリューム暗号化の設定 または CLI を使用した Block Storage サービスボリューム暗号化の設定 を参照してください。
OpenStack Key Manager (barbican) を使用して Block Storage (cinder) 暗号化キーを管理する方法の詳細は、Block Storage (cinder) ボリュームの暗号化 を参照してください。
2.7.1. Dashboard を使用した Block Storage サービスボリューム暗号化の設定 リンクのコピーリンクがクリップボードにコピーされました!
暗号化されたボリュームを作成するには、まず 暗号化されたボリューム種別 が必要です。ボリューム種別を暗号化するには、使用すべきプロバイダークラス、暗号、キーサイズを設定する必要があります。暗号化されたボリューム種別の暗号化設定を再設定することも可能です。
暗号化されたボリューム種別を呼び出すことで、暗号化されたボリュームを自動的に作成できます。
前提条件
- 暗号化ボリュームを作成するには、プロジェクト管理者である必要があります。
- Red Hat OpenStack Platform (RHOSP) Dashboard (horizon) へのアクセス。詳細は、OpenStack ダッシュボードを使用したクラウドリソースの管理 を参照してください。
手順
- 管理ユーザーとして Dashboard にログインします。
- Admin > Volumes > Volume Types を選択します。
- 暗号化するボリューム種別の アクション コラムで 暗号化設定の作成 を選択して、ボリューム種別の暗号化設定の作成 ウィザードを開きます。
このウィザードで、ボリューム種別の暗号化の プロバイダー、制御場所、暗号、および キーサイズ を設定します。説明 のコラムで各設定を説明されています。
重要プロバイダー、暗号、および キーサイズ のオプションとしてサポートされるは、以下に示す値だけです。
-
プロバイダー に
luksと入力します。 -
暗号 に
aes-xts-plain64と入力します。 -
キーサイズ に
256と入力します。
-
プロバイダー に
- ボリューム種別の暗号化設定の作成 をクリックします。
暗号化されたボリューム種別の暗号化設定を再設定することも可能です。
- ボリューム種別の アクション コラムから 暗号化設定の更新 を選択して、ボリューム種別の暗号化設定の更新 ウィザードを開きます。
- ボリュームが暗号化されているかどうかを判断するには、プロジェクト > コンピュート > ボリューム にある ボリューム テーブルの 暗号化 コラムを確認します。
- ボリュームが暗号化されている場合には、暗号化のコラムの はい をクリックすると暗号化設定が表示されます。
2.7.2. CLI を使用した Block Storage サービスボリューム暗号化の設定 リンクのコピーリンクがクリップボードにコピーされました!
暗号化されたボリュームを作成するには、まず 暗号化されたボリューム種別 が必要です。ボリューム種別を暗号化するには、使用すべきプロバイダークラス、暗号、キーサイズを設定する必要があります。
前提条件
- 暗号化ボリュームを作成するには、プロジェクト管理者である必要があります。
手順
source コマンドでオーバークラウドの認証情報ファイルを読み込みます。
source ~/<credentials_file>
$ source ~/<credentials_file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<credentials_file>を認証情報ファイルの名前 (overcloudrcなど) に置き換えます。
-
ボリューム種別を作成します。
cinder type-create myEncType
$ cinder type-create myEncTypeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 暗号、キーサイズ、制御場所、およびプロバイダー設定を定義します。
cinder encryption-type-create --cipher aes-xts-plain64 --key-size 256 --control-location front-end myEncType luks
$ cinder encryption-type-create --cipher aes-xts-plain64 --key-size 256 --control-location front-end myEncType luksCopy to Clipboard Copied! Toggle word wrap Toggle overflow 暗号化されたボリュームを作成します。
cinder --debug create 1 --volume-type myEncType --name myEncVol
$ cinder --debug create 1 --volume-type myEncType --name myEncVolCopy to Clipboard Copied! Toggle word wrap Toggle overflow
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 の値で識別される暗号鍵を他の目的で使用すると、データが失われる危険性があります。