All Products
Search
Document Center

Container Service for Kubernetes:Impor kredensial layanan Alibaba Cloud KMS menggunakan ack-secret-manager

Last Updated:Apr 21, 2026

ack-secret-manager menyinkronkan rahasia dari Key Management Service (KMS) ke kluster Container Service for Kubernetes (ACK) Anda sebagai Kubernetes Secrets. Aplikasi memasang Secrets ini melalui sistem file untuk mengakses kredensial KMS terbaru tanpa perlu mengelolanya secara langsung.

image

Cara kerja

Proses sinkronisasi didorong oleh dua definisi sumber daya kustom (CRD):

  • SecretStore — mendefinisikan cara ack-secret-manager melakukan autentikasi ke KMS

  • ExternalSecret — mendefinisikan rahasia KMS yang akan disinkronkan dan lokasi penyimpanannya di dalam kluster

Saat memproses ExternalSecret, ack-secret-manager membaca SecretStore yang dirujuk untuk mendapatkan kredensial autentikasi, mengambil rahasia KMS yang ditentukan, lalu membuat atau memperbarui Kubernetes Secret dengan nama dan namespace yang sama dengan ExternalSecret tersebut.

Pertimbangan keamanan

Sebelum mengaktifkan sinkronisasi rahasia, evaluasi risiko berikut:

  • Traversal sistem file: Rahasia yang dipasang melalui sistem file dapat terekspos jika penyerang mengeksploitasi kerentanan CVE untuk menjelajahi direktori kluster.

  • Eksposur log dan debug: Breakpoint debug yang salah konfigurasi atau akses log yang terlalu permisif dapat membocorkan Secrets. Hindari merujuk Secrets melalui variabel lingkungan.

  • Izin berlebihan: Terapkan prinsip hak istimewa minimal saat memberikan akses ack-secret-manager ke KMS.

Jika aplikasi Anda tidak perlu menyimpan rahasia secara lokal, berikan izin minimal kepada pod melalui RRSA dan panggil GetSecretValue langsung dari aplikasi. Pendekatan ini menghindari eksposur rahasia di sistem file pod atau Kubernetes Secrets.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

Langkah 1: Instal ack-secret-manager

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

  2. Pada halaman Clusters, klik nama kluster target. Di panel navigasi kiri, pilih Applications > Helm.

  3. Pada halaman Helm, klik Deploy. Di bagian Chart pada panel Deploy, temukan dan pilih ack-secret-manager, lalu klik Next. Pada dialog Confirm, chart akan diinstal ke namespace kube-system secara default. Klik Yes untuk melanjutkan. Untuk menggunakan namespace kustom, konfigurasikan Application Name dan Namespace pada langkah Basic Information.

  4. Pada langkah Parameters, pilih versi chart terbaru dan konfigurasikan parameter berikut sesuai kebutuhan, lalu klik OK. RRSA authentication (disarankan): Atur rrsa.enable ke true untuk mengaktifkan RAM Roles for Service Accounts (RRSA). Ini memungkinkan ack-secret-manager melakukan autentikasi menggunakan identitas akun layanan tanpa mengelola pasangan AccessKey. Sinkronisasi terjadwal: Konfigurasikan parameter berikut untuk mengaktifkan sinkronisasi rahasia periodik. Pembatasan kecepatan (untuk kluster dengan banyak ExternalSecret): Atur command.maxConcurrentKmsSecretPulls untuk membatasi jumlah maksimum permintaan rahasia KMS secara bersamaan per detik. Nilai default adalah 10. Tanpa batasan ini, jumlah besar ExternalSecret dapat memicu pembatasan kecepatan di sisi KMS atau RAM. Titik akhir KMS: Atur command.kmsEndpoint untuk menentukan titik akhir KMS global bagi semua permintaan rahasia. Ini merupakan konfigurasi global; Anda juga dapat mengonfigurasi titik akhir pada tingkat rahasia individual. Untuk detailnya, lihat Konfigurasi alamat titik akhir KMS.

    ParameterDeskripsi
    command.disablePollingApakah polling periodik dinonaktifkan. Atur ke false untuk mengaktifkan sinkronisasi periodik.
    command.pollingIntervalFrekuensi sinkronisasi. Misalnya, 120s menyinkronkan rahasia setiap 2 menit.

    image

    image

    image

    image

Setelah instalasi, Konsol ACK akan mengarahkan Anda ke halaman ack-secret-manager. Verifikasi instalasi dengan memeriksa apakah sumber daya yang diharapkan telah dibuat.

