All Products
Search
Document Center

Container Service for Kubernetes:Impor kredensial layanan KMS dengan csi-secrets-store-provider-alibabacloud

Last Updated:Jul 01, 2026

Impor kredensial KMS sebagai Kubernetes Secrets atau pasang melalui CSI inline volumes dengan csi-secrets-store-provider-alibabacloud, yang juga mendukung rotasi rahasia otomatis.

Risiko keamanan

Interaksi langsung antara workload yang membaca rahasia dari sistem file dan Secrets Manager dapat menyebabkan masalah kompatibilitas. csi-secrets-store-provider-alibabacloud mengatasi hal ini dan mendukung sinkronisasi rahasia ke objek Kubernetes Secret untuk digunakan sebagai variabel lingkungan. Evaluasi risiko keamanan berikut sebelum melanjutkan.

  • Jika kunci dapat diakses dalam sistem file, kerentanan pada aplikasi dapat menimbulkan ancaman penelusuran direktori, yang berpotensi mengekspos informasi sensitif.

  • Titik akhir debug atau izin log yang salah konfigurasi dapat mengekspos kunci. Oleh karena itu, mengakses kunci dengan memasangnya sebagai referensi dalam variabel lingkungan tidak aman dan tidak disarankan.

  • Saat Anda mengaktifkan fitur sinkronisasi instans Secret, Anda harus mengontrol ketat izin akses berdasarkan prinsip hak istimewa minimal.

Karena alasan tersebut, jika aplikasi Anda tidak memerlukan penyimpanan persisten untuk ciphertext, kami menyarankan Anda untuk Menggunakan RRSA untuk kontrol akses tingkat pod mengonfigurasi izin minimum tingkat pod untuk aplikasi dan GetSecretValue memperoleh kredensial kunci secara langsung dalam aplikasi guna mengurangi risiko eksposur konten kunci di sistem file pod atau Kubernetes Secrets.

Prasyarat

Langkah 1: Konfigurasikan autentikasi add-on

Konfigurasikan autentikasi untuk csi-secrets-store-provider-alibabacloud agar dapat mengambil kredensial dari KMS. Tanpa autentikasi, csi-secrets-store-provider-alibabacloud tidak dapat mengimpor atau menyinkronkan kredensial ke kluster. Pilih salah satu metode otorisasi berikut berdasarkan jenis kluster Anda.

Berikan izin dengan RRSA

Dibandingkan metode otorisasi lainnya, otorisasi RRSA menyediakan isolasi izin tingkat pod dan menghindari risiko kebocoran kredensial akibat penggunaan AK/SK secara langsung.

  1. Aktifkan fitur RRSA untuk kluster Anda di Konsol ACK. RRSA menggunakan informasi penyedia identitas yang ditentukan saat kluster dibuat.

  2. Untuk menggunakan csi-secrets-store-provider-alibabacloud, buat peran RAM dengan penyedia identitas OIDC sebagai entitas tepercaya. Parameter utama ditunjukkan dalam tabel berikut.

    Parameter

    Deskripsi

    IdP Type

    Pilih OIDC.

    Identity Provider

    Pilih ack-rrsa-<cluster_id>. Ganti <cluster_id> dengan ID kluster Anda.

    Condition

    • oidc:iss: Pertahankan nilai default.

    • oidc:aud: Pertahankan nilai default.

    • oidc:sub: Tambahkan kondisi ini.

      • Kunci: Pilih oidc:sub.

      • Operator: Pilih StringEquals.

      • Nilai: Masukkan system:serviceaccount:<namespace>:<serviceAccountName>. Ganti <namespace> dengan namespace aplikasi dan <serviceAccountName> dengan nama akun layanan. Untuk topik ini, gunakan system:serviceaccount:kube-system:csi-secrets-store-provider-alibabacloud.

        Catatan

        Kami menyarankan Anda menginstal komponen di namespace default kube-system. Jika Anda menginstal csi-secrets-store-provider-alibabacloud di namespace berbeda, ganti kube-system dengan nama namespace tersebut.

  3. Buat kebijakan kustom dan berikan izin ke peran RAM dari langkah sebelumnya.

    1. Buat kebijakan izin untuk csi-secrets-store-provider-alibabacloud agar dapat mengimpor kredensial KMS (lihat Buat kebijakan kustom). Konten kebijakan:

      {
          "Action": [
             "kms:GetSecretValue",
             "kms:Decrypt"
          ],
          "Resource": [
              "*"
          ],
          "Effect": "Allow"
      }
    2. Berikan izin ke peran RAM dari langkah sebelumnya. Lihat Kelola izin untuk peran RAM.

  4. Buat Kubernetes Secret bernama alibaba-credentials di kluster. Ganti nilai placeholder.

    1. Buat file bernama secretstore-rrsa.yaml dengan konten berikut. Ganti placeholder dengan nilai aktual Anda.

      • {rolearn}: ARN peran RAM yang telah dikodekan Base64, dibuat di langkah 2.

      • {oidcproviderarn}: ARN penyedia OIDC yang telah dikodekan Base64, dihasilkan setelah mengaktifkan RRSA.

      apiVersion: v1
      data:
        rolearn: {rolearn}
        oidcproviderarn: {oidcproviderarn}
      kind: Secret
      metadata:
        name: alibaba-credentials
        namespace: kube-system
      type: Opaque	                     
    2. Terapkan Kubernetes Secret:

      kubectl apply -f secretstore-rrsa.yaml

