全部產品
Search
文件中心

Key Management Service:Container ServiceKubernetes版ACK整合KMS憑據

更新時間:Jul 06, 2024

Container Service安裝憑據Kubernetes外掛程式(ack-secret-manager)後,您可以在外掛程式中配置KMS憑據名稱,外掛程式將定期從KMS中讀取最新的憑據值,緩衝在Kubernetes叢集中。從而可以按照使用Kubernetes原生Secret的方式使用託管在KMS中的動態Secret,避免敏感性資料在應用開發構建流程中的傳播和泄露。

操作步驟

  1. 安裝憑據Kubernetes外掛程式。

    • Container ServiceKubernetes版ACK(Alibaba Cloud Container Service for Kubernetes)

      1. 登入Container Service管理主控台,在應用市場中定位到ack-secret-manager

      2. ack-secret-manager頁面右上方,單擊一鍵部署

      3. 在彈出面板中,選擇叢集命名空間發布名稱可保持預設值,然後單擊下一步

      4. 參數配置頁面,設定相應參數,然後單擊確定

        參數

        說明

        樣本值

        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頁面,檢查安裝結果。若下圖中所有資源建立成功,則表明組件安裝成功。image.png

    • Container Service自建Kubernetes叢集

      訪問ack-secret-manager安裝。

  2. 在KMS中建立憑據。

    支援所有憑據類型。具體操作,請參見管理及使用通用憑據管理及使用RAM憑據RDS憑據管理及使用ECS憑據

  3. 在憑據Kubernetes外掛程式中設定訪問KMS的許可權。

    • 通過Shared KMS訪問

      適用於KMS執行個體中的憑據,或非KMS執行個體中的憑據(即舊版本KMS中,無需購買KMS執行個體也能建立的憑據)。

      1. 在RAM建立可用於訪問KMS憑據的自訂權限原則。策略內容樣本如下,您也可以根據需要按需設定,具體請參考Key Management Service自訂權限原則參考

        {
            "Action": [
               "kms:GetSecretValue",
               "kms:Decrypt"
            ],
            "Resource": [
                "*"
            ],
            "Effect": "Allow"
        }
      2. 為Container Service工作負載或Pod授權。

        方式

        在叢集對應的 WorkerRole中添加許可權

        1. 登入Container Service管理主控台,在左側導覽列選擇叢集

        2. 定位到目的地組群,單擊操作列的詳情

        3. 在叢集資源頁簽,單擊Worker RAM角色中對應的命名為KubernetesWorkerRole-******的角色名稱,會自動跳轉到RAM角色對應的控制台頁面,綁定上面建立的自訂策略。

        通過RRSA實現Pod維度授權

        1. 啟用RRSA功能

        2. 使用RRSA功能

          為指定的serviceaccount建立對應的RAM角色,為RAM角色設定信任策略,並為RAM角色授權綁定上面建立的自訂策略

    • 通過KMS執行個體Endpoint訪問({kmsInstanceId}.cryptoservice.kms.aliyuncs.com)

      僅適用於KMS執行個體中的憑據。如果您使用KMS執行個體管理認證,並且希望訪問KMS的網路限制在您的VPC內,推薦使用本方式。具體操作,請參見建立應用存取點

    • 說明

      通過KMS執行個體Endpoint訪問前,請將Container Service工作負載或Pod的VPC綁定到KMS執行個體。具體操作,請參見同地區多VPC訪問KMS執行個體

  4. 在憑據Kubernetes外掛程式中設定protocol(訪問KMS的協議)、endpoint(存取點)、client key(身份認證方式)、SecretName(憑據名稱)等資訊。詳細內容,請參見 ack-secret-manager

後續操作

為了進一步保護從KMS讀取後緩衝在Kubernetes叢集中的Secret,您可以對Kubernetes叢集Secret進行一鍵加密。具體操作,請參見使用KMS一鍵加密Kubernetes叢集Secret

說明

一鍵加密也可以加密保護Kubernetes叢集中的其他靜態Secret,這些靜態Secret通常為系統Secret。

相關文檔