image.png

Langkah 2: Otorisasi ack-secret-manager untuk mengakses KMS

Buat SecretStore untuk mendefinisikan cara ack-secret-manager melakukan autentikasi ke KMS. Tanpa SecretStore, ack-secret-manager tidak dapat menyinkronkan rahasia dari KMS.

Pilih metode otorisasi berdasarkan jenis kluster Anda:

MetodeJenis kluster yang berlakuKeunggulan utama
RRSA (disarankan)Kluster ACK yang dikelola, kluster ACK Serverless (Kubernetes 1.22+)Tidak perlu mengelola pasangan AccessKey
Peran RAM WorkerKluster ACK yang dikelola, kluster khusus ACK, kluster terdaftarPenyiapan sederhana; tidak memerlukan kredensial tambahan
Pasangan AccessKeySemua jenis klusterBerlaku universal

Gunakan RRSA untuk memberikan izin

RRSA memungkinkan kontrol izin tingkat pod tanpa pasangan AccessKey. Metode ini berlaku untuk kluster ACK yang dikelola dan kluster ACK Serverless yang menjalankan Kubernetes 1.22 atau lebih baru.

  1. Aktifkan RRSA untuk kluster ACK di Konsol ACK. Tindakan ini membuat penyedia identitas OpenID Connect (OIDC) untuk kluster tersebut. Untuk detailnya, lihat Aktifkan RRSA.

  2. Buat peran RAM dengan IdP sebagai entitas tepercaya. Atur Principal Type ke Identity provider dan konfigurasikan parameter berikut. Untuk detailnya, lihat Buat peran RAM untuk OIDC IdP.

    ParameterNilai
    Identity provider typePilih OIDC
    Identity providerPilih ack-rrsa-<cluster_id>, dengan <cluster_id> sebagai ID kluster Anda
    Condition — oidc:issPertahankan nilai default
    Condition — oidc:audPertahankan nilai default
    Condition — oidc:subTambahkan secara manual: Key = oidc:sub, Operator = StringEquals, Value = system:serviceaccount:<namespace>:<serviceAccountName>. Contoh: system:serviceaccount:kube-system:ack-secret-manager. Jika Anda menginstal ack-secret-manager di namespace selain kube-system, gunakan namespace aktual.
  3. Buat kebijakan RAM kustom yang memberikan akses ke rahasia KMS, lalu sambungkan ke peran RAM tersebut.

    1. Buat kebijakan kustom dengan konten berikut. Untuk detailnya, lihat Buat kebijakan kustom. ``json { "Action": [ "kms:GetSecretValue", "kms:Decrypt" ], "Resource": [ "*" ], "Effect": "Allow" } ``

    2. Sambungkan kebijakan tersebut ke peran RAM. Untuk detailnya, lihat Berikan izin ke peran RAM.

  4. Buat SecretStore menggunakan RRSA.

    1. Buat file bernama secretstore-rrsa.yaml dengan konten berikut. Ganti placeholder seperti yang dijelaskan.

      PlaceholderDeskripsi
      {accountID}ID akun Alibaba Cloud yang digunakan untuk menyinkronkan rahasia KMS
      {clusterID}ID kluster ACK Anda
      {roleName}Nama peran RAM yang dibuat pada langkah 2
      apiVersion: 'alibabacloud.com/v1alpha1'
      kind: SecretStore
      metadata:
        name: scdemo-rrsa
      spec:
        KMS:
          KMSAuth:
            oidcProviderARN: "acs:ram::{accountID}:oidc-provider/ack-rrsa-{clusterID}"
            ramRoleARN: "acs:ram::{accountID}:role/{roleName}"
    2. Terapkan SecretStore: ``bash kubectl apply -f secretstore-rrsa.yaml ``

Berikan izin ke peran RAM worker

Metode ini berlaku untuk kluster ACK yang dikelola, kluster khusus ACK, dan kluster terdaftar. Metode ini tidak berlaku untuk kluster ACK Serverless karena tidak memiliki peran RAM worker.

  1. Buat kebijakan RAM kustom dengan konten berikut. Untuk detailnya, lihat Buat kebijakan kustom.

    {
      "Action": [
        "kms:GetSecretValue",
        "kms:Decrypt"
      ],
      "Resource": [
        "*"
      ],
      "Effect": "Allow"
    }
  2. Sambungkan kebijakan tersebut ke peran RAM worker kluster. Untuk detailnya, lihat Berikan izin ke peran RAM worker.

    Saat menggunakan peran RAM worker, Anda dapat menghilangkan field secretStoreRef pada ExternalSecret.

