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 undercloudDirector Installation and Usage を参照してください。
  • オーバークラウドの正常なデプロイメント。詳細は、Director Installation and UsageCreating a basic overcloud with CLI tools を参照してください。
  • Red Hat OpenStack Platform (RHOSP) Dashboard (horizon) へのアクセス。詳しい情報は、Director Installation and UsageOvercloud deployment output を参照してください。

手順

  1. Dashboard に管理ユーザーとしてログインして 管理 > ボリューム > ボリューム種別 を選択します。
  2. 暗号化するボリューム種別の アクション コラムで 暗号化設定の作成 を選択して、ボリューム種別の暗号化設定の作成 ウィザードを開きます。
  3. このウィザードで、ボリューム種別の暗号化の プロバイダー制御場所暗号、および キーサイズ を設定します。説明 のコラムで各設定について説明されています。

    重要

    プロバイダー暗号、および キーサイズ のオプションとしてサポートされるは、以下に示す値だけです。

    1. プロバイダーluks と入力します。
    2. 暗号aes-xts-plain64 と入力します。
    3. キーサイズ256 と入力します。
  4. ボリューム種別の暗号化設定の作成 をクリックします。

ボリューム種別の暗号化設定が完了したら、その設定を使用して、暗号化されたボリュームを自動的に作成することができます。ボリューム種別の作成に関する詳しい情報は、「ボリューム種別の作成および設定」を参照してください。具体的には、ボリュームの作成 ウィンドウの 種別 のドロップダウンから暗号化されたボリューム種別を選択します。

CLI を使用して暗号化されたボリューム種別を設定するには、「CLI を使用した Block Storage サービスボリューム暗号化の設定」を参照してください。

暗号化されたボリューム種別の暗号化設定を再設定することも可能です。

  1. ボリューム種別の アクション コラムから 暗号化設定の更新 を選択して、ボリューム種別の暗号化設定の更新 ウィザードを開きます。
  2. ボリュームが暗号化されているかどうかを判断するには、プロジェクト > コンピュート > ボリューム にある ボリューム テーブルの 暗号化 コラムを確認します。
  3. ボリュームが暗号化されている場合には、暗号化のコラムの はい をクリックすると暗号化設定が表示されます。

2.7.2. CLI を使用した Block Storage サービスボリューム暗号化の設定

暗号化されたボリュームを作成するには、まず 暗号化されたボリューム種別 が必要です。ボリューム種別を暗号化するには、使用すべきプロバイダークラス、暗号、キーサイズを設定する必要があります。

前提条件

手順

  1. ボリューム種別を作成します。

    $ cinder type-create encrypt-type
  2. 暗号、キーサイズ、制御場所、およびプロバイダー設定を定義します。

    $ cinder encryption-type-create --cipher aes-xts-plain64 --key-size 256 --control-location front-end encrypt-type luks
  3. 暗号化されたボリュームを作成します。

    $ 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_policyon_image_deletion に設定されている場合、ボリュームイメージを削除すると、Image サービスは対応する暗号鍵を削除します。

重要

Red Hat では、cinder_encryption_key_id または cinder_encryption_key_deletion_policy 属性を手動で操作することを推奨しません。cinder_encryption_key_id の値で識別される暗号鍵を他の目的で使用すると、データが失われる危険性があります。