Melalui peran RAM worker

Berlaku untuk kluster ACK yang dikelola, kluster khusus ACK, dan kluster terdaftar ACK One.

  1. Buat kebijakan kustom (lihat Buat kebijakan kustom). Konten kebijakan:

    {
      "Action": [
        "kms:GetSecretValue",
        "kms:Decrypt"
      ],
      "Resource": [
        "*"
      ],
      "Effect": "Allow"
    }
    
  2. Sambungkan kebijakan kustom ke peran RAM worker. Lihat Berikan izin ke peran RAM worker.

Melalui AccessKey

Berlaku untuk semua kluster ACK.

  1. Buat peran RAM untuk akun Alibaba Cloud tepercaya. Lihat Buat peran RAM untuk akun Alibaba Cloud.

    Catatan

    Untuk entitas tepercaya, pilih Current Account.

  2. Buat kebijakan kustom dan berikan izin ke peran RAM dari langkah sebelumnya.

    1. Buat kebijakan izin untuk akses kredensial KMS (lihat Buat kebijakan kustom). Konten kebijakan:

      {
        "Action": [
          "kms:GetSecretValue",
          "kms:Decrypt"
        ],
        "Resource": [
          "*"
        ],
        "Effect": "Allow"
      }
      
    2. Berikan izin ke peran RAM dari langkah sebelumnya. Lihat Kelola izin untuk peran RAM.

  3. Buat kebijakan kustom untuk mengasumsikan peran sebelumnya, lalu sambungkan ke pengguna RAM.

    1. Buat kebijakan kustom untuk mengasumsikan peran (lihat Buat kebijakan kustom). Konten kebijakan:

      {
          "Statement": [
              {
                  "Action": "sts:AssumeRole",
                  "Effect": "Allow",
                  "Resource": "acs:ram:*:<account-id>:role/<role-name>" 
              }
          ],
          "Version": "1"
      }

      Dalam kebijakan kustom ini, elemen Resource menentukan ARN peran, di mana <ACCOUNT_ID> adalah ID akun Alibaba Cloud dan <ROLE_NAME> adalah nama peran RAM.

    2. Memberikan kebijakan kustom kepada pengguna RAM memungkinkan Anda menentukan peran RAM mana yang dapat diasumsikan oleh pengguna tersebut. Untuk informasi selengkapnya, lihat Kelola izin pengguna RAM.

  4. Buat Kubernetes Secret bernama alibaba-credentials di kluster. Ganti nilai placeholder.

    1. Buat file bernama alibaba-credentials.yaml dengan konten berikut. Ganti placeholder dengan nilai aktual Anda.

      • {rolearn}: ARN peran RAM yang telah dikodekan Base64 dari langkah 1.

      • {ak}: ID AccessKey pengguna RAM yang telah dikodekan Base64.

      • {sk} : Rahasia AccessKey pengguna RAM yang telah dikodekan Base64.

        apiVersion: v1
        data:
          id: {ak}
          secret: {sk}
          rolearn: {rolearn}
        kind: Secret
        metadata:
          name: alibaba-credentials
          namespace: kube-system
        type: Opaque
        
        
    2. Terapkan Kubernetes Secret:

      kubectl apply -f alibaba-credentials.yaml

