|
この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。 |
|
これは未公開の文書です SUSE® Storage 1.12 (Dev). |
バックイメージの暗号化
Longhornでは、バックイメージをクローンすることで暗号化および復号化できます。バックイメージの暗号化メカニズムは、Linuxカーネルモジュール`dm_crypt`とコマンドラインユーティリティ`cryptsetup`を利用します。
バックイメージをクローンする
YAMLコードを使用してバックイメージをクローンできます。これにより、元のものと同じ内容のまったく新しいバックイメージが作成されることに注意してください。バックイメージはディスクスペースも消費します。
ダウンロードされたバックイメージの例:
apiVersion: longhorn.io/v1beta2
kind: BackingImage
metadata:
name: parrot
namespace: longhorn-system
spec:
sourceType: download
sourceParameters:
url: https://longhorn-backing-image.s3-us-west-1.amazonaws.com/parrot.raw
checksum: 304f3ed30ca6878e9056ee6f1b02b328239f0d0c2c1272840998212f9734b196371560b3b939037e4f4c2884ce457c2cbc9f0621f4f5d1ca983983c8cdf8cd9a
サンプルバックイメージをクローンするために使用されるYAMLコードの例:
apiVersion: longhorn.io/v1beta2
kind: BackingImage
metadata:
name: parrot-cloned
namespace: longhorn-system
spec:
sourceType: clone
sourceParameters:
backing-image: parrot
encryption: ignore
|
Longhorn UIを使用してバックイメージをクローンすることもできます。
-
設定 > *バックイメージ*に移動します。
-
*バックイメージの作成*をクリックします。
-
次の設定を行います。
-
作成元:*既存のバックイメージからクローン*を選択します。
-
暗号化:*無視*を選択します。
-
-
[OK] をクリックします。
バックイメージを暗号化する
バックイメージのクローン作成中に暗号化を有効にすることで、そのイメージを暗号化されたボリュームで使用できるようになります。
ダウンロードされたバックイメージの例:
apiVersion: longhorn.io/v1beta2
kind: BackingImage
metadata:
name: parrot
namespace: longhorn-system
spec:
sourceType: download
sourceParameters:
url: https://longhorn-backing-image.s3-us-west-1.amazonaws.com/parrot.raw
checksum: 304f3ed30ca6878e9056ee6f1b02b328239f0d0c2c1272840998212f9734b196371560b3b939037e4f4c2884ce457c2cbc9f0621f4f5d1ca983983c8cdf8cd9a
サンプルバックイメージをクローンして暗号化するために使用されるYAMLコードの例:
apiVersion: longhorn.io/v1beta2
kind: BackingImage
metadata:
name: parrot-cloned-encrypted
namespace: longhorn-system
spec:
sourceType: clone
sourceParameters:
backing-image: parrot
encryption: encrypt
secret: longhorn-crypto
secret-namespace: longhorn-system
バックイメージを暗号化するために使用されるYAMLコードの例:
apiVersion: v1
kind: Secret
metadata:
name: longhorn-crypto
namespace: longhorn-system
stringData:
CRYPTO_KEY_VALUE: "Your encryption passphrase"
CRYPTO_KEY_PROVIDER: "secret"
CRYPTO_KEY_CIPHER: "aes-xts-plain64"
CRYPTO_KEY_HASH: "sha256"
CRYPTO_KEY_SIZE: "256"
CRYPTO_PBKDF: "argon2i"
|
Longhorn UIを使用してバックイメージの暗号化されたコピーを作成することもできます。
-
設定 > *バックイメージ*に移動します。
-
*バックイメージの作成*をクリックします。
-
次の設定を行います。
-
作成元:*既存のバックイメージからクローン*を選択します。
-
暗号化:*暗号化する*を選択します。
-
-
暗号化に使用するシークレットとシークレットのネームスペースを指定します。
-
[OK] をクリックします。
バックイメージを復号化する
暗号化されたバックイメージは、クローン作成を通じて復号化できます。
暗号化されたバックイメージの例:
apiVersion: longhorn.io/v1beta2
kind: BackingImage
metadata:
name: parrot-cloned-encrypted
namespace: longhorn-system
spec:
sourceType: clone
sourceParameters:
backing-image: parrot
encryption: encrypt
secret: longhorn-crypto
secret-namespace: longhorn-system
バックイメージを暗号化および復号化するために使用されるYAMLコードの例:
apiVersion: v1
kind: Secret
metadata:
name: longhorn-crypto
namespace: longhorn-system
stringData:
CRYPTO_KEY_VALUE: "Your encryption passphrase"
CRYPTO_KEY_PROVIDER: "secret"
CRYPTO_KEY_CIPHER: "aes-xts-plain64"
CRYPTO_KEY_HASH: "sha256"
CRYPTO_KEY_SIZE: "256"
CRYPTO_PBKDF: "argon2i"
バックイメージを復号化するために使用されるYAMLコードの例:
apiVersion: longhorn.io/v1beta2
kind: BackingImage
metadata:
name: parrot-cloned-decrypt
namespace: longhorn-system
spec:
sourceType: clone
sourceParameters:
backing-image: parrot-cloned-encrypted
encryption: decrypt
secret: longhorn-crypto
secret-namespace: longhorn-system
|
Longhorn UIを使用してバックイメージを復号化することもできます(クローン作成を通じて)。
-
設定 > *バックイメージ*に移動します。
-
*バックイメージの作成*をクリックします。
-
次の設定を行います。
-
作成元:*既存のバックイメージからクローン*を選択します。
-
暗号化:*復号化する*を選択します。
-
-
復号化に使用するシークレットとシークレットのネームスペースを指定します。
-
[OK] をクリックします。
暗号化されたボリュームとともに暗号化されたバックイメージを使用する
バックイメージとボリュームを暗号化するために使用されるシークレットは同一でなければなりません。暗号化されたバックイメージが準備できたら、対応するバックイメージとシークレットを使用して、ワークロード用のボリュームを作成するためのStorageClassを作成できます。
暗号化シークレットのYAMLコードの例:
apiVersion: v1
kind: Secret
metadata:
name: longhorn-crypto
namespace: longhorn-system
stringData:
CRYPTO_KEY_VALUE: "Your encryption passphrase"
CRYPTO_KEY_PROVIDER: "secret"
CRYPTO_KEY_CIPHER: "aes-xts-plain64"
CRYPTO_KEY_HASH: "sha256"
CRYPTO_KEY_SIZE: "256"
CRYPTO_PBKDF: "argon2i"
StorageClassのYAMLコードの例:
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: longhorn-crypto-global
provisioner: driver.longhorn.io
allowVolumeExpansion: true
parameters:
numberOfReplicas: "3"
staleReplicaTimeout: "2880" # 48 hours in minutes
fromBackup: ""
encrypted: "true"
backingImage: "parrot-cloned-encrypted"
backingImageDataSourceType: "clone"
# global secret that contains the encryption key that will be used for all volumes
csi.storage.k8s.io/provisioner-secret-name: "longhorn-crypto"
csi.storage.k8s.io/provisioner-secret-namespace: "longhorn-system"
csi.storage.k8s.io/node-publish-secret-name: "longhorn-crypto"
csi.storage.k8s.io/node-publish-secret-namespace: "longhorn-system"
csi.storage.k8s.io/node-stage-secret-name: "longhorn-crypto"
csi.storage.k8s.io/node-stage-secret-namespace: "longhorn-system"
詳細については、ボリューム暗号化をご覧ください。
制限
-
Longhornは、すでに暗号化されたバックイメージを暗号化することや、暗号化されていないバックイメージを復号化することはできません。
-
Longhornは、暗号化されたバックイメージの暗号化キーを変更することを許可しません。
-
qcow2イメージを暗号化する際、Longhornはまずqcow2イメージから生のイメージを作成し、その後それを暗号化します。結果として得られる暗号化された生のイメージは、クローン作成中に一時的に追加のスペースを消費します。などです。別の例をあげれば、
-
10MiBのqcow2イメージを200MiBの仮想サイズで暗号化する場合、まずqcow2から生のイメージを作成し、200MiBのスペースを消費します。
-
その後、Longhornはその200MiBの生のイメージから暗号化されたバックイメージを作成し、さらに200MiBのスペースを消費します。
-
暗号化されたバックイメージが作成された後、一時的な生のイメージはクリーンアップされ、200MiBのスペースが解放されます。
-
-
ソースバックイメージがスパースファイルである場合、暗号化後にファイルはそのスパース性を失います。
-
暗号化中にLUKSメタデータを保存できるようにするため、イメージサイズは16 MB増加します。詳細については、 cryptsetupリリースノートをご覧ください。