Disk şifrelemeyi kullanarak disklere yazılan verileri otomatik olarak şifreleyin ve okuma sırasında bu verilerin şifresini çözün. KMS tarafından yönetilen anahtarlarla, kendi anahtar yönetimi altyapınızı kurmadan küme disk birimlerini şifreleyebilirsiniz. Bu konuda, disk birimlerini bekleme durumunda şifrelemek için bir StorageClass'ı KMS ile nasıl yapılandıracağınız açıklanmaktadır.
Bu konu, bir StorageClass aracılığıyla iş yükü veri birimi şifrelemesini kapsar. Düğüm kök birimi şifrelemesini kapsamaz.
Şifrelemenin çalışma şekli
Alibaba Cloud diskleri, KMS tarafından yönetilen AES-256 şifrelemeyi kullanır. KMS, zarf şifreleme kullanarak iki seviyeli bir anahtar hiyerarşisi — müşteri ana anahtarları (CMK) ve veri anahtarları (DK) — uygular:
Veri anahtarını şifreleyin. KMS, DK'yı CMK ile şifreler. Şifrelenmiş DK, şifrelenmiş verilerle birlikte depolanır ve CMK olmadan şifresi çözülemez.
Şifrelenmiş verileri depolayın ve okuyun. Şifrelenmiş veriler okunduğunda, KMS isteği doğruladıktan sonra DK'nın şifresini çözer. Düz metin DK yalnızca disk G/Ç işlemi sırasında bellekte bulunur ve asla depolama alanına yazılmaz.
Düz metin CMK, KMS tarafından yönetilen donanım güvenlik modülünden hiçbir zaman çıkmaz. Düz metin DK yalnızca hipervizör belleğinde bulunur ve asla diskte depolanmaz.
Bkz. Şifreleme süreci.
Şifrelenebilen veri türleri
Desteklenen disk türleri
Aşağıdaki disk türleri şifrelemeyi destekler:
| Disk türü | Şifreleme destekleniyor mu? |
|---|---|
| Kurumsal SSD'ler (ESSD) | Evet |
| ESSD AutoPL diskleri | Evet |
| ESSD Entry diskleri | Evet |
| Standart SSD'ler | Evet |
| Ultra diskler | Evet |
| Temel diskler | Evet |
| Yerel diskler | Hayır |
Sınırlamalar
Şifreleme yalnızca disk oluşturma sırasında ayarlanabilir ve sonrasında değiştirilemez. Disklerin bağlanması ve bağlantısının kaldırılması şifrelemeyi etkilemez.
Şifrelenmemiş bir diskin şifrelenmiş hale getirilmesi veya şifrelenmiş bir diskin şifrelenmemiş hale getirilmesi desteklenmez.
ECS'in KMS'e erişimini yetkilendirme
AliyunECSDiskEncryptDefaultRole RAM rolünü yapılandırarak Elastic Compute Service (ECS) hizmetine KMS erişimi verin.
-
Aşağıdaki değerlerle bir RAM rolü oluşturun (bkz. Güvenilir bir Alibaba Cloud hizmeti için RAM rolü oluşturma):
AliyunECSDiskEncryptDefaultRolerolü zaten varsa bu adımı atlayın.Alan Değer Principal Type Cloud Service Principal Name Elastic Compute Service Role Name AliyunECSDiskEncryptDefaultRole -
AliyunECSDiskEncryptDefaultRolerolüne izinler verin (bkz. RAM rolüne izin verme) ve aşağıdaki değerleri kullanın:ÖnemliAliyunKMSFullAccesstam KMS izinleri sağlar. En az ayrıcalıklı erişim için aşağıdaki izinlere sahip özel bir ilke kullanın:Alan Değer Resource Scope Account Policy AliyunKMSFullAccess(tam KMS erişimi) veyaAliyunECSDiskEncryptCustomizedPolicy(gerekli minimum izinler){ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:GenerateDataKey", "kms:Decrypt", "kms:TagResource" ], "Resource": "*" } ] } Grant permissions seçeneğini tıklayın.
Yordam
Şifreleme, StorageClass düzeyinde yapılandırılır. Şifreleme etkinleştirilmiş bir StorageClass kullanan her kalıcı birim talebi (PVC), şifrelenmiş bir disk tarafından desteklenir.
Ön koşullar
Aşağıdakileri yaptığınızdan emin olun:
-
Container Storage Interface (CSI) eklentisi (csi-plugin ve csi-provisioner) yüklüdür. Operations > Add-ons > Storage altında doğrulayın. Bkz. csi-plugin ve csi-provisioner güncelleme.
Kümeniz FlexVolume kullanıyorsa devam etmeden önce CSI'ye geçiş yapın. FlexVolume artık desteklenmemektedir. Bkz. FlexVolume'dan CSI'ye yükseltme .
KMS izinleriyle yapılandırılmış
AliyunECSDiskEncryptDefaultRoleRAM rolü mevcuttur (bkz. ECS'in KMS'e erişimini yetkilendirme)
Adım 1: Şifrelenmiş bir StorageClass oluşturma
-
Parametreleri ihtiyaca göre ayarlayarak aşağıdaki içeriğe sahip
sc-kms.yamladlı bir dosya oluşturun:Parametre Açıklama encryptedBu StorageClass tarafından oluşturulan diskleri şifrelemek için "true"olarak ayarlayın.kmsKeyIdDisk şifrelemesi için kullanılan KMS anahtarı. Ayarlanmazsa varsayılan CMK uygulanır. encrypteddeğeri"false"ise yoksayılır.typeDisk türü. fsTypeDosya sistemi türü. apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: csi-disk-encrypted provisioner: diskplugin.csi.alibabacloud.com parameters: fsType: ext4 type: cloud_essd encrypted: "true" kmsKeyId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx reclaimPolicy: DeleteYukarıdaki tabloda,
parametersbölümündeki şifrelemeyle ilgili parametreler açıklanmaktadır. -
StorageClass'ı oluşturun:
kubectl create -f sc-kms.yaml
Adım 2: Bir PVC oluşturma
-
Aşağıdaki içeriğe sahip
sc-pvc.yamladlı bir dosya oluşturun:apiVersion: v1 kind: PersistentVolumeClaim metadata: name: disk-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 20Gi storageClassName: csi-disk-encrypted -
PVC'yi oluşturun:
kubectl create -f sc-pvc.yaml -
PVC'nin bağlı olduğunu doğrulayın:
kubectl get pvcPVC durumu
Boundolmalıdır.VOLUMEsütunu sağlanan disk kimliğini gösterir:NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS VOLUMEATTRIBUTESCLASS AGE disk-pvc Bound d-2ze0nmbv2var0d9h**** 20Gi RWO csi-disk-encrypted <unset> 6m20s
Adım 3: Disk şifrelemesini doğrulama
ECS konsolu üzerinden oturum açın.
Storage & Snapshots > Block Storage seçeneğini seçin.
ECS konsolu üzerinden oturum açın.
Cloud Disk sekmesinde diski bulun ve kimliğine tıklayın.
Basic Information sekmesinde, Encrypted/Unencrypted alanında Encrypted ifadesinin göründüğünü onaylayın.
Sonraki adımlar
Bkz. Cloud diskleri şifreleme.