Langkah 2: Instal add-on csi-secrets-store-provider-alibabacloud

  1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

  2. Di halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Applications > Helm.

  3. Di halaman Helm, klik Deploy. Cari dan pilih csi-secrets-store-provider-alibabacloud. Pertahankan pengaturan default dan klik Next.

    Konfirmasi pengaturan. Add-on diinstal di namespace kube-system default dengan rilis Helm yang dinamai sesuai add-on. Untuk menyesuaikan nama aplikasi atau namespace, konfigurasikan parameter sesuai petunjuk.

  4. Pilih Chart Version terbaru. Di bagian Parameters, konfigurasikan parameter berdasarkan metode autentikasi dari langkah 1. Lalu, klik OK.

    • Jika Anda memilih Berikan izin dengan RRSA, atur rrsa.enable ke true.image

      Parameter lainnya:

      envVarsFromSecret:
      #  ACCESS_KEY_ID:
      #    secretKeyRef: alibaba-credentials
      #    key: id
      #  SECRET_ACCESS_KEY:
      #    secretKeyRef: alibaba-credentials
      #    key: secret
        ALICLOUD_ROLE_ARN:
          secretKeyRef: alibaba-credentials
          key: rolearn
      #  ALICLOUD_ROLE_SESSION_NAME:
      #    secretKeyRef: alibaba-credentials
      #    key: rolesessionname
      #  ALICLOUD_ROLE_SESSION_EXPIRATION:
      #    secretKeyRef: alibaba-credentials
      #   key: rolesessionexpiration
        ALICLOUD_OIDC_PROVIDER_ARN:
          secretKeyRef: alibaba-credentials
          key: oidcproviderarn
    • Jika Anda memilih Berikan izin ke peran RAM worker kluster, gunakan pengaturan default.

    • Jika Anda memilih Tentukan ID AccessKey dan rahasia untuk mengasumsikan peran RAM tertentu, konfigurasikan parameter berikut:

      envVarsFromSecret:
        ACCESS_KEY_ID:
          secretKeyRef: alibaba-credentials
          key: id
        SECRET_ACCESS_KEY:
          secretKeyRef: alibaba-credentials
          key: secret
        ALICLOUD_ROLE_ARN:
          secretKeyRef: alibaba-credentials
          key: rolearn
      #  ALICLOUD_ROLE_SESSION_NAME:
      #    secretKeyRef: alibaba-credentials
      #    key: rolesessionname
      #  ALICLOUD_ROLE_SESSION_EXPIRATION:
      #    secretKeyRef: alibaba-credentials
      #    key: rolesessionexpiration
      #  ALICLOUD_OIDC_PROVIDER_ARN:
      #    secretKeyRef: alibaba-credentials
      #    key: oidcproviderarn
    • Untuk menyinkronkan rahasia ke objek Kubernetes Secret, konfigurasikan parameter berikut.

      syncSecret:
        enabled: true

      secrets-store-csi-driver.syncSecret.enabled: Menyinkronkan rahasia sebagai Kubernetes Secrets. Saat true, menerapkan Role dan RoleBinding RBAC yang diperlukan.

    • Untuk mengaktifkan rotasi rahasia otomatis, konfigurasikan parameter berikut:image

      • secrets-store-csi-driver.enableSecretRotation: Mengaktifkan rotasi rahasia otomatis. Atur ke true.

      • secrets-store-csi-driver.rotationPollInterval: Interval sinkronisasi rahasia. Contoh: 120s menyinkronkan setiap dua menit. Sesuaikan berdasarkan kebutuhan Anda.

    Setelah penerapan, Anda akan dialihkan ke halaman csi-secrets-store-provider-alibabacloud. Verifikasi bahwa semua resource telah dibuat. Di halaman Resources konsol, lihat resource Kubernetes yang dibuat oleh add-on, termasuk secrets-store-csi-driver dan csi-secrets-store-provider-alibabacloud (ServiceAccount), secretproviderclasses-admin-role, secretproviderclasses-viewer-role, dan secretproviderclasses-role (ClusterRole), secretproviderclasses-rolebinding (ClusterRoleBinding), secrets-store-csi-driver dan csi-secrets-store-provider-alibabacloud (DaemonSet), serta secrets-store.csi.k8s.io (CSIDriver).image.png

Langkah 3: Konfigurasikan sinkronisasi data

Setelah mengonfigurasi autentikasi, gunakan SecretProviderClass untuk menentukan kredensial KMS yang akan diimpor.

Templat

SecretProviderClass menggunakan format berikut.

apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: <NAME>
spec:
  provider: alibabacloud   # Nilai ini tetap 'alibabacloud'.
  parameters:
    objects: |
      - objectName: <Nama Parameter Enkripsi KMS> # Nama kredensial KMS.
        objectType: kms # Tetap 'kms' saat menyinkronkan kredensial KMS.

Field parameters mendukung pengaturan pemasangan berikut:

Parameter

Wajib

Deskripsi

objects

Ya

Menentukan rahasia yang akan dipasang sebagai array YAML. Contoh:

parameters:
  objects: |
    - objectName: "MySecret"
      objectType: "kms"

Parameter objects berisi sub-field berikut:

  • objectName: Wajib. Nama rahasia di KMS Secrets Manager. Lihat SecretName.

  • objectType: Opsional. Jenis layanan Alibaba Cloud. Nilai valid: kms, oos. Default: kms. Abaikan saat mengimpor dari KMS.

  • objectAlias: Opsional. Nama file untuk kredensial yang dipasang di Pod. Default ke objectName.

  • objectVersion: Opsional. Memetakan ke parameter VersionId di Secrets Manager. Tidak didukung untuk kredensial RDS, PolarDB, Redis/Tair, RAM, dan ECS.

  • objectVersionLabel: Opsional. Memetakan ke parameter VersionStage di Secrets Manager. Untuk kredensial RDS, PolarDB, Redis/Tair, RAM, dan ECS, hanya versi ACSPrevious dan ACSCurrent yang dapat diambil.

  • jmesPath: Opsional. Mengurai pasangan kunci-nilai tertentu dari kredensial berformat JSON. Contoh: kredensial test berisi:

    {
        "username": "testuser",
        "password": "testpassword"
    }

    Untuk memasang username dan password sebagai file terpisah, gunakan konfigurasi JMESPath berikut. Field jmesPath memerlukan dua sub-field:

    • path: Wajib. Ekspresi JMESPath untuk mengekstrak nilai target.

    • objectAlias: Wajib. Nama file untuk pasangan kunci-nilai yang dipasang.

  • kmsEndpoint: Opsional. Titik akhir permintaan KMS. Default ke titik akhir standar. Mendukung gateway bersama atau khusus, dapat dikonfigurasi per kredensial. Lihat konfigurasi kmsEndpoint.

region

Opsional

Wilayah Secrets Manager. Default ke wilayah node, yang dapat menambah overhead performa pada penerapan skala besar. Tentukan wilayah secara eksplisit.

pathTranslation

Opsional

  • Jika nama rahasia berisi pemisah file, file yang dipasang menggunakan karakter ini sebagai pemisah. Contoh: My/Path/Secret dipasang sebagai My_Path_Secret.

  • Pemisah default: underscore (_).

  • Atur ke "False" untuk mempertahankan pemisah path dalam nama file.

Contoh penggunaan

Gunakan SecretProviderClass untuk mengimpor kredensial KMS bernama test dari wilayah yang sama dengan kluster ACK yang dikelola ke dalam workload.

  1. Buat file bernama secretstore.yaml dengan konten berikut.

    apiVersion: secrets-store.csi.x-k8s.io/v1
    kind: SecretProviderClass
    metadata:
      name: test-secrets
    spec:
      provider: alibabacloud   # Nilai ini tetap alibabacloud.
      parameters:
        objects: | # objectType mendukung oos dan kms. Default adalah kms.
          - objectName: "test-hangzhou"
            objectType: "kms"
            objectAlias: "hangzhou-public"
            kmsEndpoint:  "kms.{region}.aliyuncs.com"
  2. Terapkan SecretProviderClass:

    kubectl apply -f secretstore.yaml
  3. Buat file bernama deploy.yaml dengan konten berikut.

    Penyebaran NGINX ini memasang kredensial dari SecretProviderClass sebelumnya melalui CSI inline volume ke /mnt/secrets-store (Contoh Penyebaran).

    apiVersion: apps/v1  # Untuk versi sebelum 1.8.0, gunakan apps/v1beta1.
    kind: Deployment
    metadata:
      name: nginx-deployment-basic
      labels:
        app: nginx
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          volumes:
            - name: secrets-store-inline
              csi:
                driver: secrets-store.csi.k8s.io
                readOnly: true
                volumeAttributes:
                  secretProviderClass: "test-secrets"
          containers:
            - name: nginx
              image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6 # Ganti dengan image aktual Anda.
              ports:
                - containerPort: 80
              resources:
                limits:
                  cpu: "500m"
              volumeMounts:
                - name: secrets-store-inline
                  mountPath: "/mnt/secrets-store"
                  readOnly: true
  4. Terapkan aplikasi:

    kubectl apply -f deploy.yaml
  5. Verifikasi bahwa rahasia telah dipasang dengan benar.

    Masuk ke Pod dan pastikan file yang sesuai dengan nama rahasia ada di /mnt/secrets-store dengan konten yang sesuai dengan kredensial KMS.

