透過主機型加密,儲存在 AKS 代理程式節點 VM 的 VM 主機上的資料會進行待用加密,並以加密方式流向儲存體服務。 這表示暫存磁碟將可使用平台代控金鑰進行待用加密。 依磁碟上設定的加密類型而定,您可以使用平台代控金鑰或客戶自控金鑰,對作業系統和資料磁碟的快取進行待用加密。
根據預設,使用 AKS 時,作業系統和資料磁碟會使用伺服器端加密搭配平台代控金鑰。 這些磁碟的快取會使用平台代控金鑰進行待用加密。 您可以按照「對 Azure Kubernetes Service 中的 Azure 磁碟使用『攜帶您自己的金鑰 (BYOK)』」所述來指定自己的受控金鑰。 這些磁碟的快取也會使用您指定的金鑰來進行加密。
主機型加密與 Azure 儲存體所使用的伺服器端加密 (SSE) 不同。 Azure 受控磁碟會在儲存資料時,使用 Azure 儲存體自動加密待用資料。 在資料流經 Azure 儲存體之前,主機型加密會使用 VM 的主機來處理加密。
開始之前
在您開始之前,請先檢閱下列先決條件和限制。
必要條件
- 請確定您已安裝 CLI 延伸模組 v2.23 或更高版。
限制
- 此功能只能在建立叢集或節點集區時設定。
- 此功能只能在支援 Azure 受控磁碟伺服器端加密的 Azure 區域中啟用,且僅適用於特定的支援 VM 大小。
- 此功能需要以虛擬機器擴展集為基礎的 AKS 叢集和節點集區,作為「VM 集類型」。
為 AKS 叢集啟用主機加密
新增具有主機型加密的節點集區之前,請確定您的訂用帳戶已啟用 EncryptionAtHost 功能:
# Register the EncryptionAtHost feature
az feature register --namespace Microsoft.Compute --name EncryptionAtHost
# Wait for registration to complete (this may take several minutes)
az feature show --namespace Microsoft.Compute --name EncryptionAtHost --query "properties.state"
# Refresh the provider registration
az provider register --namespace Microsoft.Compute
在新叢集上使用主機型加密
建立新的叢集,並將叢集代理程式節點設定為使用具有
az aks create旗標的--enable-encryption-at-host命令來使用主機型加密。az aks create \ --name myAKSCluster \ --resource-group myResourceGroup \ --node-vm-size Standard_DS2_v2 \ --location westus2 \ --enable-encryption-at-host \ --generate-ssh-keys
在現有叢集上使用主機型加密
使用具有
az aks nodepool add旗標的--enable-encryption-at-host命令將新的節點集區新增至叢集,藉此在現有叢集上使用主機型加密。az aks nodepool add --name hostencrypt --cluster-name $MY_AKS_CLUSTER --resource-group $MY_RESOURCE_GROUP -s Standard_DS2_v2 --enable-encryption-at-host結果:
{ "agentPoolProfile": { "enableEncryptionAtHost": true, "name": "hostencrypt", "nodeCount": 1, "osDiskSizeGB": 30, "vmSize": "Standard_DS2_v2" }, ... }
下一步
- 檢閱 AKS 叢集安全性的最佳做法。
- 深入瞭解 主機型加密。