Container Service安裝憑據Kubernetes外掛程式(ack-secret-manager)後,您可以在外掛程式中配置KMS憑據名稱,外掛程式將定期從KMS中讀取最新的憑據值,緩衝在Kubernetes叢集中。從而可以按照使用Kubernetes原生Secret的方式使用託管在KMS中的動態Secret,避免敏感性資料在應用開發構建流程中的傳播和泄露。
操作步驟
安裝憑據Kubernetes外掛程式。
Container ServiceKubernetes版ACK(Alibaba Cloud Container Service for Kubernetes)
登入Container Service管理主控台,在應用市場中定位到ack-secret-manager。
在ack-secret-manager頁面右上方,單擊一鍵部署。
在彈出面板中,選擇叢集、命名空間和發布名稱可保持預設值,然後單擊下一步。
在參數配置頁面,設定相應參數,然後單擊確定。
參數
說明
樣本值
command.backend
對接的外部金鑰管理系統後端。當前僅支援阿里雲KMS,配置為alicloud-kms。
alicloud-kms
command.region
從指定地區擷取secret憑據。
cn-hangzhou
command.disablePolling
關閉從KMS後端自動同步拉取最新的憑據內容。預設false。
false
command.pollingInterval
從KMS後端同步存量secret執行個體的間隔時間。
120s
建立成功後,會自動跳轉到目的地組群的ack-secret-manager頁面,檢查安裝結果。若下圖中所有資源建立成功,則表明組件安裝成功。

Container Service自建Kubernetes叢集
訪問ack-secret-manager安裝。
在KMS中建立憑據。
支援所有憑據類型。具體操作,請參見管理及使用通用憑據、管理及使用RAM憑據、RDS憑據或管理及使用ECS憑據。
在憑據Kubernetes外掛程式中設定訪問KMS的許可權。
通過Shared KMS訪問
適用於KMS執行個體中的憑據,或非KMS執行個體中的憑據(即舊版本KMS中,無需購買KMS執行個體也能建立的憑據)。
在RAM建立可用於訪問KMS憑據的自訂權限原則。策略內容樣本如下,您也可以根據需要按需設定,具體請參考Key Management Service自訂權限原則參考。
{ "Action": [ "kms:GetSecretValue", "kms:Decrypt" ], "Resource": [ "*" ], "Effect": "Allow" }為Container Service工作負載或Pod授權。
方式
在叢集對應的 WorkerRole中添加許可權
登入Container Service管理主控台,在左側導覽列選擇叢集。
定位到目的地組群,單擊操作列的詳情。
在叢集資源頁簽,單擊Worker RAM角色中對應的命名為KubernetesWorkerRole-******的角色名稱,會自動跳轉到RAM角色對應的控制台頁面,綁定上面建立的自訂策略。
通過RRSA實現Pod維度授權
通過KMS執行個體Endpoint訪問({kmsInstanceId}.cryptoservice.kms.aliyuncs.com)
僅適用於KMS執行個體中的憑據。如果您使用KMS執行個體管理認證,並且希望訪問KMS的網路限制在您的VPC內,推薦使用本方式。具體操作,請參見建立應用存取點。
說明通過KMS執行個體Endpoint訪問前,請將Container Service工作負載或Pod的VPC綁定到KMS執行個體。具體操作,請參見同地區多VPC訪問KMS執行個體。
在憑據Kubernetes外掛程式中設定protocol(訪問KMS的協議)、endpoint(存取點)、client key(身份認證方式)、SecretName(憑據名稱)等資訊。詳細內容,請參見 ack-secret-manager。
後續操作
為了進一步保護從KMS讀取後緩衝在Kubernetes叢集中的Secret,您可以對Kubernetes叢集Secret進行一鍵加密。具體操作,請參見使用KMS一鍵加密Kubernetes叢集Secret。
一鍵加密也可以加密保護Kubernetes叢集中的其他靜態Secret,這些靜態Secret通常為系統Secret。