Tentukan pasangan AccessKey untuk mengasumsikan peran RAM

Metode ini berlaku untuk semua jenis kluster ACK.

  1. Buat peran RAM dengan akun Alibaba Cloud Anda sebagai entitas tepercaya. Untuk detailnya, lihat Buat peran RAM untuk akun Alibaba Cloud tepercaya.

    Saat memilih akun Alibaba Cloud tepercaya, pilih Current Account.
  2. Buat kebijakan RAM kustom yang memberikan akses ke rahasia KMS, lalu sambungkan ke peran RAM tersebut.

    1. Buat kebijakan kustom dengan konten berikut. Untuk detailnya, lihat Buat kebijakan kustom. ``json { "Action": [ "kms:GetSecretValue", "kms:Decrypt" ], "Resource": [ "*" ], "Effect": "Allow" } ``

    2. Sambungkan kebijakan tersebut ke peran RAM. Untuk detailnya, lihat Berikan izin ke peran RAM.

  3. Buat kebijakan RAM kustom yang memungkinkan pengguna RAM mengasumsikan peran RAM tersebut, lalu sambungkan ke pengguna RAM.

    1. Buat kebijakan dengan konten berikut. Ganti <account-id> dengan ID akun Alibaba Cloud pemilik peran RAM, dan ganti <role-name> dengan nama peran RAM. Untuk detail cara menemukan ARN peran, lihat Bagaimana cara melihat ARN peran RAM?

      {
          "Statement": [
              {
                  "Action": "sts:AssumeRole",
                  "Effect": "Allow",
                  "Resource": "acs:ram:*:<account-id>:role/<role-name>"
              }
          ],
          "Version": "1"
      }
    2. Sambungkan kebijakan tersebut ke pengguna RAM. Untuk detailnya, lihat Berikan izin ke pengguna RAM.

  4. Buat Kubernetes Secret untuk menyimpan pasangan AccessKey pengguna RAM.

    1. Buat file bernama ramuser.yaml dengan konten berikut. Ganti ID AccessKey dan Rahasia AccessKey dengan nilai Base64-nya.

      apiVersion: v1
      data:
        accessKey: {AccessKey ID encoded in Base64}
        accessKeySecret: {AccessKey secret encoded in Base64}
      kind: Secret
      metadata:
        name: ramuser
        namespace: kube-system
      type: Opaque
    2. Terapkan Secret: ``bash kubectl apply -f ramuser.yaml ``

  5. Buat SecretStore menggunakan pasangan AccessKey.

    1. Buat file bernama secretstore-ramrole.yaml dengan konten berikut. Ganti placeholder seperti yang dijelaskan.

      PlaceholderDeskripsi
      {accountID}ID akun Alibaba Cloud yang digunakan untuk menyinkronkan rahasia KMS
      {roleName}Nama peran RAM yang dibuat pada langkah 1
      {secretName}Nama Kubernetes Secret yang menyimpan pasangan AccessKey
      {secretNamespace}Namespace Kubernetes Secret
      {secretKey}Kunci di Kubernetes Secret yang menyimpan nilai AccessKey
      {roleSessionName}Nama sesi peran — string kustom apa pun
      apiVersion: 'alibabacloud.com/v1alpha1'
      kind: SecretStore
      metadata:
        name: scdemo-ramrole
      spec:
        KMS:
          KMSAuth:
            accessKey:
              name: {secretName}
              namespace: {secretNamespace}
              key: {secretKey}
            accessKeySecret:
              name: {secretName}
              namespace: {secretNamespace}
              key: {secretKey}
            ramRoleARN: "acs:ram::{accountID}:role/{roleName}"
            ramRoleSessionName: {roleSessionName}
    2. Terapkan SecretStore: ``bash kubectl apply -f secretstore-ramrole.yaml ``

Langkah 3: Sinkronkan rahasia KMS ke kluster

Buat ExternalSecret untuk menentukan rahasia KMS yang akan disinkronkan. ack-secret-manager membuat Kubernetes Secret dengan nama dan namespace yang sama dengan ExternalSecret tersebut.

