All Products
Search
Document Center

Container Service for Kubernetes:Enkripsi volume ossfs 1.0

Last Updated:Sep 17, 2026

Enkripsi data direkomendasikan untuk skenario yang memerlukan keamanan tinggi atau kepatuhan terhadap regulasi. Anda dapat menggunakan Customer Master Keys (CMK) dari Key Management Service (KMS) atau kunci yang dikelola oleh Object Storage Service (OSS) untuk mengenkripsi volume OSS di kluster ACK. Hal ini membantu memastikan privasi data dan memberi Anda kendali penuh atas data Anda.

Metode enkripsi

Enkripsi volume OSS dapat berupa enkripsi sisi server (SSE) atau enkripsi sisi klien. ACK hanya mendukung SSE.

  • Enkripsi sisi server: OSS mengenkripsi data sebelum menyimpannya ke disk di pusat data dan secara otomatis mendekripsinya saat Anda mengunduh objek.

  • Enkripsi sisi klien: Anda dapat menggunakan SDK enkripsi sisi klien untuk mengenkripsi data secara lokal sebelum mengunggahnya ke OSS.

OSS menyediakan dua metode enkripsi sisi server. Hanya satu metode enkripsi sisi server yang dapat digunakan untuk satu objek dalam satu waktu.

  • Menggunakan CMK dari KMS untuk enkripsi (SSE-KMS)

    • Gunakan CMK default: Saat mengunggah objek, atur header permintaan X-OSS-server-side-encryption ke KMS dan jangan menentukan ID CMK.

    • Gunakan ID CMK tertentu: Saat mengunggah objek, atur header permintaan X-OSS-server-side-encryption ke KMS, dan atur X-OSS-server-side-encryption-key-id ke CMK ID Anda.

    Penting

    Penggunaan kunci KMS dikenai biaya kecil untuk panggilan API. Untuk informasi selengkapnya, lihat Penagihan KMS 1.0.

    Metode ini hemat biaya karena OSS tidak mengirimkan data melalui jaringan ke server KMS untuk enkripsi dan dekripsi.

  • Menggunakan kunci yang sepenuhnya dikelola oleh OSS untuk enkripsi (SSE-OSS)

    • Metode ini menggunakan kunci yang sepenuhnya dikelola oleh OSS, dan enkripsi merupakan atribut objek.

    • OSS menghasilkan dan mengelola kunci enkripsi data serta menggunakan algoritma enkripsi kuat AES-256 standar industri.

    • Saat mengunggah objek, atur header permintaan X-OSS-server-side-encryption ke AES256.

Anda dapat mengonfigurasi parameter enkripsi untuk volume OSS menggunakan tool ossfs. Pengaturan ini diterapkan saat Anda memasang volume persisten (PV).

Untuk informasi selengkapnya tentang cara mengonfigurasi dan menginstal ossfs, lihat Instal ossfs 1.0.

Prasyarat

Skenario 1: Gunakan CMK KMS default

  1. Salin konten berikut ke file bernama kms-cmk-default.yaml.

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: oss-csi-pv
    spec:
      capacity:
        storage: 5Gi
      accessModes:
        - ReadOnlyMany
      csi:
        driver: ossplugin.csi.alibabacloud.com
        volumeHandle: oss-csi-pv
        volumeAttributes:
          bucket: "python"
          url: "oss-cn-hangzhou.aliyuncs.com"
          otherOpts: "-o umask=022 -o max_stat_cache_size=100000 -o allow_other"
          akId: "<YourAccessKey ID>"           # Ganti dengan ID AccessKey Anda
          akSecret: "<YourAccessKey Secret>"   # Ganti dengan Secret AccessKey Anda
          path: "/"
          encrypted: "kms"

    Parameter

    Deskripsi

    akId

    ID AccessKey

    akSecret

    AccessKey Secret

    encrypted

    Metode enkripsi untuk volume:

    • kms: Enkripsi KMS.

    • aes256: Enkripsi AES-256.

  2. Buat volume terenkripsi.

    kubectl create -f kms-cmk-default.yaml
  3. Lihat volume terenkripsi yang telah dibuat.

    kubectl get pv

