5.2. 永続ボリュームの暗号化のためのストレージクラスの作成

前提条件

ユースケースに基づいて、以下のいずれかの KMS へのアクセスを確実に設定する必要があります。

手順

  1. OpenShift Web コンソールで、StorageStorage Classes に移動します。
  2. Create Storage Class をクリックします。
  3. ストレージクラスの Name および Description を入力します。
  4. Reclaim Policy について Delete または Retain のいずれかを選択します。デフォルトでは、Delete が選択されます。
  5. Immediate または WaitForFirstConsumerVolume binding モード として選択します。WaitForConsumer はデフォルトオプションとして設定されます。
  6. 永続ボリュームをプロビジョニングするために使用されるプラグインである RBD Provisioner openshift-storage.rbd.csi.ceph.com を選択します。
  7. ボリュームデータが保存される Storage Pool をリストから選択するか、新規プールを作成します。
  8. Enable encryption チェックボックスを選択します。KMS 接続の詳細を設定するオプションは 2 つあります。

    • Select existing KMS connection: ドロップダウンリストから既存の KMS 接続を選択します。この一覧は、csi-kms-connection-details ConfigMap で利用可能な接続の詳細から設定されます。
    • Create new KMS connection:これは vaulttokens にのみ適用されます。

      1. Key Management Service Provider はデフォルトで Vault に設定されます。
      2. Vault サーバーの一意の 接続名、ホスト アドレス、ポート番号および トークン を入力します。
      3. Advanced Settings を展開して、Vault 設定に基づいて追加の設定および証明書の詳細を入力します。

        1. OpenShift Data Foundation 専用かつ特有のキー値のシークレットパスを Backend Path に入力します。
        2. オプション:TLS Server Name および Vault Enterprise Namespace を入力します。
        3. それぞれの PEM でエンコードされた証明書ファイルをアップロードし、CA 証明書クライアント証明書、および クライアントの秘密鍵 を提供します。
        4. Save をクリックします。
      4. Save をクリックします。
  9. Create をクリックします。
  10. HashiCorp Vault 設定により、バックエンドパスによって使用されるキー/値 (KV) シークレットエンジン API バージョンの自動検出が許可されない場合は、ConfigMap を編集して vaultBackend パラメーターを追加します。

    注記

    vaultBackend は、バックエンドパスに関連付けられた KV シークレットエンジン API のバージョンを指定するために configmap に追加されるオプションのパラメーターです。値がバックエンドパスに設定されている KV シークレットエンジン API バージョンと一致していることを確認します。一致しない場合には、永続ボリューム要求 (PVC) の作成時に失敗する可能性があります。

    1. 新規に作成されたストレージクラスによって使用されている encryptionKMSID を特定します。

      1. OpenShift Web コンソールで、StorageStorage Classes に移動します。
      2. Storage class 名 → YAML タブをクリックします。
      3. ストレージクラスによって使用されている encryptionKMSID を取得します。

        以下に例を示します。

        encryptionKMSID: 1-vault
    2. OpenShift Web コンソールで WorkloadsConfigMaps に移動します。
    3. KMS 接続の詳細を表示するには、csi-kms-connection-details をクリックします。
    4. ConfigMap を編集します。

      1. アクションメニュー (⋮)Edit ConfigMap をクリックします。
      2. 以前に特定した encryptionKMSID に設定されるバックエンドに応じて、vaultBackend パラメーターを追加します。

        KV シークレットエンジン API バージョン 1 の場合は kv を、KV シークレットエンジン API バージョン 2 の場合は kv-v2 を、それぞれ割り当てることができます。

        以下に例を示します。

         kind: ConfigMap
         apiVersion: v1
         metadata:
           name: csi-kms-connection-details
         [...]
         data:
           1-vault: |-
             {
               "encryptionKMSType": "vaulttokens",
               "kmsServiceName": "1-vault",
               [...]
               "vaultBackend": "kv-v2"
             }
           2-vault: |-
             {
               "encryptionKMSType": "vaulttenantsa",
               [...]
               "vaultBackend": "kv"
             }
      3. 保存をクリックします。

次のステップ

  • ストレージクラスを使用して、暗号化された永続ボリュームを作成できます。詳細は、永続ボリューム要求の管理 を参照してください。

    重要

    Red Hat はテクノロジーパートナーと連携して、本書をお客様へのサービスとして提供します。ただし、Red Hat では、HashiCorp 製品のサポートを提供していません。この製品に関するテクニカルサポートについては、HashiCorp にお問い合わせください。