Namespace dan nama Kubernetes Secret yang dihasilkan persis sama dengan ExternalSecret.
  1. Buat file bernama external.yaml dengan konten berikut. Ganti placeholder seperti yang dijelaskan.

    PlaceholderDeskripsi
    {KMS secret name}Wajib. Nama rahasia KMS yang akan disinkronkan.
    {Kubernetes secret key}Wajib. Nama kunci di Kubernetes Secret tempat nilai rahasia KMS disimpan.
    {KMS secret version stage}Opsional. Label tahap versi rahasia KMS, seperti ACSCurrent. Untuk menggunakan ID versi, ganti versionStage dengan versionId. Rahasia RDS, PolarDB, Redis/Tair, RAM, dan ECS hanya mendukung ACSPrevious dan ACSCurrent serta mengabaikan versionId. Untuk detailnya, lihat Elemen rahasia.
    {KMS Service endpoint address}Opsional. Titik akhir permintaan KMS. Menggantikan konfigurasi titik akhir global dan default. Untuk format titik akhir yang didukung, lihat Konfigurasi alamat titik akhir KMS.
    {secret store name}Opsional. Nama SecretStore yang dibuat pada langkah 2. Tidak diperlukan saat menggunakan peran RAM worker.
    {secret store namespace}Opsional. Namespace SecretStore. Tidak diperlukan saat menggunakan peran RAM worker.
    apiVersion: 'alibabacloud.com/v1alpha1'
    kind: ExternalSecret
    metadata:
      name: esdemo
    spec:
      provider: kms # Sinkronkan dari KMS. Dapat dihilangkan atau diatur ke kms.
      data:
        - key: {KMS secret name}
          name: {Kubernetes secret key}
          versionStage: {KMS secret version stage}
          kmsEndpoint: {KMS Service endpoint address}
          secretStoreRef: # Hilangkan saat menggunakan peran RAM worker.
            name: {secret store name}
            namespace: {secret store namespace}
  2. Terapkan ExternalSecret:

    kubectl apply -f external.yaml
  3. Jalankan perintah berikut untuk memeriksa apakah Kubernetes Secret sudah ada:

    kubectl get secret esdemo

    Jika Kubernetes Secret sudah ada, rahasia KMS telah disinkronkan dari KMS ke kluster Anda.

Konfigurasi lanjutan

Sinkronkan rahasia KMS lintas akun Alibaba Cloud

Gunakan konfigurasi ini ketika instans KMS dimiliki oleh satu akun Alibaba Cloud (Akun A) tetapi kluster ACK dimiliki oleh akun lain (Akun B). ack-secret-manager menggunakan RRSA untuk mengasumsikan peran RAM di Akun A melalui penyedia identitas OIDC di Akun B, lalu mengimpor rahasia KMS ke kluster.

Konfigurasi izin untuk Akun A

  1. Gunakan Akun A untuk membuat peran RAM dengan Akun B sebagai entitas tepercaya. Pilih Other Account dan masukkan ID Akun B. Untuk detailnya, lihat Buat peran RAM untuk akun Alibaba Cloud tepercaya.

  2. Buat kebijakan RAM kustom yang memberikan akses ke rahasia KMS:

    {
        "Action": [
           "kms:GetSecretValue",
           "kms:Decrypt"
        ],
        "Resource": [
            "*"
        ],
        "Effect": "Allow"
    }
  3. Sambungkan kebijakan tersebut ke peran RAM. Untuk detailnya, lihat Berikan izin ke peran RAM.

