全部產品
Search
文件中心

Key Management Service:使用KMS一鍵加密Kubernetes叢集Secret

更新時間:Sep 16, 2026

阿里雲Container ServiceKubernetes版(簡稱ACK)通過您指定的KMS主要金鑰,對Kubernetes叢集Secret進行落盤加密,您只需一鍵配置即可實現對Kubernetes叢集的安全保護。

使用情境

Kubernetes擁有強大的營運編排管理能力,依賴大量的跨產品、跨服務、跨模組調用所必須使用的機密資訊,例如:密碼、認證、憑據、存取金鑰等。Kubernetes叢集使用Secret模型儲存和管理叢集系統和叢集中業務應用的敏感資訊,並且通過內部的etcd叢集進行儲存,同時在etcd叢集的副本中進行分布式複製儲存。

例如:部署一個沒有任何業務負載的Kubernetes叢集,初始情況下有大約50個Secret。其中任何一個Secret的泄露,都可能對Kubernetes叢集、業務系統,甚至是企業的運行產生不可估量的損失。因此您在享受Kubernetes為您帶來的便利時,也需要對Kubernetes叢集中託管的大量憑據進行必要的保護,防止來自各方面的安全威脅。

加密機制

在ACK Pro託管叢集中,您可以使用在KMS中建立的使用者主要金鑰(CMK)加密Kubernetes Secret,加密過程基於Kubernetes提供的 KMS Encryption Provider機制,使用信封加密的方式對儲存在etcd中的Kubernetes Secret密鑰進行自動加密和解密。關於信封加密的詳情,請參見使用KMS信封加密在本地加密和解密資料。Kubernetes Secret祕密金鑰加密和解密的過程如下:

  • 當一個業務密鑰需要通過Kubernetes Secret API儲存時,資料會首先被API Server產生的一個隨機的資料祕密金鑰加密,然後該資料密鑰會被指定的KMS使用者主要金鑰(CMK)加密為一個密文金鑰儲存區在etcd中。

  • 解密Kubernetes Secret密鑰時,系統會首先調用KMS的解密API進行密文密鑰的解密,然後使用解密後的清除金鑰對Secret資料解密並最終返回給使用者。

前提條件

  • 您需要為使用Kubernetes的帳號授予AliyunCSManagedSecurityRole角色的許可權。如果您使用的帳號未授權,在建立Pro叢集或修改已有Pro叢集過程中開啟Secret落盤加密時,系統會提示您進行安全系統角色授權。

  • 如果您使用RAM使用者登入,請確保RAM使用者具備AliyunKMSCryptoAdminAccess許可權。具體操作,請參見管理RAM使用者的許可權。

  • 請確保您已在KMS控制台建立使用者主要金鑰(CMK)。具體操作,請參見建立密鑰。

    說明

    僅支援Aliyun_AES_256類型的使用者主要金鑰(CMK)。

在新建立的ACK Pro叢集中開啟Secret落盤加密

  1. 登入Container Service管理主控台。

  2. 在叢集列表頁面,單擊頁面右上方的叢集模板。

  3. 在選擇叢集模板,選擇Pro 託管叢集,然後單擊建立。

  4. 在ACK 託管叢集頁簽找到Secret 落盤加密,選中選擇 KMS 密鑰,在下拉式清單中選擇KMS密鑰ID。

  5. 根據控制台提示完成其他參數設定。

    具體操作,請參見建立ACK Pro版叢集。

在已建立的ACK Pro叢集中開啟Secret落盤加密

  1. 在叢集列表頁面,單擊目標Pro叢集名稱。

  2. 單擊基本資料頁簽,在基本資料地區中開啟Secret 落盤加密開關。

  3. 在Secret 落盤加密對話方塊,在下拉式清單中選擇KMS密鑰ID,然後單擊確定。

    當叢集狀態由更新中變為運行中時,說明該叢集Secret落盤加密的特性已變更完成。

執行結果

如果在Action Trail控制台的事件查詢頁面擷取到使用AliyunCSManagedSecurityRole系統角色的加密和解密操作事件,則說明該叢集已成功開啟Secret落盤加密特性,此時您可以通過Action Trail控制台查看對KMS的所有調用記錄。