使用雲端硬碟加密功能,系統會將傳輸到雲端硬碟的資料自動進行加密,並在讀取資料時自動解密。雲端硬碟加密適用於有高安全性或合規性要求的應用情境,您無需自建和維護密鑰管理基礎設施,即可保護資料的隱私性和自主性。本文介紹如何使用阿里雲Key Management Service中管理的金鑰組叢集中的雲端硬碟儲存卷進行資料加密。
功能介紹
瞭解加密原理
加密哪些資料
前提條件
注意事項
-
支援加密的雲端硬碟類型包括ESSD AutoPL雲端硬碟、ESSD雲端硬碟、ESSD Entry雲端硬碟、SSD雲端硬碟、高效雲端硬碟和普通雲端硬碟。
-
不支援加密本地碟。
-
非加密雲端硬碟不能直接轉換成加密雲端硬碟;加密雲端硬碟也不能直接轉換為非加密雲端硬碟。
配置KMS存取權限
使用KMS加密雲端硬碟時,需要為ECS授予KMS的存取權限。
-
建立用於訪問KMS的RAM角色。具體操作,請參見建立可信實體為阿里雲服務的RAM角色。
說明如果已有AliyunECSDiskEncryptDefaultRole角色,可直接進行授權。
需要注意的配置項如下:
-
信任主體類型:云服务
-
信任主體名稱:Elastic Compute Service/ECS
-
角色名稱:AliyunECSDiskEncryptDefaultRole
-
-
為RAM角色(AliyunECSDiskEncryptDefaultRole)授權。具體操作,請參見管理RAM角色的許可權。
需要注意的配置項如下:
-
資源範圍:賬號級別
-
權限策略:選擇系統策略AliyunKMSFullAccess,或者自訂權限原則AliyunECSDiskEncryptCustomizedPolicy。
重要AliyunKMSFullAccess許可權相對較大,如果需要更細粒度的許可權控制,建議建立自訂權限原則。
-
加密雲端硬碟儲存卷
在建立雲端硬碟時才可以啟用雲端硬碟加密,掛載或卸載雲端硬碟時並不需要進行加密相關的配置和操作。
-
建立啟用雲端硬碟加密的StorageClass。
-
修改以下YAML,儲存到sc-kms.yaml。
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: Delete相關
parameters說明如下:-
encrypted:建立的雲端硬碟是否為加密雲端硬碟。配置為true表示產生加密雲端硬碟。 -
kmsKeyId:建立加密雲端硬碟所使用的KMS密鑰。不配置時會使用預設的CMK;當encrypted為false時,此配置不生效。
-
-
建立StorageClass。
kubectl create -f sc-kms.yaml
-
-
建立PVC。
-
將以下內容儲存為sc-pvc.yaml。
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: disk-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 20Gi storageClassName: csi-disk-encrypted -
建立PVC。
kubectl create -f sc-pvc.yaml -
查看PVC。
kubectl get pvc預期返回如下,可以看到PVC已綁定自動建立的PV,在
VOLUME中可以擷取對應的雲端硬碟ID。NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS VOLUMEATTRIBUTESCLASS AGE disk-pvc Bound d-2ze0nmbv2var0d9h**** 20Gi RWO csi-disk-encrypted <unset> 6m20s
-
-
查看加密雲端硬碟是否生效。
-
登入ECS管理主控台。
-
在左側導覽列,選擇。
-
在雲端硬碟頁簽下,找到目標雲端硬碟,單擊雲端硬碟ID。
-
在雲端硬碟詳情頁面的基本資料中,確認是否加密欄位為已加密。
-
相關文檔
如需瞭解更多關於雲端硬碟加密的資訊,請參見加密雲端硬碟。