Konfigurasi izin untuk Akun B

  1. Aktifkan RRSA untuk kluster ACK di Konsol ACK. Saat menginstal ack-secret-manager, atur rrsa.enable ke true. Untuk detailnya, lihat Aktifkan RRSA.

  2. Buat peran RAM di Akun B dengan OIDC IdP sebagai entitas tepercaya. Atur Principal Type ke Identity provider dan konfigurasikan parameter berikut. Untuk detailnya, lihat Buat peran RAM untuk OIDC IdP.

    ParameterNilai
    Identity provider typePilih OIDC
    Identity providerPilih ack-rrsa-<cluster_id>, dengan <cluster_id> sebagai ID kluster Anda
    Condition — oidc:issPertahankan nilai default
    Condition — oidc:audPertahankan nilai default
    Condition — oidc:subTambahkan secara manual: Key = oidc:sub, Operator = StringEquals, Value = system:serviceaccount:kube-system:ack-secret-manager
  3. Buat kebijakan RAM kustom di Akun B yang memungkinkan mengasumsikan peran RAM di Akun A, lalu sambungkan ke peran RAM Akun B.

    1. Buat kebijakan dengan konten berikut. Ganti <account-id> dengan ID Akun A dan <role-name> dengan peran RAM yang dibuat di Akun A. Untuk detail cara menemukan ARN, lihat Bagaimana cara melihat ARN peran RAM?

      {
        "Statement": [
          {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Resource": "acs:ram:*:<account-id>:role/<role-name>"
          }
        ],
        "Version": "1"
      }
    2. Sambungkan kebijakan tersebut ke peran RAM yang dibuat di Akun B.

  4. Buat SecretStore untuk akses lintas akun.

    1. Buat file bernama secretstore-ramrole.yaml dengan konten berikut. Ganti placeholder seperti yang dijelaskan.

      PlaceholderDeskripsi
      {ACK-accountID}ID Akun B (akun yang memiliki kluster ACK)
      {clusterID}ID kluster ACK Anda
      {ACK-roleName}Nama peran RAM yang dibuat di Akun B
      {KMS-accountID}ID Akun A (akun yang memiliki instans KMS)
      {KMS-roleName}Nama peran RAM yang dibuat di Akun A
      {roleSessionName}Nama sesi peran — string kustom apa pun
      apiVersion: 'alibabacloud.com/v1alpha1'
      kind: SecretStore
      metadata:
        name: scdemo-cross-account
      spec:
        KMS:
          KMSAuth:
            oidcProviderARN: "acs:ram::{ACK-accountID}:oidc-provider/ack-rrsa-{clusterID}"
            ramRoleARN: "acs:ram::{ACK-accountID}:role/{ACK-roleName}"
            remoteRamRoleARN: "acs:ram::{KMS-accountID}:role/{KMS-roleName}"
            remoteRamRoleSessionName: {roleSessionName}
  5. Buat ExternalSecret untuk menentukan detail sinkronisasi. Untuk detailnya, lihat Langkah 3: Sinkronkan rahasia KMS ke kluster.

Uraikan rahasia JSON dan YAML

Ekstrak bidang tertentu dari rahasia JSON

Gunakan jmesPath untuk mengekstrak pasangan kunci-nilai tertentu dari rahasia KMS yang disimpan dalam format JSON.

Sebagai contoh, diberikan rahasia JSON berikut yang disimpan di KMS Secrets Manager:

{"name":"tom","friends":[{"name":"lily"},{"name":"mark"}]}

Buat ExternalSecret dengan jmesPath untuk mengekstrak bidang tertentu:

  • path: Ekspresi JMESPath untuk mengekstrak bidang. Wajib. Lihat spesifikasi JMESPath.

  • objectAlias: Nama kunci di Kubernetes Secret hasil.

apiVersion: 'alibabacloud.com/v1alpha1'
kind: ExternalSecret
metadata:
  name: es-json-demo
spec:
  provider: kms
  data:
    - key: {KMS secret name}
      versionStage: {KMS secret version stage}
      secretStoreRef:
        name: {secret store name}
        namespace: {secret store namespace}
      jmesPath:
        - path: "name"              # Mengekstrak: "tom"
          objectAlias: "myname"
        - path: "friends[0].name"   # Mengekstrak: "lily"
          objectAlias: "friendname"

Uraikan otomatis rahasia JSON

Jika struktur JSON tidak diketahui atau bervariasi, gunakan dataProcess.extract untuk secara otomatis mengurai semua pasangan kunci-nilai dari rahasia JSON. Gunakan dataProcess.replaceRule untuk mengganti nama kunci yang tidak sesuai dengan persyaratan penamaan kunci Kubernetes Secret.

Sebagai contoh, diberikan rahasia JSON berikut dengan nama kunci yang tidak sesuai:

{"/name-invalid":"lily","name-invalid/":[{"name":"mark"}]}
apiVersion: 'alibabacloud.com/v1alpha1'
kind: ExternalSecret
metadata:
  name: extract-secret
spec:
  provider: kms
  dataProcess:
    - extract:
        key: {KMS secret name}
        versionStage: ACSCurrent
        secretStoreRef:
          name: {secret store name}
          namespace: {secret store namespace}
      replaceRule:
        - source: "^/.*d$"   # Kunci yang dimulai dengan / dan diakhiri d -> "tom"
          target: "tom"
        - source: "^n.*/$"   # Kunci yang dimulai dengan n dan diakhiri / -> "mark"
          target: "mark"

