All Products
Search
Document Center

Container Service for Kubernetes:Enkripsi volume disk

Last Updated:Sep 16, 2026

Gunakan enkripsi disk untuk secara otomatis mengenkripsi data yang ditulis ke disk dan mendekripsinya saat dibaca. Dengan kunci yang dikelola oleh KMS, Anda dapat mengenkripsi volume disk klaster tanpa perlu membangun infrastruktur manajemen kunci sendiri. Topik ini menjelaskan cara mengonfigurasi StorageClass dengan KMS untuk mengenkripsi volume disk saat tidak digunakan (at rest).

Mencakup enkripsi volume data workload melalui StorageClass. Tidak mencakup enkripsi volume root node.

Cara kerja enkripsi

Disk Alibaba Cloud menggunakan enkripsi AES-256 yang dikelola oleh KMS. KMS menerapkan hierarki kunci dua tingkat—customer master keys (CMKs) dan data keys (DKs)—menggunakan envelope encryption:

  1. Enkripsi kunci data. KMS mengenkripsi DK dengan CMK. DK yang terenkripsi disimpan bersama data terenkripsi dan tidak dapat didekripsi tanpa CMK.

  2. Simpan dan baca data terenkripsi. Saat data terenkripsi dibaca, KMS mendekripsi DK setelah memverifikasi permintaan. DK dalam bentuk plaintext hanya ada di memori selama operasi I/O disk dan tidak pernah ditulis ke penyimpanan.

Plaintext CMK tidak pernah meninggalkan modul keamanan perangkat keras yang dikelola oleh KMS. Plaintext DK hanya ada di memori hypervisor dan tidak pernah disimpan di disk.

Lihat Proses enkripsi.

Jenis data yang dapat dienkripsi

Data berikut dienkripsi saat Anda membuat disk terenkripsi dan menyambungkannya ke instans Elastic Compute Service (ECS), serta didekripsi saat dibaca.

  • Data statis yang disimpan di disk terenkripsi.

  • Data dalam transit antara disk dan instans ECS, tidak termasuk data di sistem operasi instans.

  • Data dalam transit dari instans ECS ke backend storage.

  • Semua snapshot yang dibuat dari disk terenkripsi, menggunakan kunci enkripsi yang sama.

  • Semua disk yang dibuat dari snapshot terenkripsi tersebut.

Tipe disk yang didukung

Tipe disk berikut mendukung enkripsi:

Tipe disk Enkripsi didukung
Enterprise SSDs (ESSDs) Ya
ESSD AutoPL disks Ya
ESSD Entry disks Ya
Standard SSDs Ya
Ultra disks Ya
Basic disks Ya
Local disks Tidak

Batasan

  • Enkripsi hanya dapat diatur saat pembuatan disk dan tidak dapat diubah setelahnya. Proses memasang (mount) dan melepas (unmount) tidak memengaruhi enkripsi.

  • Konversi disk tidak terenkripsi menjadi terenkripsi, atau sebaliknya, tidak didukung.

Otorisasi ECS untuk mengakses KMS

Berikan akses Elastic Compute Service (ECS) ke KMS dengan menyiapkan peran RAM AliyunECSDiskEncryptDefaultRole.

  1. Buat peran RAM (lihat Buat peran RAM untuk layanan Alibaba Cloud tepercaya) dengan nilai berikut:

    Jika peran AliyunECSDiskEncryptDefaultRole sudah ada, lewati langkah ini.
    Field Value
    Principal Type Cloud Service
    Principal Name Elastic Compute Service
    Role Name AliyunECSDiskEncryptDefaultRole
  2. Berikan izin kepada peran AliyunECSDiskEncryptDefaultRole (lihat Berikan izin kepada peran RAM) dengan nilai berikut:

    Penting

    AliyunKMSFullAccess memberikan izin penuh ke KMS. Untuk akses berdasarkan prinsip least-privilege, gunakan kebijakan kustom dengan izin berikut:

    Field Value
    Resource Scope Account
    Policy AliyunKMSFullAccess (akses penuh ke KMS) atau AliyunECSDiskEncryptCustomizedPolicy (izin minimum yang diperlukan)
    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "kms:DescribeKey",
                    "kms:GenerateDataKey",
                    "kms:Decrypt",
                    "kms:TagResource"
                ],
                "Resource": "*"
            }
        ]
    }
  3. Klik Grant permissions.

Prosedur

Enkripsi dikonfigurasi pada level StorageClass. Setiap persistent volume claim (PVC) yang menggunakan StorageClass dengan enkripsi aktif akan didukung oleh disk terenkripsi.

Prasyarat

Pastikan Anda telah:

Langkah 1: Buat StorageClass terenkripsi

  1. Buat file bernama sc-kms.yaml dengan konten berikut, sesuaikan parameter sesuai kebutuhan:

    Parameter Deskripsi
    encrypted Atur ke "true" untuk mengenkripsi disk yang dibuat oleh StorageClass ini.
    kmsKeyId Kunci KMS untuk enkripsi disk. Jika tidak diatur, CMK default akan digunakan. Diabaikan jika encrypted bernilai "false".
    type Tipe disk.
    fsType Tipe sistem file.
    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

    Tabel di atas menjelaskan parameter terkait enkripsi dalam bagian parameters.

  2. Buat StorageClass:

    kubectl create -f sc-kms.yaml

Langkah 2: Buat PVC

  1. Buat file bernama sc-pvc.yaml dengan konten berikut:

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: disk-pvc
    spec:
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 20Gi
      storageClassName: csi-disk-encrypted
  2. Buat PVC:

    kubectl create -f sc-pvc.yaml
  3. Verifikasi bahwa PVC telah terikat (bound):

    kubectl get pvc

    Status PVC harus Bound. Kolom VOLUME menampilkan ID disk yang disediakan:

    NAME       STATUS    VOLUME                   CAPACITY   ACCESS MODES   STORAGECLASS         VOLUMEATTRIBUTESCLASS   AGE
    disk-pvc   Bound     d-2ze0nmbv2var0d9h****   20Gi       RWO            csi-disk-encrypted   <unset>                 6m20s

Langkah 3: Verifikasi enkripsi disk

  1. Login ke Konsol ECS.

  2. Pilih Storage & Snapshots > Block Storage.

  3. Login ke Konsol ECS.

  4. Di tab Cloud Disk, temukan disk tersebut dan klik ID-nya.

  5. Di tab Basic Information, pastikan Encrypted muncul di field Encrypted/Unencrypted.

Langkah berikutnya

Lihat Enkripsi cloud disk.