Správa místních účtů pomocí integrace Microsoft Entra spravovaného službou AKS
Když nasadíte cluster AKS, místní účty se ve výchozím nastavení povolí. I když povolíte integraci RBAC nebo Microsoft Entra, --admin
přístup stále existuje jako možnost ne auditovatelného backdooru. V tomto článku se dozvíte, jak zakázat místní účty v existujícím clusteru, vytvořit nový cluster se zakázanými místními účty a znovu povolit místní účty v existujících clusterech.
Než začnete
- Přehled a pokyny k nastavení najdete v tématu Integrace Microsoft Entra spravované službou AKS.
Zakázání místních účtů
Místní účty můžete zakázat pomocí parametru disable-local-accounts
. Pole properties.disableLocalAccounts
bylo přidáno do rozhraní API spravovaného clusteru, aby bylo možné určit, jestli je tato funkce v clusteru povolená nebo ne.
Poznámka:
V clusterech s povolenou integrací Microsoft Entra můžou uživatelé přiřazení skupině správců Microsoft Entra určenou
aad-admin-group-object-ids
pomocí přihlašovacích údajů bez oprávnění správce získat přístup. V clusterech bez povolené integrace Microsoft Entra aproperties.disableLocalAccounts
nastavené natrue
, všechny pokusy o ověření pomocí přihlašovacích údajů uživatele nebo správce selžou.Po zakázání místních uživatelských účtů v existujícím clusteru AKS, kde se uživatelé mohli ověřit pomocí místních účtů, musí správce otočit certifikáty clusteru, aby mohl odvolat certifikáty, ke kterým měli přístup. Pokud se jedná o nový cluster, nevyžaduje se žádná akce.
Vytvoření nového clusteru bez místních účtů
Vytvořte nový cluster AKS bez místních účtů pomocí
az aks create
příkazu s příznakemdisable-local-accounts
.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
Ve výstupu ověřte, že jsou místní účty zakázané. Zkontrolujte, jestli je pole
properties.disableLocalAccounts
nastavené natrue
."properties": { ... "disableLocalAccounts": true, ... }
Spuštěním
az aks get-credentials
příkazu se ujistěte, že je cluster nastavený tak, aby zakázal místní účty.az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin
Ve výstupu by se měla zobrazit následující chybová zpráva označující, že funkce brání přístupu:
Operation failed with status: 'Bad Request'. Details: Getting static credential isn't allowed because this cluster is set to disable local accounts.
Zakázání místních účtů v existujícím clusteru
Pomocí příkazu s
az aks update
disable-local-accounts
parametrem zakažte místní účty v existujícím clusteru AKS s podporou integrace Microsoft Entra.az aks update --resource-group <resource-group> --name <cluster-name> --disable-local-accounts
Ve výstupu ověřte, že jsou místní účty zakázané. Zkontrolujte, jestli je pole
properties.disableLocalAccounts
nastavené natrue
."properties": { ... "disableLocalAccounts": true, ... }
Spuštěním
az aks get-credentials
příkazu se ujistěte, že je cluster nastavený tak, aby zakázal místní účty.az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin
Ve výstupu by se měla zobrazit následující chybová zpráva označující, že funkce brání přístupu:
Operation failed with status: 'Bad Request'. Details: Getting static credential isn't allowed because this cluster is set to disable local accounts.
Opětovné povolení místních účtů v existujícím clusteru
Znovu povolte zakázaný místní účet v existujícím clusteru pomocí
az aks update
příkazu s parametremenable-local-accounts
.az aks update --resource-group <resource-group> --name <cluster-name> --enable-local-accounts
Ve výstupu zkontrolujte, jestli jsou místní účty znovu povolené. Zkontrolujte, jestli je pole
properties.disableLocalAccounts
nastavené nafalse
."properties": { ... "disableLocalAccounts": false, ... }
Spuštěním
az aks get-credentials
příkazu se ujistěte, že je cluster nastavený tak, aby povolil místní účty.az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin
Výstup by měl zobrazit následující zprávu, že jste v clusteru úspěšně povolili místní účty:
Merged "<cluster-name>-admin" as current context in C:\Users\<username>\.kube\config
Další kroky
- Přečtěte si o integraci Azure RBAC pro autorizaci Kubernetes.
Azure Kubernetes Service