全部产品
Search
文档中心

Container Service for Kubernetes:Enkripsi volume ossfs 1.0

更新时间:Nov 11, 2025

Enkripsi data direkomendasikan untuk skenario yang memerlukan keamanan data tinggi atau kepatuhan. 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. Metode ini membantu memastikan privasi dan kontrol data.

Metode enkripsi

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

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

  • Enkripsi sisi klien: Anda dapat menggunakan kit pengembangan perangkat lunak (SDK) enkripsi sisi klien untuk mengenkripsi data secara lokal sebelum mengunggahnya ke OSS.

OSS menyediakan dua metode enkripsi sisi server untuk berbagai skenario. Anda hanya dapat menggunakan satu metode enkripsi sisi server untuk satu objek dalam satu waktu.

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

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

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

    Penting

    Penggunaan kunci KMS akan dikenai biaya kecil untuk panggilan API. Untuk informasi lebih lanjut tentang penagihan, lihat Penagihan KMS 1.0.

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

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

    • Metode enkripsi ini menggunakan kunci yang dikelola oleh OSS. Enkripsi merupakan atribut objek.

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

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

Anda dapat mengonfigurasi parameter enkripsi untuk volume OSS menggunakan alat ossfs. Konfigurasi ini berlaku saat volume persisten (PV) dipasang.

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

Persiapan

Skenario 1: Gunakan CMK default yang dihosting di KMS untuk enkripsi

  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 Rahasia AccessKey Anda.
          path: "/"
          encrypted: "kms"

    Parameter

    Deskripsi

    akId

    ID AccessKey

    akSecret

    Rahasia AccessKey

    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 tertentu yang dihosting di KMS untuk enkripsi

1. Konfigurasi izin akses KMS

Untuk mengenkripsi objek OSS dengan ID CMK tertentu yang dikelola KMS, Anda harus memberikan izin akses KMS kepada pengguna RAM atau peran RAM untuk AccessKey PV. Untuk informasi selengkapnya, lihat Enkripsi sisi server.

Sebelum memulai, pastikan Anda telah membuat Pengguna Resource Access Management (RAM) atau membuat Peran RAM.
  1. Masuk ke Konsol RAM menggunakan akun Alibaba Cloud atau pengguna RAM yang memiliki hak administratif.

  2. Di panel navigasi sebelah kiri, pilih Identity Management > Users atau Roles.

  3. Temukan pengguna RAM target dan klik Add Permissions di kolom Actions. Atau, temukan peran RAM target dan klik Grant Permission di kolom Actions. Ikuti petunjuk di layar untuk menambahkan izin. Anda dapat memilih kebijakan sistem AliyunKMSFullAccess atau kebijakan kustom AliyunOSSEncryptCustomizedPolicy kebijakan kustom.

    Izin AliyunKMSFullAccess memberikan akses luas. Jika Anda memerlukan kontrol akses detail halus, 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 entitas memanggil semua kunci KMS di bawah ID akun Alibaba Cloud ini. Jika Anda hanya ingin mengizinkan penggunaan CMK tertentu, masukkan ID CMK yang sesuai.
          ]
        }
      ]
    }

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 Rahasia 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 sepenuhnya dikelola oleh OSS untuk enkripsi

  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 Rahasia 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