5.3. データ暗号化オプション
暗号化を使用すると、必要な暗号化キーがなければデータを読み取ることができないようにデータをエンコードできます。このメカニズムは、物理メディアが手元から離れるような物理的なセキュリティー違反の発生時にもデータの機密性を保護できます。PV ごとの暗号化は、同じ OpenShift Container Platform クラスター内の他の namespace からのアクセス保護も提供します。データはディスクに書き込まれる際に暗号化され、ディスクから読み取られる際に復号化されます。暗号化されたデータを使用すると、パフォーマンスに小規模なペナルティーのみが発生する可能性があります。
暗号化は、Red Hat OpenShift Data Foundation 4.6 以降を使用してデプロイされる新規クラスターでのみサポートされます。外部鍵管理システム (KMS) を使用していない既存の暗号化されたクラスターは、外部 KMS を使用するように移行できません。
以前は、HashiCorp Vault はクラスター全体の暗号化および永続ボリュームの暗号化で唯一サポートされている KMS です。OpenShift Data Foundation 4.7.0 および 4.7.1 では、HashiCorp Vault Key/Value (KV) シークレットエンジン API (バージョン 1) のみがサポートされます。OpenShift Data Foundation 4.7.2 以降では、HashiCorp Vault KV シークレットエンジン API (バージョン 1 および 2) がサポートされるようになりました。OpenShift Data Foundation 4.12 の時点で、サポートされる追加の KMS として Thales CipherTrust Manager が導入されました。
- KMS は StorageClass 暗号化に必須であり、クラスター全体の暗号化にはオプションです。
- まず、ストレージクラスの暗号化には、有効な Red Hat OpenShift Data Foundation Advanced サブスクリプションが必要です。詳細は、OpenShift Data Foundation サブスクリプションに関するナレッジベースの記事 を参照してください。
Red Hat はテクノロジーパートナーと連携して、本書をお客様へのサービスとして提供します。ただし、Red Hat では、Hashicorp 製品のサポートを提供していません。この製品に関するテクニカルサポートについては、Hashicorp にお問い合わせください。
5.3.1. クラスター全体の暗号化
Red Hat OpenShift Data Foundation は、ストレージクラスター内のディスクおよび Multicloud Object Gateway 操作のすべてに対して、クラスター全体の暗号化 (保存時の暗号化、encryption-at-rest) をサポートします。OpenShift Data Foundation は、キーのサイズが 512 ビットの Linux Unified Key System (LUKS) バージョン 2 ベースの暗号化と、各デバイスが異なる暗号化キーを持つ aes-xts-plain64
暗号を使用します。このキーは Kubernetes シークレットまたは外部 KMS を使用して保存されます。どちらのメソッドも同時に使用できず、メソッド間の移行はできません。
ブロックおよびファイルストレージの暗号化は、デフォルトで無効になっています。デプロイメント時にクラスターの暗号化を有効にできます。MultiCloud Object Gateway は、デフォルトで暗号化をサポートしています。詳細は、デプロイメントガイドを参照してください。
クラスター全体の暗号化は、鍵管理システム (KMS) を使用しない OpenShift Data Foundation 4.6 でサポートされます。OpenShift Data Foundation 4.7 以降では、HashiCorp Vault KMS の有無にかかわらずサポートされます。OpenShift Data Foundation 4.12 以降では、HashiCorp Vault KMS および Thales CipherTrust Manager KMS の有無にかかわらずサポートされます。
有効な Red Hat OpenShift Data Foundation Advanced サブスクリプションが必要です。OpenShift Data Foundation のサブスクリプションがどのように機能するかを知るには、OpenShift Data Foundation subscriptions に関するナレッジベースの記事 を参照してください。
HashiCorp Vault KMS を使用したクラスター全体の暗号化には、次の 2 つの認証方法があります。
- トークン: このメソッドでは、vault トークンを使用した認証が可能です。Vault トークンを含む kubernetes シークレットは、openshift-storage namespace で作成され、認証に使用されます。この認証方法を選択した場合、管理者は、暗号化キーが保存されている Vault のバックエンドパスへのアクセスを提供する Vault トークンを提供する必要があります。
Kubernetes: このメソッドでは、serviceaccounts を使用して Vault で認証できます。この認証方法を選択した場合、管理者は、暗号化キーが保存されているバックエンドパスへのアクセスを提供する Vault で設定されたロールの名前を指定する必要があります。次に、このロールの値が
ocs-kms-connection-details
Config Map に追加されます。このメソッドは、OpenShift Data Foundation 4.10 から利用できます。現時点で、HashiCorp Vault は唯一サポートされている KMS です。OpenShift Data Foundation 4.7.0 および 4.7.1 では、HashiCorp Vault KV シークレットエンジン API (バージョン 1) のみがサポートされます。OpenShift Data Foundation 4.7.2 以降では、HashiCorp Vault KV シークレットエンジン API (バージョン 1 および 2) がサポートされるようになりました。
IBM Cloud プラットフォーム上の OpenShift Data Foundation は、HashiCorp Vault KMS に加えて、暗号化ソリューションとして Hyper Protect Crypto Services (HPCS)Key Management Services (KMS) をサポートします。
Red Hat はテクノロジーパートナーと連携して、本書をお客様へのサービスとして提供します。ただし、Red Hat では、Hashicorp 製品のサポートを提供していません。この製品に関するテクニカルサポートについては、Hashicorp にお問い合わせください。
5.3.2. ストレージクラスの暗号化
デバイスの暗号化キーを保存するために外部の鍵管理システム (KMS) を使用して、ストレージクラスの暗号化で永続ボリューム (ブロックのみ) を暗号化できます。永続ボリュームの暗号化は RADOS Block Device (RBD) 永続ボリュームでのみ利用できます。永続ボリュームの暗号化を使用したストレージクラスの作成方法 を参照してください。
ストレージクラスの暗号化は、HashiCorp Vault KMS を使用する OpenShift Data Foundation 4.7 以降でサポートされます。ストレージクラスの暗号化は、HashiCorp Vault KMS と Thales CipherTrust Manager KMS の両方を使用する OpenShift Data Foundation 4.12 以降でサポートされます。
有効な Red Hat OpenShift Data Foundation Advanced サブスクリプションが必要です。OpenShift Data Foundation のサブスクリプションの仕組みを確認するには、OpenShift Data Foundation subscriptions に関するナレッジベースの記事 を参照してください。
5.3.3. CipherTrust マネージャー
Red Hat OpenShift Data Foundation バージョン 4.12 では、デプロイメントの追加の鍵管理システム (KMS) プロバイダーとして Thales CipherTrust Manager が導入されています。Thales CipherTrust Manager は、一元化された鍵のライフサイクル管理を提供します。CipherTrust Manager は、鍵管理システム間の通信を可能にする Key Management Interoperability Protocol (KMIP) をサポートしています。
CipherTrust Manager は、デプロイメント時に有効になります。