All Products
Search
Document Center

Container Service for Kubernetes:Enkripsi volume disk

Last Updated:Jul 06, 2025

Setelah mengaktifkan fitur enkripsi disk, sistem secara otomatis mengenkripsi data yang ditransmisikan ke disk dan mendekripsinya saat dibaca. Enkripsi disk cocok untuk skenario yang memerlukan keamanan tinggi atau memiliki persyaratan kepatuhan. Anda dapat melindungi privasi dan otonomi data tanpa perlu membuat atau memelihara infrastruktur manajemen kunci. Topik ini menjelaskan cara menggunakan kunci yang dihosting di Key Management Service (KMS) untuk mengenkripsi data yang disimpan di volume disk.

Deskripsi fitur

Cara kerja enkripsi volume disk

Disk Alibaba Cloud dienkripsi menggunakan algoritma AES-256 standar industri dan KMS. KMS menggunakan desain dua-kunci serta mekanisme enkripsi amplop untuk mengenkripsi data. Desain dua-kunci melibatkan kunci master pelanggan (CMK) dan kunci data (DK) yang dihasilkan oleh CMK untuk enkripsi dan dekripsi. CMK berlaku pada DK, sedangkan DK berlaku pada data bisnis. KMS melakukan langkah-langkah berikut dalam implementasi enkripsi menggunakan mekanisme enkripsi amplop:

  1. Enkripsi DK.

    CMK digunakan untuk mengenkripsi DK sebelum DK dapat digunakan. DK yang dienkripsi dalam format non-teks disimpan dengan aman bersama dengan data bisnis terenkripsi. Dengan cara ini, DK tidak dapat didekripsi meskipun pengguna tidak sah mengakses media penyimpanan karena mereka tidak memiliki CMK.

  2. Simpan dan baca data terenkripsi.

    Saat membaca data terenkripsi, permintaan dikirim ke KMS untuk mendekripsi DK. Setelah KMS memverifikasi permintaan, KMS mengembalikan DK dalam teks biasa. Proses ini dilakukan di memori, dan DK tidak disimpan di media penyimpanan. DK dalam teks biasa di memori hypervisor digunakan untuk mendekripsi data selama operasi I/O disk.

Catatan

Selama proses enkripsi amplop, CMK dalam teks biasa tidak disimpan atau digunakan di luar modul keamanan perangkat keras yang dikelola oleh KMS. DK dalam teks biasa hanya digunakan di memori host tempat instance layanan berada, tetapi tidak pernah disimpan di media penyimpanan.

Untuk informasi lebih lanjut, lihat Proses enkripsi.

Jenis data yang dapat dienkripsi

Jenis data berikut dienkripsi saat Anda membuat disk terenkripsi dan menampilkannya ke instance Elastic Compute Service (ECS). Data didekripsi saat dibaca.

  • Data statis yang disimpan di disk terenkripsi.

  • Data yang ditransmisikan antara disk terenkripsi dan instance ECS, kecuali data di sistem operasi instance.

  • Data yang ditransmisikan dari instance ECS ke kluster penyimpanan backend.

  • Semua snapshot yang dibuat dari disk terenkripsi. Snapshot ini memiliki kunci enkripsi yang sama dengan disk.

  • Semua disk yang dibuat dari snapshot terenkripsi.

Prasyarat

  • Plug-in Container Storage Interface (CSI) harus diinstal di kluster.

    Catatan
    • Di panel navigasi sisi kiri halaman manajemen kluster, pilih Operations > Add-ons. Pada tab Storage, Anda dapat memeriksa apakah csi-plugin dan csi-provisioner telah diinstal. Untuk informasi lebih lanjut tentang cara memperbarui plug-in CSI untuk menggunakan kemampuan tertentu, lihat Perbarui csi-plugin dan csi-provisioner.

    • Jika kluster Anda menggunakan FlexVolume, migrasikan kluster ke plug-in CSI karena FlexVolume tidak lagi tersedia. Untuk informasi lebih lanjut, lihat Tingkatkan dari FlexVolume ke CSI.

  • KMS telah diaktifkan.

