使用 AKS 受控 Microsoft Entra 整合來管理本機帳戶
當您部署 AKS 叢集時,預設會啟用本機帳戶。 即使啟用 RBAC 或 Microsoft Entra 整合,--admin
存取權仍然存在,以作為不可稽核的後門選項。 本文顯示如何停用現有叢集上的本機帳戶、建立已停用本機帳戶的新叢集,以及重新啟用現有叢集上的本機帳戶。
開始之前
- 如需概觀和設定指示,請參閱 AKS 受控 Microsoft Entra 整合。
停用本機帳戶
您可以使用 disable-local-accounts
參數來停用本機帳戶。 properties.disableLocalAccounts
欄位已新增至受控叢集 API,以指出是否在叢集上啟用此功能。
注意
在已啟用 Microsoft Entra 整合的叢集上,指派給
aad-admin-group-object-ids
所指定 Microsoft Entra 系統管理員群組的使用者仍然可以使用非系統管理員認證來取得存取權。 在未啟用 Microsoft Entra 整合且properties.disableLocalAccounts
設定為true
的叢集上,任何嘗試使用使用者或系統管理員認證進行驗證都將失敗。在使用者可能已使用本機帳戶進行驗證的現有 AKS 叢集上停用本機使用者帳戶之後,系統管理員必須輪替叢集憑證,才能撤銷其可能具有存取權的憑證。 如果這是新的叢集,則不需要採取任何動作。
建立沒有本機帳戶的新叢集
搭配使用
az aks create
命令與disable-local-accounts
旗標,以建立沒有任何本機帳戶的新 AKS 叢集。az aks create \ --resource-group <resource-group> \ --name <cluster-name> \ --enable-aad \ --aad-admin-group-object-ids <aad-group-id> \ --disable-local-accounts \ --generate-ssh-keys
在輸出中,檢查
properties.disableLocalAccounts
欄位設定為true
,確認已停用本機帳戶。"properties": { ... "disableLocalAccounts": true, ... }
執行
az aks get-credentials
命令,以確保叢集設定為停用本機帳戶。az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin
您的輸出應該顯示下列錯誤訊息,指出此功能無法存取:
Operation failed with status: 'Bad Request'. Details: Getting static credential isn't allowed because this cluster is set to disable local accounts.
停用現有叢集上的本機帳戶
搭配使用
az aks update
命令與disable-local-accounts
參數,以停用現有 Microsoft Entra 整合已啟用 AKS 叢集上的本機帳戶。az aks update --resource-group <resource-group> --name <cluster-name> --disable-local-accounts
在輸出中,檢查
properties.disableLocalAccounts
欄位設定為true
,確認已停用本機帳戶。"properties": { ... "disableLocalAccounts": true, ... }
執行
az aks get-credentials
命令,以確保叢集設定為停用本機帳戶。az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin
您的輸出應該顯示下列錯誤訊息,指出此功能無法存取:
Operation failed with status: 'Bad Request'. Details: Getting static credential isn't allowed because this cluster is set to disable local accounts.
在現有叢集上重新啟用本機帳戶
搭配使用
az aks update
命令與enable-local-accounts
參數,以在現有叢集上重新啟用已停用的本機帳戶。az aks update --resource-group <resource-group> --name <cluster-name> --enable-local-accounts
在輸出中,檢查
properties.disableLocalAccounts
欄位設定為false
,確認已重新啟用本機帳戶。"properties": { ... "disableLocalAccounts": false, ... }
執行
az aks get-credentials
命令,以確保叢集設定為啟用本機帳戶。az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin
您的輸出應該會顯示下列訊息,指出您已成功在叢集上啟用本機帳戶:
Merged "<cluster-name>-admin" as current context in C:\Users\<username>\.kube\config