Ekstrak bidang tertentu dari rahasia YAML

Gunakan jmesPath untuk mengekstrak pasangan kunci-nilai tertentu dari rahasia KMS yang disimpan dalam format YAML.

Sebagai contoh, diberikan rahasia YAML berikut yang disimpan di KMS Secrets Manager:

name: tom
friends:
  - name: lily
  - name: mark
apiVersion: 'alibabacloud.com/v1alpha1'
kind: ExternalSecret
metadata:
  name: es-yaml-demo
spec:
  provider: kms
  data:
    - key: {KMS secret name}
      versionStage: {KMS secret version stage}
      secretStoreRef:
        name: {secret store name}
        namespace: {secret store namespace}
      jmesPath:
        - path: "name"              # Mengekstrak: "tom"
          objectAlias: "myname"
        - path: "friends[0].name"   # Mengekstrak: "lily"
          objectAlias: "friendname"

Uraikan otomatis rahasia YAML

Jika struktur YAML tidak diketahui atau bervariasi, gunakan dataProcess.extract untuk mengurai otomatis semua pasangan kunci-nilai. Gunakan dataProcess.replaceRule untuk menangani nama kunci yang tidak sesuai.

Sebagai contoh, diberikan rahasia YAML berikut:

/name-invalid: lily
name-invalid/:
  - name: mark
apiVersion: 'alibabacloud.com/v1alpha1'
kind: ExternalSecret
metadata:
  name: extract-secret
spec:
  provider: kms
  dataProcess:
    - extract:
        key: {KMS secret name}
        versionStage: ACSCurrent
        secretStoreRef:
          name: {secret store name}
          namespace: {secret store namespace}
      replaceRule:
        - source: "^/.*d$"   # Kunci yang dimulai dengan / dan diakhiri d -> "tom"
          target: "tom"
        - source: "^n.*/$"   # Kunci yang dimulai dengan n dan diakhiri / -> "mark"
          target: "mark"

Konfigurasi alamat titik akhir KMS

ack-secret-manager menyelesaikan titik akhir KMS menggunakan urutan prioritas berikut:

JenisFieldPrioritasDeskripsi
Tingkat rahasiaExternalSecret.spec.data.kmsEndpointTertinggiBerlaku untuk rahasia tertentu; menggantikan konfigurasi global dan default.
Globalcommand.kmsEndpoint (parameter startup)SedangBerlaku untuk semua permintaan KMS yang tidak memiliki titik akhir tingkat rahasia.
DefaultTidak adaTerendahMenggunakan kms-vpc.{region}.aliyuncs.com, dengan {region} sebagai wilayah rahasia KMS.

Contoh berikut menunjukkan bagaimana titik akhir tingkat rahasia dan global saling berinteraksi:

apiVersion: "alibabacloud.com/v1alpha1"
kind: ExternalSecret
metadata:
  name: esdemo
spec:
  provider: kms
  data:
    - key: test-hangzhou
      name: hangzhou-vpc
      versionId: v1
      # Tidak ada kmsEndpoint: menggunakan konfigurasi global jika diatur, jika tidak menggunakan kms-vpc.{region}.aliyuncs.com
    - key: test-hangzhou
      name: hangzhou-public
      versionId: v1
      kmsEndpoint: kms.cn-hangzhou.aliyuncs.com  # Menggantikan global dan default

Format titik akhir yang didukung:

Jenis gatewayJenis domainFormat titik akhirPersyaratan
Gateway khususDomain privat KMS{kms-instance-id}.cryptoservice.kms.aliyuncs.comInstans rahasia KMS dan kluster berada di wilayah dan VPC yang sama. Versi instans KMS 3.0 atau lebih baru.
Gateway bersamaDomain VPCkms-vpc.{region}.aliyuncs.comRahasia KMS dan kluster berada di wilayah yang sama. Ini adalah titik akhir default.
Gateway bersamaDomain publikkms.{region}.aliyuncs.comKluster dapat mengakses internet publik.

Untuk informasi lebih lanjut, lihat Perbedaan antara gateway bersama dan khusus untuk mengakses KMS.

Langkah selanjutnya

Untuk melindungi Kubernetes Secrets yang disinkronkan dari KMS dan disimpan di etcd, aktifkan enkripsi Secret. Untuk detailnya, lihat Gunakan KMS untuk mengenkripsi Kubernetes Secrets.