6.2. 永続ボリュームの暗号化のためのストレージクラスの作成
前提条件
ユースケースに基づいて、以下のいずれかの KMS へのアクセスを確実に設定する必要があります。
-
vaulttokens
の使用:vaulttokens
を使用した KMS へのアクセスの設定 の説明に従ってアクセスを設定してください。 -
vaulttenantsa
の使用 (テクノロジープレビュー):vaulttenantsa
を使用した KMS へのアクセスの設定 の説明に従ってアクセスを設定してください。 - Thales CipherTrust Manager の使用 (KMIP を使用): Thales CipherTrust Manager を使用した KMS へのアクセスの設定 の説明に従ってアクセスを設定してください。
(Azure プラットフォームのユーザーのみ) Azure Vault の使用 [テクノロジープレビュー]: 次の手順に従って、クライアント認証を設定し、Azure からクライアント認証情報を取得してください。
- Azure Vault を作成します。詳細は、Microsoft 製品ドキュメントの Quickstart: Create a key vault using the Azure portal を参照してください。
- 証明書ベースの認証を使用してサービスプリンシパルを作成します。詳細は、Microsoft 製品ドキュメントの Create an Azure service principal with Azure CLI を参照してください。
- Azure Key Vault のロールベースのアクセス制御 (RBAC) を設定します。詳細は、Enable Azure RBAC permissions on Key Vault を参照してください。
手順
-
OpenShift Web コンソールで、Storage
StorageClasses に移動します。 - Create Storage Class をクリックします。
- ストレージクラスの Name および Description を入力します。
- Reclaim Policy は Delete または Retain のいずれかを選択します。デフォルトでは、Delete が選択されます。
- Volume binding モード に Immediate または WaitForFirstConsumer を選択します。WaitForConsumer はデフォルトオプションとして設定されます。
-
永続ボリュームをプロビジョニングするのに使用されるプラグインである RBD Provisioner
openshift-storage.rbd.csi.ceph.com
を選択します。 - ボリュームデータが保存される Storage Pool をリストから選択するか、新規プールを作成します。
Enable encryption チェックボックスを選択します。
次のいずれかのオプションを選択し、KMS 接続の詳細を設定します。
Choose existing KMS connection: ドロップダウンリストから既存の KMS 接続を選択します。このリストは、
csi-kms-connection-details
ConfigMap で利用可能な接続の詳細から設定されます。- ドロップダウンから Provider を選択します。
- リストから特定のプロバイダーの Key service を選択します。
Create new KMS connection: これは、
vaulttoken
とThales CipherTrust Manager (using KMIP)
にのみ適用されます。次のいずれかの Key Management Service Provider を選択し、必要な詳細情報を入力します。
Vault
- 一意の Connection Name、Vault サーバーのホストの Address ('https://<ホスト名または IP>')、ポート番号、および Token を入力します。
Advanced Settings をデプロイメントして、
Vault
設定に基づいて追加の設定および証明書の詳細を入力します。- OpenShift Data Foundation 専用かつ特有のキーと値のシークレットパスを Backend Path に入力します。
- オプション: TLS Server Name および Vault Enterprise Namespace を入力します。
- PEM でエンコードされた、該当の証明書ファイルをアップロードし、CA Certificate、Client Certificate、および Client Private Key を指定します。
- Save をクリックします。
Thales CipherTrust Manager (KMIP を使用)
- 一意の Connection Name を入力します。
- Address および Port セクションで、Thales CipherTrust Manager の IP と、KMIP インターフェイスが有効になっているポートを入力します。たとえば、Address: 123.34.3.2、Port: 5696 などです。
- Client Certificate、CA certificate、および Client Private Key をアップロードします。
- 上記で生成された暗号化および復号化に使用する鍵の Unique Identifier を入力します。
-
TLS Server フィールドはオプションであり、KMIP エンドポイントの DNS エントリーがない場合に使用します。たとえば、
kmip_all_<port>.ciphertrustmanager.local
などです。
Azure Key Vault (テクノロジープレビュー) (Azure プラットフォーム上の Azure ユーザーのみ)
クライアント認証の設定とクライアント認証情報の取得については、Microsoft Azure を使用した OpenShift Data Foundation のデプロイ ガイドの OpenShift Data Foundation クラスターの作成 セクションの「前提条件」を参照してください。
- プロジェクト内のキー管理サービスの一意の Connection name を入力します。
- Azure Vault URL を入力します。
- Client ID を入力します。
- Tenant ID を入力します。
-
Certificate ファイルを
.PEM
形式でアップロードします。証明書ファイルには、クライアント証明書と秘密鍵が含まれている必要があります。
- Save をクリックします。
- Create をクリックします。
HashiCorp Vault 設定により、バックエンドパスによって使用されるキー/値 (KV) シークレットエンジン API バージョンの自動検出が許可されない場合は、ConfigMap を編集して
vaultBackend
パラメーターを追加します。注記vaultBackend
は、バックエンドパスに関連付けられた KV シークレットエンジン API のバージョンを指定するために configmap に追加されるオプションのパラメーターです。値がバックエンドパスに設定されている KV シークレットエンジン API バージョンと一致していることを確認します。一致しない場合は、永続ボリューム要求 (PVC) の作成時に失敗する可能性があります。新規に作成されたストレージクラスによって使用されている encryptionKMSID を特定します。
-
OpenShift Web コンソールで、Storage
Storage Classes に移動します。 -
Storage class 名
YAML タブをクリックします。 ストレージクラスによって使用されている encryptionKMSID を取得します。
以下に例を示します。
encryptionKMSID: 1-vault
-
OpenShift Web コンソールで、Storage
-
OpenShift Web コンソールで Workloads
ConfigMaps に移動します。 - KMS 接続の詳細を表示するには、csi-kms-connection-details をクリックします。
ConfigMap を編集します。
-
アクションメニュー (⋮)
Edit ConfigMap をクリックします。 以前に特定した
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" }
- 保存をクリックします。
-
アクションメニュー (⋮)
次のステップ
ストレージクラスを使用して、暗号化された永続ボリュームを作成できます。詳細は、永続ボリューム要求の管理 を参照してください。
重要Red Hat はテクノロジーパートナーと連携して、このドキュメントをお客様へのサービスとして提供します。ただし、Red Hat では、HashiCorp 製品のサポートを提供していません。この製品に関するテクニカルサポートについては、HashiCorp にお問い合わせください。