Skenario 2: Gunakan ID CMK KMS tertentu

1. Konfigurasi izin akses KMS

Untuk mengenkripsi objek OSS dengan CMK tertentu, Pengguna RAM atau Peran RAM yang terkait dengan AccessKey PV harus diberikan izin untuk menggunakan CMK tersebut. Untuk informasi selengkapnya, lihat Enkripsi sisi server.

Sebelum Anda memulai, pastikan Anda telah membuat Pengguna RAM atau membuat Peran RAM.
  1. Masuk ke Konsol RAM menggunakan Akun Alibaba Cloud atau sebagai administrator RAM.

  2. Di panel navigasi, pilih User atau Role.

  3. Temukan Pengguna RAM target dan klik Add Permissions di kolom Actions. Atau, temukan Peran RAM target dan klik Attach Policy di kolom Actions. Ikuti petunjuk di layar untuk memberikan izin. Anda dapat melampirkan kebijakan sistem AliyunKMSFullAccess atau kebijakan kustom bernama AliyunOSSEncryptCustomizedPolicy.

    Izin AliyunKMSFullAccess memberikan akses luas. Untuk kontrol lebih granular, Anda dapat membuat kebijakan kustom bernama AliyunOSSEncryptCustomizedPolicy dengan konten berikut.

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "kms:List*",
            "kms:DescribeKey",
            "kms:GenerateDataKey",
            "kms:Decrypt"
          ],
          "Resource": [
            "acs:kms:*:141661496593****:*"  // Ini memungkinkan pihak yang berwenang menggunakan semua kunci KMS di bawah Akun Alibaba Cloud ini. Untuk membatasi akses hanya ke CMK tertentu, ganti resource wildcard dengan ARN CMK tersebut.
          ]
        }
      ]
    }

2. Buat volume terenkripsi

  1. Buat file bernama kms-cmk.yaml.

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: oss-csi-pv
    spec:
      capacity:
        storage: 5Gi
      accessModes:
        - ReadOnlyMany
      csi:
        driver: ossplugin.csi.alibabacloud.com
        volumeHandle: oss-csi-pv
        volumeAttributes:
          bucket: "python"
          url: "oss-cn-hangzhou.aliyuncs.com"
          otherOpts: "-o umask=022 -o max_stat_cache_size=100000 -o allow_other"
          akId: "<YourAccessKey ID>"           # Ganti dengan ID AccessKey Anda
          akSecret: "<YourAccessKey Secret>"   # Ganti dengan Secret AccessKey Anda
          path: "/"
          encrypted: "kms"
          kmsKeyId: "<YourCMKID>"          # Ganti dengan ID CMK Anda
  2. Buat volume terenkripsi.

    kubectl create -f kms-cmk.yaml
  3. Lihat volume terenkripsi yang telah dibuat.

    kubectl get pv

Skenario 3: Gunakan kunci yang dikelola OSS

  1. Buat file bernama sse-oss.yaml.

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: oss-csi-pv
    spec:
      capacity:
        storage: 5Gi
      accessModes:
        - ReadOnlyMany
      csi:
        driver: ossplugin.csi.alibabacloud.com
        volumeHandle: oss-csi-pv
        volumeAttributes:
          bucket: "python"
          url: "oss-cn-hangzhou.aliyuncs.com"
          otherOpts: "-o umask=022 -o max_stat_cache_size=100000 -o allow_other"
          akId: "<YourAccessKey ID>"             # Ganti dengan ID AccessKey Anda
          akSecret: "<YourAccessKey Secret>"     # Ganti dengan Secret AccessKey Anda
          path: "/"
          encrypted: "aes256"
  2. Buat volume terenkripsi.

    kubectl create -f sse-oss.yaml
  3. Lihat volume terenkripsi yang telah dibuat.

    kubectl get pv