Sinkronkan kredensial KMS ke Kubernetes Secrets

Secrets Store CSI Driver secara otomatis menyinkronkan rahasia dari layanan eksternal (KMS atau OOS) sebagai objek Kubernetes Secret native, sehingga aplikasi dapat menggunakan rahasia eksternal tanpa perubahan kode.

Metode konfigurasi: SecretProviderClass

Anda dapat menambahkan field opsional secretObjects ke spec resource SecretProviderClass untuk mengaktifkan fitur ini.

apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: <NAME>
spec:
  provider: alibabacloud   # Nilai ini tetap alibabacloud. Jangan ubah.
  parameters:
    objects: |
      - objectName: <Nama Parameter Enkripsi KMS>  # Nama kredensial KMS.
        objectType: kms     # Tetap 'kms' saat menyinkronkan kredensial KMS.
  secretObjects:
  - secretName: <Nama Kubernetes Secret>            # Nama Kubernetes Secret.
    type: <Jenis Kubernetes Secret>                  # Jenis Kubernetes Secret.
    data:
    - objectName: <parameters.objects.objectName>   # Nama dari parameters.objects.objectName. Gunakan alias jika ditentukan.
      key: <Kunci Data Kubernetes Secret>             # Nama kunci dalam data Kubernetes Secret.

secretObjects biasanya mencakup tiga parameter berikut:

Parameter

Jenis

Deskripsi

secretName

Wajib

Nama Kubernetes Secret yang akan dibuat.

type

Wajib

Jenis Secret. Nilai valid: Opaque, kubernetes.io/basic-auth, bootstrap.kubernetes.io/tokenkubernetes.io/dockerconfigjson , kubernetes.io/dockercfg, kubernetes.io/ssh-authkubernetes.io/service-account-token , atau kubernetes.io/tls.

data

Wajib

Menentukan cara memetakan rahasia eksternal ke field data Secret. Subfield-nya meliputi:

  • objectName: Wajib. Nama rahasia (objectName) yang didefinisikan di parameters.objects. Jika alias ditentukan, gunakan alias objectAlias tersebut.

  • key: Wajib. Menentukan kunci untuk data rahasia di field data Secret.

Siklus hidup sinkronisasi

Sinkronisasi dan pembersihan objek Secret dipicu secara dinamis oleh Pod yang memasang SecretProviderClass terkait:

  • Pembuatan: Kubernetes Secret dibuat hanya ketika Pod pertama yang menggunakan SecretProviderClass dimulai dan memasang volume.

  • Pembaruan: Saat secrets-store-csi-driver.enableSecretRotation bernilai true, Kubernetes Secret diperbarui secara berkala sesuai interval secrets-store-csi-driver.rotationPollInterval. Jika tidak, tidak diperbarui.

  • Penghapusan: Saat Pod terakhir yang menggunakan SecretProviderClass dihapus, Kubernetes Secret terkait juga dihapus.

Contoh: Sinkronkan dan suntikkan kredensial

