日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

使用阿里云KMS進行Secret的落盤加密

ACK Pro集群中,您可以使用在阿里云密鑰管理服務KMS(Key Management Service)中創建的密鑰加密Kubernetes Secret密鑰。本文主要介紹如何使用KMS管理的密鑰對ACK Pro集群中的Kubernetes Secret密鑰數據進行落盤加密。

索引

前提條件

條件項

說明

KMS密鑰

已在密鑰管理服務控制臺創建KMS密鑰,且密鑰地域與目標ACK Pro集群所在地域保持統一。

ACK Pro集群支持默認密鑰、軟件密鑰和硬件密鑰,您可以按業務需求選擇。關于KMS密鑰管理的更多信息和相關操作,請參見密鑰管理快速入門;關于KMS服務計費的詳細說明,請參見產品計費

重要

開啟落盤加密功能時,請勿使用KMS的控制臺或OpenAPI禁用或刪除集群Secret加解密選擇的密鑰,否則會導致集群API Server不可用,繼而無法正常獲取Secret和ServiceAccount等對象,影響業務應用的正常運行。

授權

根據您使用賬號類型的不同,確認已完成如下授權操作。

  • 阿里云賬號:已授權容器服務賬號使用AliyunCSManagedSecurityRole系統角色的權限。如果您使用的賬號未授權,開啟Secret落盤加密時,ACK控制臺會提示您進行KMS安全系統角色授權。您可以根據控制臺指引完成授權,也可以訪問云資源訪問授權頁面完成授權。

  • RAM用戶或RAM角色:

Secret加密介紹

在Kubernetes集群中,通常使用Secret密鑰模型存儲和管理業務應用涉及的敏感信息,例如應用密碼、TLS證書、Docker鏡像下載憑據等敏感信息。Kubernetes會將所有的Secret密鑰對象數據存儲在集群對應的etcd中。關于密鑰的更多信息,請參見Secrets

ACK Pro集群中,您可以使用在KMS中創建的密鑰加密Kubernetes Secret密鑰。KMS加密過程基于Kubernetes提供的KMS Encryption Provider機制,使用信封加密的方式對存儲在etcd中的Kubernetes Secret密鑰進行自動加密和解密。Kubernetes Secret密鑰加密和解密的過程如下。

  1. 當一個業務密鑰需要通過Kubernetes Secret API存儲時,數據會首先被API Server生成的一個隨機的數據加密密鑰加密,然后該數據密鑰會被指定的KMS密鑰加密為一個密文密鑰存儲在etcd中。

  2. 解密Kubernetes Secret密鑰時,系統會首先調用KMS的解密OpenAPI進行密文密鑰的解密,然后使用解密后的明文密鑰對Secret數據解密,并最終返回給您。

更多信息,請參見KMS Encryption Provider機制使用KMS密鑰進行信封加密

為ACK Pro集群開啟Secret落盤加密

為新建的ACK Pro版集群開啟Secret落盤加密

  1. 登錄容器服務管理控制臺,在左側導航欄單擊集群

  2. 集群列表頁面,單擊頁面右上角的集群模板,然后在選擇集群模板頁面,找到Pro 托管集群并單擊創建

  3. ACK托管版頁簽最下方,展開顯示高級選項,找到Secret落盤加密,勾選選擇KMS密鑰,然后在下拉框中選擇KMS密鑰ID。按需配置其他配置項后,單擊創建集群。創建ACK Pro集群的其他配置,請參見創建ACK Pro版集群Secret加密

登錄操作審計控制臺,在左側導航欄單擊事件查詢,如果事件查詢頁面存在使用aliyuncsmanagedsecurityrole系統角色的加密和解密事件日志,表明該集群后臺已成功開啟Secret落盤加密特性。

當您不需要使用Secret落盤加密功能時,可在集群列表單擊集群名稱,在集群信息頁面單擊基本信息頁簽,然后在基本信息區域關閉Secret落盤加密開關。

為已創建的ACK Pro版集群開啟Secret落盤加密

  1. 登錄容器服務管理控制臺,在左側導航欄單擊集群

  2. 集群列表頁面,單擊目標集群名稱,然后在集群詳情頁面單擊基本信息頁簽,在基本信息區域打開Secret落盤加密開關。

    首次開啟時,請根據提示單擊前往RAM進行授權進入云資源訪問授權頁面,然后單擊同意授權完成授權。

    說明
    • 如需開啟落盤加密功能,請確保當前登錄的RAM用戶或RAM角色對該集群有RBAC的管理員或運維人員權限。具體操作,請參考配置RAM用戶或RAM角色RBAC權限

    • 如需授權aliyuncsmanagedsecurityrole角色,請確保已使用阿里云賬號(主賬號)或擁有RAM管理權限的RAM用戶或RAM角色登錄。

  3. 在彈出的Secret落盤加密對話框,選擇已有的KMS密鑰,然后單擊確定

    如果您未創建KMS密鑰,請單擊創建密鑰,前往密鑰管理服務控制臺創建密鑰。具體操作,請參見創建密鑰

    當集群狀態由更新中變為運行中時,表明該集群的Secret落盤加密特性已開啟。

    當您不需要使用Secret落盤加密功能時,可在基本信息區域關閉Secret落盤加密開關。

使用自動輪轉密鑰開啟Secret落盤加密

您可以使用KMS自動輪轉密鑰功能進行Secret的落盤加密。當密鑰發生自動輪轉時,存量的Secret仍舊使用輪轉前的密鑰版本進行加密,新增的Secret將使用輪轉后的新密鑰版本進行加密。關于自動輪轉密鑰具體操作,請參見密鑰輪轉

如需確保存量的Secret也使用新的密鑰版本進行加密,請在密鑰發生自動輪轉后,執行以下命令強制使用新的密鑰版本重新加密所有的存量Secret。

kubectl get secrets --all-namespaces -o json | kubectl annotate --overwrite -f - encryption-key-rotation-time="$(date -u +'%Y-%m-%dT%H:%M:%S%z')"

常見問題

開啟Secret落盤加密后,通過kubectl命令獲取到的Secret是加密后的密文嗎?

不是。Secret落盤加密功能所加密的是etcd中存儲的原始數據,即開啟Secret落盤加密后,etcd中存儲的Secret數據將是加密后的密文數據。但客戶端通過API Server提供的Secret API獲取到的Secret數據將仍舊是原始的明文數據。

如何禁止RAM用戶或RAM角色在已創建的ACK Pro集群中開啟或關閉Secret落盤加密功能

您可以通過為RAM用戶或RAM角色授予如下拒絕操作的RAM權限策略,禁止該RAM用戶或RAM角色在已創建的ACK Pro集群中開啟或關閉Secret落盤加密功能。具體操作,請參見自定義RAM授權策略

  {
      "Action": [
          "cs:UpdateKMSEncryption"
      ],
      "Effect": "Deny",
      "Resource": [
          "*"
      ]
  }