Tüm Ürünler
Search
Belge Merkezi

Container Service for Kubernetes:Encrypt ossfs 1.0 volumes

Son Güncelleme:Oct 06, 2026

Yüksek güvenlik veya uyumluluk gerektiren senaryolar için veri şifrelemesi önerilir. ACK kümelerindeki OSS birimlerini şifrelemek üzere Key Management Service (KMS) Müşteri Anahtarlarını (CMK) veya Object Storage Service (OSS) tarafından yönetilen anahtarları kullanabilirsiniz. Bu yaklaşım, veri gizliliğini korumanıza yardımcı olur ve verileriniz üzerinde kontrol sahibi olmanızı sağlar.

Şifreleme yöntemleri

OSS birimi şifrelemesi sunucu taraflı şifreleme (SSE) veya istemci taraflı şifreleme olarak uygulanabilir. ACK yalnızca SSE'yi destekler.

  • Sunucu taraflı şifreleme: OSS, verileri bir veri merkezindeki diske kaydetmeden önce şifreler ve nesneleri indirdiğinizde otomatik olarak şifresini çözer.

  • İstemci taraflı şifreleme: Verileri OSS'e yüklemeden önce yerel ortamda şifrelemek için bir istemci taraflı şifreleme SDK'sı kullanabilirsiniz.

OSS iki sunucu taraflı şifreleme yöntemi sunar. Bir nesne için aynı anda yalnızca bir sunucu taraflı şifreleme yöntemi kullanılabilir.

  • Şifreleme için KMS CMK'larının kullanılması (SSE-KMS)

    • Varsayılan CMK'yı kullanma: Bir nesne yüklerken X-OSS-server-side-encryption istek üstbilgisini KMS olarak ayarlayın ve bir CMK Kimliği belirtmeyin.

    • Belirtilen bir CMK Kimliği kullanma: Bir nesne yüklerken X-OSS-server-side-encryption istek üstbilgisini KMS olarak ayarlayın ve X-OSS-server-side-encryption-key-id değerini CMK ID olarak belirleyin.

    Önemli

    KMS anahtarlarının kullanılması, API çağrıları için küçük bir ücrete neden olur. Daha fazla bilgi için bkz. KMS 1,0 Faturalandırması.

    OSS, şifreleme ve şifre çözme işlemleri için verileri ağ üzerinden KMS sunucusuna göndermediğinden bu yöntem maliyet etkilidir.

  • Şifreleme için tamamen OSS tarafından yönetilen anahtarların kullanılması (SSE-OSS)

    • Bu yöntem, tamamen OSS tarafından yönetilen anahtarları kullanır ve şifreleme bir nesne niteliğidir.

    • OSS, veri şifreleme anahtarlarını oluşturur ve yönetir; endüstri standardı AES-256 güçlü şifreleme algoritmasını kullanır.

    • Bir nesne yüklerken X-OSS-server-side-encryption istek üstbilgisini AES256 olarak ayarlayın.

ossfs aracını kullanarak bir OSS birimi için şifreleme parametrelerini yapılandırabilirsiniz. Bu ayarlar, kalıcı birimi (PV) bağladığınızda uygulanır.

ossfs'in nasıl yapılandırılacağı ve kurulacağı hakkında daha fazla bilgi için bkz. ossfs 1,0'ı Yükleme .

Ön koşullar

Senaryo 1: Varsayılan KMS CMK'sını kullanma

  1. Aşağıdaki içeriği kms-cmk-default.yaml adlı bir dosyaya kopyalayın.

    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>"           # Replace with your AccessKey ID
          akSecret: "<YourAccessKey Secret>"   # Replace with your AccessKey Secret
          path: "/"
          encrypted: "kms"

    Parametre

    Açıklama

    akId

    AccessKey Kimliği

    akSecret

    AccessKey Gizli Anahtarı

    encrypted

    Birim için şifreleme yöntemi:

    • kms: KMS şifrelemesi.

    • aes256: AES-256 şifrelemesi.

  2. Şifrelenmiş birimi oluşturun.

    kubectl create -f kms-cmk-default.yaml
  3. Oluşturulan şifrelenmiş birimi görüntüleyin.

    kubectl get pv

Senaryo 2: Belirtilen bir KMS CMK Kimliği kullanma

1. KMS erişim izinlerini yapılandırma

Belirli bir CMK ile bir OSS nesnesini şifrelemek için PV'nin AccessKey'i ile ilişkili RAM kullanıcısına veya rolüne söz konusu CMK'yı kullanma izni verilmelidir. Daha fazla bilgi için bkz. Sunucu taraflı şifreleme.

Başlamadan önce bir RAM kullanıcısı oluşturduğunuzdan veya RAM rolü oluşturduğunuzdan emin olun.
  1. Bir Alibaba Cloud hesabı veya RAM yöneticisi olarak RAM konsolunda oturum açın.

  2. Sol gezinme bölmesinde User veya Role seçeneğini seçin.

  3. Hedef RAM kullanıcısını bulun ve Actions sütununda Add Permissions seçeneğine tıklayın. Alternatif olarak, hedef RAM rolünü bulun ve Attach Policy sütununda Actions seçeneğine tıklayın. İzinleri vermek için ekrandaki talimatları izleyin. AliyunKMSFullAccess sistem ilkesini veya AliyunOSSEncryptCustomizedPolicy adlı özel bir ilkeyi ekleyebilirsiniz.

    AliyunKMSFullAccess izni geniş kapsamlı erişim sağlar. Daha ayrıntılı kontrol için aşağıdaki içeriğe sahip AliyunOSSEncryptCustomizedPolicy adlı özel bir ilke oluşturabilirsiniz.

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "kms:List*",
            "kms:DescribeKey",
            "kms:GenerateDataKey",
            "kms:Decrypt"
          ],
          "Resource": [
            "acs:kms:*:141661496593****:*"  // This allows the principal to use all KMS keys under this Alibaba Cloud account. To allow access to only a specific CMK, replace the wildcard resource with the ARN of that CMK.
          ]
        }
      ]
    }

2. Şifrelenmiş birimi oluşturma

  1. kms-cmk.yaml adlı bir dosya oluşturun.

    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>"           # Replace with your AccessKey ID
          akSecret: "<YourAccessKey Secret>"   # Replace with your AccessKey Secret
          path: "/"
          encrypted: "kms"
          kmsKeyId: "<YourCMKID>"          # Replace with your CMK ID
  2. Şifrelenmiş birimi oluşturun.

    kubectl create -f kms-cmk.yaml
  3. Oluşturulan şifrelenmiş birimi görüntüleyin.

    kubectl get pv

Senaryo 3: OSS tarafından yönetilen anahtarları kullanma

  1. sse-oss.yaml adlı bir dosya oluşturun.

    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>"             # Replace with your AccessKey ID
          akSecret: "<YourAccessKey Secret>"     # Replace with your AccessKey Secret
          path: "/"
          encrypted: "aes256"
  2. Şifrelenmiş birimi oluşturun.

    kubectl create -f sse-oss.yaml
  3. Oluşturulan şifrelenmiş birimi görüntüleyin.

    kubectl get pv