Sinkronkan kredensial KMS ke Kubernetes Secret dan suntikkan sebagai variabel lingkungan ke dalam Pod NGINX.

  1. Buat SecretProviderClass.

    Buat file bernama syncSecret.yaml dengan konten berikut.

    apiVersion: secrets-store.csi.x-k8s.io/v1
    kind: SecretProviderClass
    metadata:
      name: alibabacloud-sync-secret
    spec:
      provider: alibabacloud
      parameters:
        objects: |
          - objectName: test-kms
            objectAlias: secretalias
            objectType: kms
      secretObjects:
      - secretName: test-sync-secret  # Nama Kubernetes Secret yang dihasilkan.
        type: Opaque
        data:
        - objectName: secretalias     # Sesuai dengan objectName atau objectAlias.
          key: test                   # Mengisi kunci data Kubernetes Secret yang dihasilkan.
  2. Terapkan SecretProviderClass.

    kubectl apply -f syncSecret.yaml
  3. Buat Pod aplikasi untuk memicu sinkronisasi.

    Buat file pod-sync-secret.yaml dengan konten berikut. Pod ini memasang SecretProviderClass sebelumnya dan mencoba menggunakan secretKeyRef untuk mereferensikan Secret bernama test-sync-secret yang akan dihasilkan.

    kind: Pod
    apiVersion: v1
    metadata:
      name: pod-sync-secret
    spec:
      containers:
        - name: nginx
          image: nginx:latest
          volumeMounts:
          - name: secrets-store-inline
            mountPath: "/mnt/secrets-store"
            readOnly: true
          env:  
          - name: SECRET_TEST
            valueFrom:
              secretKeyRef:
                name: test-sync-secret
                key: test
      volumes:
        - name: secrets-store-inline
          csi:
            driver: secrets-store.csi.k8s.io
            readOnly: true
            volumeAttributes:
              secretProviderClass: "alibabacloud-sync-secret"
  4. Terapkan Pod untuk memicu sinkronisasi.

    kubectl apply -f pod-sync-secret.yaml
  5. Verifikasi hasilnya.

    1. Periksa apakah Kubernetes Secret telah dibuat.

      kubectl get secret test-sync-secret

      Output perintah menampilkan Kubernetes Secret test-sync-secret.

    2. Periksa apakah variabel lingkungan telah disuntikkan ke dalam Pod.

      kubectl exec -it $(kubectl get pods | awk '/pod-sync-secret/{print $1}' | head -1) -- env

      Output mencakup SECRET_TEST dengan nilai yang sesuai dengan rahasia KMS.

Konfigurasi kmsEndpoint

Konfigurasikan titik akhir KMS untuk gateway khusus atau bersama (lihat Perbedaan antara gateway bersama dan khusus).

Alamat titik akhir KMS

Jenis gateway

Jenis domain

Alamat titik akhir

Deskripsi

Gateway khusus

KMS privat

{kms-instance-id}.cryptoservice.kms.aliyuncs.com

  • Instans untuk kredensial KMS dan kluster harus berada di wilayah dan VPC yang sama.

  • Ganti {kms-instance-id} dengan ID instans kredensial KMS.

  • Versi instans untuk kredensial KMS harus 3.0 atau lebih baru.

Gateway bersama

VPC

kms-vpc.{region}.aliyuncs.com

  • Kredensial KMS dan kluster harus berada di wilayah yang sama.

  • Ganti {region} dengan wilayah tempat kredensial KMS berada.

  • Alamat ini menggunakan konfigurasi default. Tidak diperlukan konfigurasi tambahan.

Gateway bersama

Publik

kms.{region}.aliyuncs.com

  • Ganti {region} dengan wilayah tempat kredensial KMS berada.

  • Kluster harus memiliki akses jaringan publik.

Contoh konfigurasi titik akhir KMS

apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
  name: test
spec:
  provider: alibabacloud # Tetap 'alibabacloud'
  parameters:
    # Contoh penggunaan gateway:
    # hangzhou-public menggunakan titik akhir publik gateway bersama. Ganti {region} dengan wilayah tempat kredensial KMS berada. Metode ini memungkinkan Anda mengakses kredensial KMS dari wilayah berbeda dengan kluster.
    # hangzhou-vpc tidak menentukan field kmsEndpoint dan menggunakan titik akhir VPC default gateway bersama.
    # hangzhou-cryptoservice menggunakan gateway khusus. Ganti {kms-instance-id} dengan ID instans KMS.
    # london-public menggunakan titik akhir publik gateway bersama. Ganti {region} dengan wilayah tempat kredensial KMS berada. Metode ini memungkinkan Anda mengakses kredensial KMS dari wilayah berbeda dengan kluster.
    objects: |
      - objectName: "test-hangzhou"
        objectType: "kms"
        objectAlias: "hangzhou-public"
        kmsEndpoint:  "kms.{region}.aliyuncs.com"
      - objectName: "test-hangzhou"
        objectType: "kms"
        objectAlias: "hangzhou-vpc"
      - objectName: "test-hangzhou"
        objectType: "kms"
        objectAlias: "hangzhou-cryptoservice"
        kmsEndpoint:  "{kms-instance-id}.cryptoservice.kms.aliyuncs.com"
      - objectName: "test-london"
        objectAlias: "london-public"
        kmsEndpoint:  "kms.{region}.aliyuncs.com"

Referensi