Catatan penggunaan

  • Anda dapat mengenkripsi Enterprise SSD (ESSD), ESSD AutoPL disk, ESSD Entry disk, SSD standar, ultra disk, dan disk dasar.

  • Anda tidak dapat mengenkripsi disk lokal.

  • Anda tidak dapat langsung mengonversi disk yang tidak terenkripsi menjadi disk terenkripsi atau sebaliknya.

Otorisasi ECS untuk mengakses KMS

Saat menggunakan KMS untuk mengenkripsi disk, Anda harus terlebih dahulu mengotorisasi ECS untuk mengakses KMS.

  1. Buat Pengguna Resource Access Management (RAM) yang digunakan untuk mengakses KMS. Untuk informasi lebih lanjut, lihat Buat Peran RAM untuk layanan tepercaya Alibaba Cloud.

    Catatan

    Jika peran AliyunECSDiskEncryptDefaultRole sudah ada, Anda dapat melewati langkah ini.

    Perhatikan parameter berikut:

    • Atur Principal Type ke Cloud Service.

    • Atur Principal Name ke Elastic Compute Service.

    • Atur Role Name ke AliyunECSDiskEncryptDefaultRole.

  2. Berikan izin kepada peran AliyunECSDiskEncryptDefaultRole. Untuk informasi lebih lanjut, lihat Berikan izin kepada peran RAM.

    Perhatikan parameter berikut:

    • Atur Resource Scope ke Account.

    • Pilih kebijakan sistem AliyunKMSFullAccess atau kebijakan kustom AliyunECSDiskEncryptCustomizedPolicy di bagian Policy.

      Penting

      Kebijakan sistem AliyunKMSFullAccess memberikan izin penuh. Jika Anda memerlukan kontrol akses yang lebih granular, lihat Buat kebijakan kustom.

      Klik untuk melihat izin yang diberikan oleh kebijakan AliyunECSDiskEncryptCustomizedPolicy

      {
          "Version": "1",
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "kms:DescribeKey",
                      "kms:GenerateDataKey",
                      "kms:Decrypt",
                      "kms:TagResource"
                  ],
                  "Resource": "*"
              }
          ]
      }
      1. Klik Grant permissions.

Enkripsi volume disk

Anda hanya dapat mengaktifkan enkripsi disk saat membuat disk. Saat memasang atau melepas disk, tidak ada operasi terkait enkripsi yang terlibat.

  1. Buat StorageClass yang mengaktifkan enkripsi disk.

    1. Modifikasi template YAML berikut sesuai dengan kebutuhan bisnis Anda dan salin template yang dimodifikasi ke file bernama 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

      Perhatikan parameter berikut di bagian parameters:

      • encrypted: menentukan apakah akan mengaktifkan enkripsi disk untuk disk yang dibuat menggunakan StorageClass. Jika Anda ingin menggunakan StorageClass untuk membuat disk terenkripsi, atur nilainya ke true.

      • kmsKeyId: menentukan kunci KMS yang digunakan untuk mengenkripsi disk yang dibuat menggunakan StorageClass. Jika Anda tidak mengatur parameter ini, CMK default digunakan. Jika Anda mengatur encrypted ke false, parameter ini tidak berlaku.

    2. Buat StorageClass.

      kubectl create -f sc-kms.yaml
  2. Buat klaim volume persisten (PVC).

    1. Buat file bernama sc-pvc.yaml dan salin konten berikut ke file tersebut:

      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. Periksa PVC.

      kubectl get pvc

      Keluaran berikut menunjukkan bahwa PVC telah dibuat dan terikat ke volume persisten (PV) yang secara otomatis dibuat oleh sistem. Anda dapat melihat ID disk di kolom VOLUME.

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

    1. Masuk ke Konsol ECS.

    2. Di panel navigasi sisi kiri, pilih Block Storage.

    3. Pada tab Cloud Disk, cari disk yang telah dibuat dan klik ID-nya.

    4. Di tab Basic Information halaman detail disk, periksa apakah Encrypted ditampilkan di bidang Encrypted/Unencrypted.

Referensi

Untuk informasi lebih lanjut tentang enkripsi disk, lihat Enkripsi disk cloud.